A practical guide turning an old laptop into a home server running Jellyfin, photo backups, and a Minecraft server today.
Main Points
Repurpose an old laptop into a low-cost home server.
Upgrade to an SSD and ensure adequate RAM.
Install Ubuntu Server via bootable USB for headless operation.
Storage note: disable LVM unless future expansion is needed.
Enable SSH for remote server management.
Set up CSOS (Casos) for easy app management.
Enable hardware-accelerated transcoding to improve media playback.
Create shared folders via CSOS and access them over the network.
Minecraft server setup with Crafty and simple external access via playit.gg.
Cost-conscious guidance and future-proofing with additional tools (Pi Hole, TailScale).
Takeaways
Start with what you have, then upgrade only when you need more performance or storage.
An SSD dramatically improves responsiveness on older hardware.
SSH access is essential for managing a headless server without a monitor.
CSOS provides an approachable GUI to install and manage server apps.
External access can be secured and simplified using free tunneling services like playit.gg.
Summary of the video transcript
Matt takes a “broken” older laptop (8th-gen Intel i3, 8GB RAM, 1TB mechanical drive) and turns it into a simple but capable home server. The laptop is slow and unresponsive in Windows, so he suspects the hard drive is failing. He opens the laptop, replaces the mechanical drive with an SSD, confirms temperatures are fine, and installs a fresh server OS.
From there, he shows a beginner-friendly path to getting real value out of old hardware:
Install Ubuntu Server (his base OS) from a bootable USB.
Enable SSH so you can manage the server remotely from another computer.
Install CasaOS (web UI) to manage apps, files, and services with “one-click” installs.
Use CasaOS file sharing to create shared folders for general files and media.
Install and configure:
Jellyfin for self-hosted media streaming (and fix playback by enabling Intel Quick Sync hardware transcoding).
Immich (“Immich without machine learning” variant) for phone photo backups.
Crafty Controller to create and manage a Minecraft server easily.
Finally, he demonstrates making the Minecraft server accessible to friends over the internet without port forwarding, using playit.gg tunneling.
He wraps up by suggesting other useful services you could add later (Pi-hole, Tailscale), and emphasizes a practical approach: use what you already have until you hit real limits, then upgrade.
Software and services used
Operating system / base layer
Ubuntu Server (ISO) – installed fresh onto the SSD as the host OS.
OpenSSH Server – installed during Ubuntu setup for remote terminal access.
USB creation / installation tooling
Balena Etcher – used on his main PC (Windows) to flash the Ubuntu Server ISO to a USB drive.
Server management UI
CasaOS – installed via a one-line command/script; provides:
Login to Crafty (he notes default username ended up being admin, not crafty).
Create server:
server type: Minecraft
chooses Fabric (more performant in his experience)
version: 1.21.x (he selects 1.21.10)
allocate RAM min/max (example: 2GB–4GB)
port: 25565
Start server, accept Minecraft EULA.
Test locally:
Minecraft → Direct Connect → 192.168.0.141:25565
11) Make the Minecraft server accessible to friends (no port forwarding)
Instead of router port forwarding:
Install playit.gg agent on the server using a GitHub script command.
The installer outputs a link/code.
In browser:
sign in / create a free playit.gg account
open the link/code to connect the agent
Create tunnel:
choose free option (global anycast)
tunnel type: Minecraft Java
set local target: 192.168.0.141 port 25565
playit.gg gives a shareable address (hostname).
Friends use that address in Minecraft Direct Connect.
Result: external access without exposing your router ports directly.
If you want, I can turn this into a clean checklist you can follow on your own hardware (including the exact commands he used, plus a couple of “nice-to-have” hardening steps like setting static DHCP leases, enabling a firewall, and replacing default app passwords).