Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Yes. An Intel Core Ultra mini PC can run Ubuntu Server and Docker as a capable home server, but “Core Ultra” identifies the processor family, not one standardized computer. The exact mini PC determines its RAM ceiling, M.2 slots, Ethernet hardware, cooling, firmware and Linux support. The reliable approach is to identify the exact SKU first, install Ubuntu Server on a compatible NVMe drive, harden the host, give it a stable LAN address, and run services in carefully configured containers.
This guide covers the complete model-agnostic setup, including hardware checks, installation, networking, remote administration, Docker Compose, upgrades and recovery.
What a Core Ultra mini PC can do as a server
Intel’s reference implementation demonstrates Ubuntu and Docker running on Core Ultra processors. That establishes platform compatibility, not identical capabilities across every retail mini PC. One enclosure may have socketed memory and two M.2 Key-M slots, while another may solder the RAM, provide one storage slot or use a different Ethernet controller. Treat every port, slot and performance claim as model-specific.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →For a home server, sustained behavior matters more than a short benchmark result. A machine that stays cool, maintains a wired network link and can be serviced is usually a better 24/7 server than a faster system that throttles, loses connectivity or cannot be opened for a drive replacement.
#1 Best Overall
- MEET THE NEXT GEN: Consider this a cheat code; Our Samsung 990 PRO Gen4 SSD helps you reach near max performance with lightning-fast speeds; Whether you’re a hardcore gamer or a tech guru, you’ll get power efficiency built for the final boss
- REACH THE NEXT LEVEL: Gen4 steps up with faster transfer speeds and high-performance bandwidth; With a more than 55% improvement in random performance compared to 980 PRO, it’s here for heavy computing and faster loading
- THE FASTEST SSD FROM THE WORLD'S FLASH MEMORY BRAND: The speed you need for any occasion; With read and write speeds up to 7450/6900 MB/s you’ll reach near max performance of PCIe 4.0 powering through for any use
- PLAY WITHOUT LIMITS: Give yourself some space with storage capacities from 1TB to 4TB; Sync all your saves and reign supreme in gaming, video editing, data analysis and more
- IT’S A POWER MOVE: Save the power for your performance; Get power efficiency all while experiencing up to 50% improved performance per watt over the 980 PRO; It makes every move more effective with less consumption
Typical workloads
- A 16 GB system is suitable for a few lightweight containers and basic file or network services.
- Choose 32 GB when you expect several services, databases, build jobs or a virtual machine.
- Ubuntu Server can host Docker containers, but each application still has its own CPU, memory, storage and Linux compatibility requirements.
- Use wired Ethernet for predictable throughput. Wi-Fi is useful for initial setup or a backup path, not as the preferred link for storage-heavy or continuously accessed services.
Check the exact mini PC before buying or opening it
Find the complete model and SKU, not just “Core Ultra.” Read the manufacturer’s service manual and firmware notes before purchasing memory or storage. Record the board’s connector layout, supported drive lengths, cooling arrangement and network controllers.
Hardware checklist
| Area | What to verify | Practical server choice |
|---|---|---|
| Memory | Whether modules are socketed or soldered, the memory type, number of slots and OEM maximum | 16 GB for a few containers; 32 GB for several services, databases or a virtual machine |
| Storage | M.2 key, 2280 support, PCIe generation, single- or double-sided clearance and drive cooling | M.2 NVMe SSD 2280 for a mini PC server, provided the exact machine accepts that key and length |
| Networking | Ethernet speed, controller support in Linux, number of ports and whether ports share bandwidth | Onboard wired Ethernet; a USB-C 2.5GbE adapter only after confirming Linux support for its chipset |
| Cooling | Fan intake and exhaust, heatsink contact, dust access and noise at sustained load | Clear vents and a location that allows continuous airflow |
| Power | Supplied adapter rating and whether the system resumes after an outage | Use the supplied adapter and consider a small UPS sized for the mini PC and network equipment |
| Firmware | UEFI update method, release notes and recovery procedure | Apply the OEM’s documented firmware process before relying on the server |
Storage fit is more than capacity
An M.2 NVMe SSD must match the slot’s key and physical length. “2280” describes a drive approximately 22 mm wide and 80 mm long; it does not guarantee that every M.2 slot accepts the same interface. Check whether the slot is PCIe NVMe rather than SATA-only, which PCIe generation it supports, and whether a double-sided drive has room under the cover. Confirm that the thermal pad or heatsink makes contact without pressing on components.
Use the fastest drive the enclosure can cool reliably rather than selecting a high-peak model that overheats under database or container workloads. Keep a second copy of important data; an SSD is not a backup.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesMemory and upgrade limits
Container memory use is cumulative. The operating system, Docker engine, databases, caches and applications all compete for the installed RAM. Sixteen gigabytes gives useful headroom for a small stack, while 32 GB reduces pressure when several services run together or a virtual machine is added. If RAM is soldered, buy the capacity you will need for the server’s expected life. If it is socketed, verify the module type and the OEM’s maximum rather than assuming a laptop-memory upgrade will work.
Network and power planning
Some Core Ultra mini-PC designs expose two 2.5-Gigabit Ethernet ports and two M.2 Key-M slots, but those are examples from a representative catalog, not universal specifications. A second Ethernet port can be useful for a separate network or redundancy, yet it does not automatically increase Internet speed or storage performance.
If the built-in port is unsuitable, a USB-C 2.5GbE adapter is a possible fallback. Identify its chipset and verify that the Linux kernel and Ubuntu release you plan to use support it before purchase. USB bus sharing, adapter heat and cable quality can affect sustained throughput.
Rank #2
- HUGE SPEED BOOST: Get random read/write speeds that are 40%/55% faster than 980 PRO; Experience up to 1400K/1550K IOPS, while sequential read/write speeds up to 7,450/6,900 MB/s reach near the max performance of PCIe 4.0*
- BREAKTHROUGH POWER EFFICIENCY: Use less power and get more performance; Enjoy up to 50% improved performance per watt over 980 PRO, plus optimal power efficiency with max PCIe 4.0 performance**
- SMART THERMAL CONTROL: Samsung's own nickel-coated controller delivers effective thermal control; With its slim size, 990 PRO is a perfect fit for desktops and laptops that meet the PCI-SIG D8 standard***
- THE CHAMPION MAKER: Up to 65% improvement in random performance enables faster loads for an ultimate gaming experience on PS5 and DirectStorage PC games****
- SAMSUNG MAGICIAN SOFTWARE: Get the most out of your SSD with Samsung Magician's advanced yet intuitive optimization tools; Monitor drive health, protect valuable data, and receive important updates for your 990 PRO
Keep the vents unobstructed, use the supplied power adapter and plan for unattended operation. A small UPS can bridge brief outages, but size it for both the mini PC and the network equipment that must remain powered for the server to be reachable.
Prepare the machine and firmware
- Record the exact SKU. Photograph the label and download the service manual, firmware instructions and driver information for that model.
- Check upgrade access. Confirm where the SO-DIMM slots, M.2 sockets, Wi-Fi card and fan are located, and whether opening the case affects the warranty.
- Update firmware using the OEM procedure. Use the documented UEFI update method, keep the system on reliable power and do not interrupt the process. Read the release notes for Linux, storage or power-management fixes.
- Inspect UEFI settings. Use UEFI boot mode and confirm that the NVMe drive is detected. If you later add a virtual machine, check the firmware’s virtualization options and enable them only when required.
- Decide the network connection. Connect Ethernet during installation if possible. This gives Ubuntu immediate access to updates and avoids debugging Wi-Fi before the base system is working.
Install Ubuntu Server on the NVMe drive
Canonical describes Ubuntu Server as “a version of the Ubuntu operating system designed and engineered as a backbone for the internet.” Download the current Ubuntu Server amd64 installer from Canonical, write it to a USB drive with a trusted image-writing tool, and keep the installer media available for recovery.
Installation sequence
- Boot the installer USB. Use the mini PC’s one-time boot menu or set the USB device first in UEFI. Select the amd64 Ubuntu Server installer.
- Choose language, keyboard and network. Confirm the wired interface has an address. If you use a DHCP reservation later, leave the installer on automatic addressing for now.
- Select the NVMe target. For a dedicated server, guided use of the entire NVMe drive is the simplest layout. Double-check the disk name and capacity before confirming because installation erases the selected target.
- Create the first administrator. Use a unique account name and a long password. This account will receive administrative rights through sudo; do not plan to administer the system as root.
- Install OpenSSH when offered. If the machine will run headless, select the SSH server option. You can also install it later with
sudo apt install openssh-server. - Finish and reboot. Remove the USB when prompted, then confirm that the system boots from the NVMe drive and that you can log in locally.
Use Canonical’s Ubuntu Server installation documentation for release-specific screens and supported options. Installer labels can change between Ubuntu releases, so follow the screen that corresponds to the release you actually downloaded.
Harden the Ubuntu host before deploying services
Do this while you still have local console access. Keep one tested administrative session open while changing SSH settings so a typo does not lock you out.
Apply updates and create a non-root administrator
sudo apt update
sudo apt full-upgrade -y
sudo adduser serveradmin
sudo usermod -aG sudo serveradmin
Replace serveradmin with the account name you chose. Log out and back in once to confirm that the new account can run a harmless command with sudo.
Use SSH keys and test them before disabling passwords
On your administration computer, create an Ed25519 key if you do not already have one:
Rank #3
- Capacity: 512GB
- Sequential Read (CDM): up to 3000MB/s; Sequential Write (CDM): up to 2200MB/s
- Latest PCIe Gen3 controller
- 2282 M.2 PCIe Gen3 x 4, NVMe 1.3
- O/S Supported: Windows
ssh-keygen -t ed25519
Copy the public key to the server while password login still works:
ssh-copy-id serveradmin@192.168.1.50
Substitute the server’s real address. Test a new terminal session:
ssh serveradmin@192.168.1.50
After key login succeeds, create a small SSH drop-in on the server:
sudo mkdir -p /etc/ssh/sshd_config.d
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin no
Validate and reload the service:
sudo sshd -t
sudo systemctl reload ssh
If validation reports an error, correct it before reloading. Keep the existing session open and verify a second key-based login before closing the first one.
Enable a least-privilege firewall
Install and enable Ubuntu’s uncomplicated firewall, allowing only the ports you actually use:
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
Add a web port only when a service needs it, for example sudo ufw allow 80/tcp or sudo ufw allow 443/tcp. Do not open database, Docker API or administration ports to the Internet. If you restrict SSH to a management subnet, test the rule from that subnet before ending your current session.
Rank #4
- This product has been replaced by our latest generation. Please search for the SANDISK Optimus GX 7100 NVMe SSD
- HIGH-OCTANE GAMING. Experience speeds up to 7,250MB/s read and 6,900MB/s write (1-2TB models), with up to 35% faster performance than previous generation.
- PURPOSE-BUILT. Designed for serious on-the-go gamers, with a PCIe Gen4 interface and SANDISK’s next generation TLC 3D NAND.
- MORE TIME TO CLEAR THAT CHECKPOINT. Built with laptops and handheld gaming devices in mind, with up to 100% more power efficiency over the previous generation.
- DO MORE WITH DASHBOARD. Ensure your drive is optimized for prime performance with the downloadable WD_BLACK Dashboard (Windows only).
Give the server a stable address
Preferred method: a DHCP reservation
- Find the server’s Ethernet MAC address with
ip link. - Open the router’s LAN or DHCP settings and create a reservation for that MAC address.
- Choose an address in the router’s configured LAN range, record the hostname and address, and reconnect the server.
- Verify the lease with
ip addressand test name resolution from another computer.
A reservation keeps the address stable while leaving address management in one place. It also avoids conflicts that occur when a manually assigned address falls inside the router’s dynamic pool.
When a static netplan configuration is necessary
Use the network tooling documented for your Ubuntu release. A netplan file can look like this example, but the interface name, address, gateway and DNS values must match your LAN:
network:
version: 2
ethernets:
enp1s0:
dhcp4: false
addresses:
- 192.168.1.50/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1
- 1.1.1.1
Apply a static configuration only from a local console or with an out-of-band recovery plan, because a wrong interface or gateway can immediately cut off SSH. Confirm the result with ip route, resolvectl status and a test connection.
Install Docker and deploy services with Compose
Install Docker using the documented Ubuntu procedure for your release and architecture. Avoid copying an installation command from an unrelated distribution. After installation, verify the engine:
sudo systemctl enable --now docker
sudo docker run --rm hello-world
Decide whether non-root Docker administration is worth the security trade-off. Membership in the docker group effectively grants root-level control of the host. Keeping sudo in front of Docker commands is more restrictive; if you add a user to the group, do so knowingly and log out and back in before testing.
Recommended Free Tools
Use a dedicated project directory
sudo mkdir -p /opt/home-stack
sudo chown -R serveradmin:serveradmin /opt/home-stack
cd /opt/home-stack
nano compose.yaml
A minimal Compose file should pin image tags, define persistent storage and restart behavior. The following is a template; replace the image, port and environment values with those required by the service you have selected:
Best Value
- PCIe Gen4 performance improves slow boot times and launches apps faster at speeds up to 5,000MB/s. (Based on read speed, unless otherwise stated. 1 MB/s = 1 million bytes per second. Based on internal testing; performance will vary depending on host device, usage conditions, drive capacity, and other factors.)
- Storage up to 2TB* keeps your photos, videos and other important files within reach. (1GB = 1 billion bytes and 1 TB = 1 trillion bytes. Actual user capacity may be less, depending on operating environment.)
- Slim M.2 SSD design utilizes a single-sided M.2 2280 to be compatible with thin laptops and small PCs.
- Multitask with breathtaking responsiveness, transfer files faster, and improve your workflow with NVMe and Western Digital nCache 4.0 Technologies.
- Move your data to your new drive with free downloadable Acronis True Image for Western Digital data migration software.
services:
app:
image: service-image:1.2.3
container_name: home-app
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- app-data:/var/lib/app
volumes:
app-data:
- Pin image tags. A fixed tag makes upgrades deliberate and rollback possible. Avoid silently tracking an unbounded latest tag for a production-like home service.
- Persist application data. A named volume or a documented host path prevents container replacement from deleting databases and configuration.
- Publish only required ports. A port mapping exposes the service on the host; combine it with firewall rules and, where appropriate, bind it only to the LAN interface.
- Use restart policies carefully.
unless-stoppedcan recover a service after a reboot, but it will also restart a repeatedly failing container. Inspect logs rather than hiding the failure.
Start and inspect the project:
docker compose config
docker compose up -d
docker compose ps
docker compose logs --tail=100 app
docker compose config catches malformed YAML and unresolved settings before containers start. Keep the Compose file, environment definitions and a list of image versions in your backup set.
Keep administration off the public Internet
Remote access should stay on the LAN or pass through a VPN. Do not forward SSH, the Docker API, a database port or an application’s administrative interface directly from the router to the Internet. If a service must be reachable externally, place it behind a properly maintained reverse proxy or VPN design, expose only the intended application port and keep its authentication and updates current.
Use separate credentials for each service, disable default accounts, and avoid placing secrets directly in a Compose file that is shared or committed. Restrict file permissions on environment files and backups. Review the router’s port-forwarding list after installation so an old rule does not expose a service you thought was private.
Free tools Windows power users keep installed
One-click scans. No signup required.
Monitor, update and recover the server
Watch the resources that fail first
- Disk space: Check
df -hand Docker’s usage withdocker system df. A full filesystem can stop databases and prevent updates. - Memory: Use
free -hand inspect container limits and logs when the system begins swapping or killing processes. - Temperature and cooling: Keep vents clear and use Linux hardware-monitoring tools supported by your model. Compare temperatures at idle and during a sustained workload rather than relying on a short burst.
- Drive health: Install and use a SMART-capable utility when the NVMe device exposes health data. Watch percentage used, media errors and critical warnings.
- Service state: Check
docker compose ps,systemctl --failedand the journal after reboots or unexplained outages.
Build a backup that can actually restore
- Export each application’s configuration and identify every persistent volume.
- Back up irreplaceable data to a different physical device or location; a second directory on the same SSD is not a backup.
- Record the Ubuntu release, package choices, Compose files, image tags, firewall rules and router reservation.
- Test restoring a service on a spare drive or temporary host. A backup that has never been restored is an assumption, not a recovery plan.
Schedule updates for a time when you can observe the machine. Update the host and containers in controlled steps, read release notes for breaking changes, and retain the previous image tag until the upgraded service has been verified.
How to compare two Core Ultra mini PCs for 24/7 use
When choosing between models, use the exact SKU and documentation rather than the processor name alone. Give sustained cooling and reliable networking more weight than a peak benchmark.
Quick Recap
| Comparison axis | Questions to answer | Why it affects a server |
|---|---|---|
| Sustained cooling and noise | Does the fan maintain performance under long CPU and storage loads, and is its noise acceptable where the server will run? | Thermal throttling and fan failures reduce reliability and can corrupt interrupted workloads. |
| Idle and peak power | What power behavior does the exact configuration show, and can the UPS support it with the network equipment? | Power cost, UPS runtime and heat all depend on the complete system, not only the CPU. |
| RAM upgradeability | Is memory socketed or soldered, and what maximum does the OEM document? | More services and virtual machines need capacity; soldered memory cannot be expanded later. |
| M.2 slots and thermals | How many Key-M slots exist, which lengths and interfaces are supported, and is there clearance for the chosen drive? | Extra storage and drive cooling determine whether the server can grow safely. |
| Ethernet | What speed and Linux-supported controller are provided, and are there one or two ports? | Stable wired networking is central to file, backup and remote services. |
| USB4 or Thunderbolt | Are these ports present on the exact model, and do Ubuntu drivers and peripherals support the intended use? | High-speed external storage and networking are useful only when the complete device chain works in Linux. |
| Firmware and Linux support | How are UEFI updates delivered, and are Linux device, sleep and networking issues documented? | Firmware quality affects boot reliability and hardware compatibility. |
| Serviceability and warranty | Can you reach the fan, RAM and SSD without damaging clips or seals, and what does the warranty allow? | Easy maintenance matters more for a 24/7 server than a minor benchmark advantage. |
| Total cost | What is the complete cost of the mini PC, RAM, SSD, adapter, UPS and replacement parts? | The server budget includes the components required for dependable operation. |
Troubleshoot the common setup failures
The NVMe drive is missing from the installer
- Power off and reseat the drive if the service manual permits access.
- Confirm that the slot accepts NVMe, not only SATA M.2, and that the drive length matches the standoff.
- Check UEFI storage detection and update firmware using the OEM process.
- Test with a known-compatible drive before assuming Ubuntu is at fault.
Ubuntu installs but Ethernet does not work
- Run
ip linkandsudo lshw -C networkto identify the interface and controller. - Install all available Ubuntu updates from a temporary network connection if possible.
- Check the exact controller’s Linux support and try another physical cable and switch port.
- If using a USB-C adapter, verify its chipset support and avoid assuming every adapter uses the same driver.
SSH stops working after address changes
- Use the local console and check
ip address,ip routeandsudo systemctl status ssh. - Confirm the router reservation or static gateway does not conflict with another device.
- Review
sudo ufw status verboseand make sure the SSH rule covers the interface and source network you use.
A container repeatedly restarts
- Read
docker compose logs --tail=200 appand inspect the exit code. - Check that every required volume, environment setting, database dependency and port is present.
- Verify disk space, memory and file ownership on bind-mounted directories.
- Pin the last known-good image tag and roll back if the failure started after an image update.
The mini PC becomes hot or noisy
- Move it away from enclosed shelves and keep every intake and exhaust opening clear.
- Check for dust and confirm that the heatsink and fan are seated as documented.
- Measure temperatures during the actual workload, then reduce unnecessary container concurrency or choose a better-cooled enclosure.
- Do not treat a short successful benchmark as proof of safe 24/7 operation.
A practical go-live checklist
- The exact SKU, firmware version, RAM configuration and SSD model are recorded.
- Ubuntu boots from the NVMe drive and receives updates.
- A non-root administrator works and SSH key login has been tested in a second session.
- Password SSH login and root SSH login are disabled after key verification.
- UFW allows only SSH from the management network and the application ports you intentionally use.
- The router reservation or static configuration has been documented and tested.
- Docker starts at boot, Compose files use pinned image tags, and persistent volumes are identified.
- Important data and configuration are backed up away from the server, and a restoration test has succeeded.
- Temperature, disk health, free space and container logs have an inspection routine.
- No router rule exposes SSH, Docker, databases or administrative interfaces directly to the public Internet.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

