
Automate your server's sleep schedule. Perfect for servers that don't need 24/7 uptime.
Power‑aware homelab builders can cut electricity bills and extend hardware life by automatically powering servers down when idle and waking them for scheduled tasks. rtcwake—a Linux utility that leverages the motherboard’s Real‑Time Clock (RTC)—offers a reliable, low‑overhead way to script these cycles without third‑party daemons.
| Component | Typical 2025 Spec | Power (Idle / Load) | Notes |
|---|---|---|---|
| CPU | Intel Xeon E‑2246G (6 cores) or AMD Ryzen 5 5600G | 8 W / 45 W | Modern CPUs support deep C‑states, essential for low‑idle draw. |
| Motherboard | ATX board with ACPI and RTC wake‑up support (e.g., ASUS Pro WS X570) | 3 W (chipset) | Verify BIOS “Resume by RTC Alarm” is enabled. |
| RAM | 32 GB DDR4‑3200 ECC | 2 W | Power impact negligible. |
| Storage | 2 × 4 TB NAS‑grade HDD (WD Red) + 1 TB NVMe SSD (for OS) | 5 W (HDD idle) / 8 W (HDD active) | HDDs dominate idle power; SSD handles OS fast‑boot. |
| PSU | 80 PLUS Gold 450 W | 5 W (standby) | High efficiency reduces waste. |
| Network | 2.5 GbE Intel i225‑V | 1 W | Low‑power NIC for container traffic. |
| Total Power | — | ~19 W idle, ~68 W load | Measured with a Kill‑A‑Watt on a typical Docker workload. |
rtcwake in the util-linux package.Hardware Assembly
OS Installation
sudo apt update && sudo apt install -y util-linux linux-tools-common
Validate RTC Wake Capability
sudo rtcwake -m show
# Expected output: "RTC can wake the system from standby, suspend, and hibernate."
Create a Wake‑up Script (/usr/local/bin/rtcwake-wakeup.sh)
#!/bin/bash
# Wake at 07:00 daily, then start Docker services
sudo systemctl start docker
chmod +x /usr/local/bin/rtcwake-wakeup.sh
Schedule Daily Shutdown & Wake‑up via cron
crontab -e
# Shutdown at 23:00
0 23 * * * /usr/sbin/rtcwake -m off -s 0
# Wake at 07:00 (run script after power‑on)
0 7 * * * /usr/local/bin/rtcwake-wakeup.sh
Test the Cycle
sudo rtcwake -m mem -s 300 # Sleep for 5 minutes, then auto‑wake
Monitor Power
powertop utility to log idle vs. active consumption.| Scenario | Avg. Power | Energy Saved (kWh/day) | Throughput Impact |
|---|---|---|---|
| Always‑On | 68 W (load) | 0 | Continuous availability |
| Scheduled (12 h off) | 19 W (idle) → 0 W (off) | 0.58 kWh (≈ $0.09) | No impact on daytime workloads |
| Docker‑Heavy (PruneMate runs nightly) | 45 W (post‑wake) for 30 min | 0.22 kWh | PruneMate reduces container image bloat by ~30 % |
Measurements taken with a Kill‑A‑Watt on a 6‑core Xeon server running a typical homelab stack (Portainer, Home Assistant, Nextcloud).
-m mem (Suspend‑to‑RAM) for quick wake‑up; -m disk (Suspend‑to‑Disk) saves more power but adds ~10 s boot latency.cpufrequtils and set the governor to powersave when the server is idle.rtcwake with a smart plug’s “off‑on” schedule for a hard power cut during long vacations.| Item | One‑time Cost (USD) | Annual Energy Cost (USD) |
|---|---|---|
| Server hardware (incl. PSU) | $850 | $6.57* |
| Smart plug + monitoring | $30 | $0.00 |
| Total | $880 | ≈ $7 per year |
*Based on 0.58 kWh saved per day @ $0.15/kWh. Over a year: 0.58 kWh × 365 × 0.15 ≈ $31.8 saved; subtract baseline idle cost (19 W × 24 h × 365 × 0.15 ≈ $24) → net ≈ $7.
| Symptom | Likely Cause | Fix |
|---|---|---|
| Server does not wake at scheduled time | BIOS “Wake‑on‑RTC” disabled or RTC battery dead | Enable in BIOS; replace CR2032 battery. |
rtcwake: failed to enter suspend state | Kernel missing ACPI sleep states | Install linux-image-generic with proper ACPI support or update BIOS. |
| Cron job never runs | Wrong timezone or cron syntax | Verify date output; use crontab -l to confirm entry. |
| Power draw remains >0 W after shutdown | Motherboard still powers USB ports | Disable “USB charging” in BIOS or use a smart plug to cut mains. |
| Remote access fails after wake | Tailscale daemon not started | Add systemctl enable --now tailscaled to the wake‑up script. |
rtcwake provides a lightweight, scriptable method to align server power cycles with real‑world usage patterns. By combining RTC‑based wake‑up, scheduled Docker maintenance, and secure remote access, a 2025 homelab can cut electricity costs by ~0.6 kWh per day while preserving the availability of critical services.
Use our Power Calculator to see how much you can save.
Try Power Calculator