An old laptop is a NAS with a UPS already inside it
Everybody warns you not to use a laptop as a NAS because of the lid, the battery and the heat. On the machine we actually run, those three things are the reason it stayed up through every power cut this house has had.
Last verified 2026-10-25. Every number below was measured on our own hardware; where it is a vendor figure instead, the text says so.
The advice you get about laptop NAS builds is a list of fears: it will sleep when you close the lid, the battery will swell, the cooling will clog, the drive will cook. All four are real. None of them is a reason to skip the machine — they are a checklist, and every item on it has a fix that costs nothing.
We run one. It is a 2011 consumer laptop with a 35 W two-core chip, 4 GB of RAM, a SATA SSD in the original bay and a 320 GB platter where the DVD drive used to be. It has been on for months at a time, lid shut, serving files, containers and a photo library. Here is what actually mattered, in the order it bit us.
What we measured, and what we did not
The temperatures, the battery readings, the link speed, the optical-bay negotiation and the "does it come back after the plug is pulled" test were all taken on this machine, with smartctl, /sys/class/power_supply, /sys/class/thermal, ethtool, dmesg and a shell on the other side of the network. The runtime estimate for the battery is arithmetic from capacity, not a measurement. We did not measure the wall-socket draw, and we have not opened the case to inspect the fan or the paste.
The machine, so the numbers mean something
| Part | What it is |
|---|---|
| CPU | 2 cores, 2 threads, 1.6 GHz, 35 W, socketed |
| RAM | 2 × 2 GB DDR3-1333, both slots occupied |
| System disk | 256 GB SATA SSD, original drive bay |
| Second disk | 320 GB 5400 rpm, in a 12.7 mm caddy in the optical bay |
| Network | 100 Mbps, soldered to the board |
| Battery | 43 Wh, reports full design capacity |
| Power | 19 V external adapter |
That last row is the whole argument. A desktop board of the same generation needs a power supply, a case, a fan and a UPS to survive a two-second outage. This thing has all four, and three of them were free.
The battery is the UPS, and it is the best part
/sys/class/power_supply/BAT0/ reports charge_full = charge_full_design = 3,985,000 µAh at 10.8 V, which is about 43 Wh, with capacity at 100. In practice: the desktop box in the same room has gone down three times in ten days, and each time the laptop kept serving, because it was never on mains power in the first place — it was on a battery that happens to be charging.
Two practical things we learned reading that directory:
- Not every laptop exposes the same battery API. Ours has
charge_now/current_nowand noenergy_now/power_nowat all. A monitoring script written for the energy API silently reports nothing here. Check which one your machine has before you trust a graph. power/is a subdirectory, not a reading. If youcatit you get a directory listing and conclude the driver is broken. It is not.
The caveat that matters is mechanical, not electrical: a battery that sits at 100% for years is a battery you should look at occasionally. Check capacity, watch for a case that no longer sits flat, and if it swells, replace it or remove it and accept that you have lost your UPS. Do not buy a new battery for a NAS — a swollen one is a safety issue, a healthy old one is free runtime.
Our runtime number, honestly: at an idle draw in the single-digit watts, 43 Wh is several hours. We have never drained it to find out exactly how many, because when the power comes back the machine just keeps running.
Close the lid and keep serving
This is the one item on the fear list that is both true and trivial. Out of the box, systemd-logind treats a lid close as "suspend", and a suspended NAS is a dead NAS. The fix is a drop-in, not a hack:
# /etc/systemd/logind.conf.d/99-lid-ignore.conf
[Login]
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
IdleAction=ignore
Reload it with systemctl kill -s HUP systemd-logind — not restart, which can drop your session — and belt-and-braces it with systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target.
Verification is the part people skip, and it is easy:
cat /proc/acpi/button/lid/*/state # closed
cat /proc/uptime # still counting, not reset
Then load the web UI from a different machine. Ours answered in under 3 ms with the lid shut, uptime never reset, and all four sleep targets reported inactive. The screen goes dark because the embedded controller cuts the backlight; the machine does not care.
Leave the power button alone. Pressing it should still shut the box down cleanly — do not add HandlePowerKey=ignore to that file to be clever.
Heat is the reason this works at all
This is where a laptop beats the small desktop boxes people buy for the same job. Ours idles at 43–45 °C on the ACPI zone and 46–47 °C on the package sensor. We pinned both cores for two minutes: the package reached 55 °C and stayed there.
The 2011 mini PC on the same shelf reaches 84–85 °C within three seconds of one core being busy, then holds there by dropping its clock below its own base frequency. Two different cooling designs from the same era, and only one of them can run a container that occasionally does work.
What you cannot do on the laptop is control the fan. There is no tachometer in hwmon, and the one PWM control that exists returns No data available. The embedded controller owns it. So the useful lever is the clock, not the fan: many NAS distributions ship the performance governor, which pins the CPU at its maximum frequency forever — on ours, a constant 1.6 GHz with the machine idle. A one-line systemd unit writing schedutil into scaling_governor drops idle to 800 MHz and costs nothing.
Cleaning the heatsink is the other half, and it is a once-a-decade job on a laptop that never leaves the shelf.
The second disk goes where the DVD drive was
The optical bay is a 12.7 mm SATA port. A caddy costs less than a takeaway meal, and the drive that goes in it is a normal 2.5" platter — ours negotiated 1.5 Gbps rather than 6 Gbps, which sounds alarming until you notice that 1.5 Gbps is 150 MB/s and no 5400 rpm drive has ever done half of that.
One rule: the boot disk stays in the original bay. BIOS implementations of that era often refuse to boot from the optical position. The caddy is for data.
This is also the cheapest capacity upgrade in this entire hobby — a used 320 GB drive that was already sitting in a drawer turned a one-disk NAS into a two-disk one. What it does not give you is redundancy. Two disks in a laptop are two independent disks, not an array.
What a laptop genuinely cannot do
- Come back after a long outage. We tested the obvious fix and it does not exist here: pull the adapter, wait ten seconds, plug it back in — the machine stays off. Consumer BIOS from that era usually has no "restore on AC power loss" setting at all. So the battery covers minutes to hours, and after that someone has to press a button. Wake-on-LAN does not help either; it needs standby power and a BIOS that offers it, and this one offers neither in a meaningful way.
- Serve files fast. The port on ours is 100 Mbps soldered to the board, so 11.4 MB/s is the ceiling regardless of what the disks can do. That is a design limit, not a fault — and it is the subject of the port guide.
- Take a USB disk seriously. Both of ours are USB 2.0 only. That is fine for a one-off copy and wrong for permanent storage: controllers drop off the bus, and a btrfs array that loses a device mid-write is a bad afternoon.
- Be upgraded much. Two slots, both full, and DDR3 of that density is no longer cheap. Buy nothing; run what is in it.
- Provide redundancy or ECC. One box, one copy. Whatever you store here needs to exist somewhere else — ours is the second copy, never the only one.
Two commands worth putting in a cron job
# 1. battery, in whichever API the machine actually exposes
cat /sys/class/power_supply/BAT0/status /sys/class/power_supply/BAT0/capacity
# 2. has it rebooted since I last looked?
cat /proc/uptime
The first tells you whether you are still on mains. The second is the cheapest possible watchdog: a NAS that reports an uptime smaller than the last time you checked went down, and you want to know that before you find out from a corrupted database.
What we would not buy
- A new battery for a machine that lives on a shelf. Replace a swollen one; do not buy runtime you already have.
- A laptop cooling pad. The fan is not the constraint and the pads move air past a case, not through a heatsink.
- More RAM for a two-slot machine at current DDR3 prices, when the workload fits in what is there.
- A USB enclosure as the only copy of anything.
- A "NAS" case and board to replace a laptop that is already doing the job at 55 °C.
The rule
Keep the battery, close the lid, cap the clock, and put the second disk in the optical bay. Total spend: one caddy. The machine you already own is a NAS with a UPS in it, and the four things everyone warns you about are four afternoons of configuration, not four reasons to buy hardware.
Guides are editorial. A product card marked Sponsored is a paid link: we may earn a commission if you buy through it, it costs you nothing, and no product can buy its way into a guide we did not already rate. Every price on this site sits inside such a card next to the date we checked it — the merchant can change it the next morning, so treat it as a snapshot, not a quote.