The $0 Home Server
The $0 Home Server is a budget-friendly way to transform an old, underpowered computer—like an old laptop—into a home server capable of handling multiple useful tasks. This guide, by Chris Kalos, walks you through the steps to repurpose such a device without spending any extra money.
Here’s what the $0 Home Server can do:
Key Components and Functions of the $0 Home Server:
1. Hardware Requirements
- Any 64-bit computer (even very old ones, like a 2009 Core 2 Duo laptop).
- At least 2GB RAM is recommended, but it can run with less.
- Ethernet connection is preferred for better performance and remote access.
Step-by-Step Setup
1. Install Ubuntu Server LTS (without GUI)
- Why Ubuntu Server?
It’s lightweight, well-supported, and perfect for running headless servers. - Disable LVM partitioning during installation to avoid disk management issues.
- Keep the laptop connected to Ethernet and disable sleep mode when closing the lid.
2. Reserve a Static IP for the Server
- Reserve a local IP address in your router’s settings to ensure the IP stays the same.
This is essential for accessing the server and configuring tools like Samba and VPN.
3. Connect via SSH
- Use SSH to access the server from another computer on the network:
ssh [username]@[server IP]
Features of the $0 Home Server
1. Network Storage with Samba
- Samba allows the server to act as a shared network drive.
- Install Samba:
sudo apt install samba
- Configure Samba by editing:
sudo nano /etc/samba/smb.conf
- Create shared folders (e.g.,
/media/myfiles
) and set permissions to access them from any device (Windows, macOS, or Linux).
2. Media Server with Jellyfin
- Jellyfin is a free, open-source media server with a Netflix-like UI.
- Install Jellyfin with:
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
- Access it via your browser at
http://[server IP]:8096
. - Store media in shared folders (e.g.,
/media/myfiles/movies
).
3. VPN to Your Home Network with WireGuard
- WireGuard VPN allows remote access to your home server from anywhere.
- Set up DuckDNS to create a domain that points to your home IP.
- Use port forwarding to open port 51820 on your router.
- Install WireGuard via PiVPN:
curl -L https://install.pivpn.io | bash
- Generate a VPN configuration and connect from your phone or other devices by scanning a QR code.
4. Wake-on-LAN Support
- Wake sleeping or powered-off devices remotely using Wake-on-LAN.
- Install Etherwake on the server:
sudo apt install etherwake
- Set Wake-on-LAN options in your BIOS/UEFI and Device Manager (Windows).
- Create a Siri Shortcut or use Tasker (Android) to wake the device remotely with:
etherwake -i [network interface] -b [MAC address]
Why This Setup is Useful
- Personal Media Server: Access your media from anywhere using Jellyfin.
- Network Storage: Store files centrally and access them from any device on your network.
- VPN Access: Securely connect to your home network from anywhere in the world.
- Wake-on-LAN: Turn on devices remotely when needed.
Summary of the $0 Home Server
The $0 Home Server transforms an old laptop into a media server, network storage solution, VPN gateway, and remote wake tool without spending any money. It relies on free, open-source software like Ubuntu Server, Samba, Jellyfin, and WireGuard.
This setup offers a practical way to repurpose old hardware while improving your home network and gaining more control over your data—without needing to buy additional hardware.