Brief Summary
This video provides a comprehensive guide on how to transform an old, underutilized laptop into a versatile home server. It covers essential functionalities such as network storage using Samba, a media server with Jellyfin, VPN access via Wireguard and DuckDNS, and remote wake-on-LAN using etherwake. The guide focuses on simplicity and cost-effectiveness, utilizing Ubuntu Server LTS to maximize resources and ensure broad compatibility.
- Turn old laptop into home server
- Setup network storage, media server, VPN access and remote wake-on-LAN
- Use Ubuntu Server LTS for simplicity and compatibility
Introduction
Chris Kalos introduces the concept of repurposing an old laptop into a home server. The home server can be used for various tasks such as hosting media, providing network storage, and creating a VPN. The video aims to guide viewers through setting up a functional home server without significant cost.
ISL Online Sponsor
The video is sponsored by ISL Online, a remote desktop software suite. ISL Light offers features like secure connections, wake-on-LAN, and file transfer across multiple platforms including Windows, Mac, Linux, Android, and iOS. It supports RDP for Windows hosts and is marketed as an affordable solution for businesses.
The Basics
The video addresses the common reservations people have about setting up a home server, such as the perceived complexity and cost. Chris Kalos uses a 2009 IBM ThinkPad with a Core 2 Duo as an example, emphasizing that even older hardware can be useful. The basic requirements include a 64-bit processor and at least 2 GB of RAM. The guide recommends installing Ubuntu Server LTS without a desktop environment to conserve resources. It is also recommended to keep the computer connected via ethernet and disable sleep mode when the laptop lid is closed. During the installation of Ubuntu Server, it's important to uncheck "Set up this drive as an LVM group" to avoid partitioning issues.
Utilities & Use Cases
The video outlines the utilities to be covered: Samba for network storage, Jellyfin for a media server, Wireguard for VPN access, and wake-on-LAN for remote access. These utilities will allow users to store and access files, stream media, and remotely manage their home network.
Reserving Your Local IP Address
Before setting up the utilities, it's crucial to reserve the local IP address of the home server in the router's DHCP settings. This ensures that the IP address remains constant, which is necessary for configuring the utilities correctly. The process varies depending on the router model, requiring users to consult their router's documentation.
ssh
The video explains how to access the home server via SSH (Secure Shell). By opening a terminal on the main computer and typing ssh username@serverip
, users can remotely connect to their server. This method will be the primary way of interacting with the machine from now on.
Network Storage (Samba)
Samba is introduced as a free and open-source implementation of the Windows SMB protocol, enabling network devices to connect to Windows, macOS, and Linux machines. To install Samba, the command sudo apt install samba
is used. A directory is created to serve as the network drive, and permissions are modified using sudo chown $USER: /media/myfiles
to avoid access issues. The Samba configuration file is edited via sudo nano /etc/samba/smb.conf
to change "map to guest = bad user" to "map to guest = never". Specific lines are added to the end of the file to configure the shared directory. A password is set for Samba using sudo smbpasswd -a <youruser>
, and the Samba service is restarted with sudo systemctl restart smbd
. On Windows, a network drive is mapped by inputting the server's IP address. On macOS, Finder is used to connect to the server via smb://<serverip>
.
Media Server (Jellyfin)
Jellyfin is presented as a free and open-source media manager with a Netflix-like interface, accessible via web or dedicated apps. It automatically detects metadata for movies, shows, and music. The installation is done using the command curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
. The server's address is accessed with :8096
to set up Jellyfin. Folders for "movies" and "shows" are created within /media/myfiles
to organize media content. Jellyfin's Movies directory is pointed to /media/myfiles/movies
, and the Shows directory to /media/myfiles/shows
.
VPN (Wireguard & DuckDNS using PiVPN)
Wireguard is introduced as a free and open-source VPN software to route traffic through the home network. Dynamic DNS is set up using DuckDNS to ensure the network is always addressable via a URL. Users sign up on DuckDNS.org and follow the instructions for Linux cron. Port 51820 with the UDP protocol is forwarded in the router settings. PiVPN is used to install Wireguard using the command curl -L https://install.pivpn.io | bash
. During the PiVPN installation, users select "DNS Entry" and input the DuckDNS address. After rebooting, pivpn add
is run to name the client, and pivpn -qr
generates a QR code. The Wireguard app is used to scan the QR code and connect to the home network. A second configuration is created for local network access only, by replacing the "Allowed Addresses" with the local network address range (e.g., 192.168.68.0/24
). On iPhone, "On-demand activation" is enabled, excluding the home network's SSID.
Wake-on-LAN (etherwake)
Wake-on-LAN is explained as a feature that allows a computer to be woken up remotely. The Ethernet port stays powered on to detect a "magic packet". The Wake-on-LAN feature is enabled in the computer's UEFI or BIOS settings. In Windows Device Manager, the Ethernet adapter's "Power Management" tab is configured to "Allow this device to wake the computer" and "Only allow a magic packet to wake the computer". The computer's MAC address is noted from the Ethernet connection's properties. On the server, sudo apt install etherwake
is run. The network interface is identified using ip a
. A Siri Shortcut is created with a "Run script over SSH" action, using the command etherwake -i <your interface> -b <your:mac:address>
. The server's IP, username, and password are input for SSH connection.
Recap
The video recaps the process of setting up a $0 Home Server, highlighting its capabilities as a VPN, media server, and network storage solution. Samba enables easy network storage mounting, Jellyfin hosts media accessible from anywhere via Wireguard, and etherwake allows remote wake-up via Siri Shortcuts. The video concludes by encouraging viewers to explore further possibilities with this setup.