A home server running Ubuntu, with media, monitoring and an AI assistant in Docker, and a Raspberry Pi with a small touchscreen that shows the server’s status. I built it to run my own services and to learn how real infrastructure behaves when things go wrong.
- Hardware
- A repurposed desktop PC as the server, Raspberry Pi 3 with a 2.8″ Adafruit touchscreen
- Systems
- Ubuntu Server, Raspberry Pi OS Lite
- Runs
- Jellyfin, Homarr, Glances, an AI assistant with ChromaDB, SearXNG and ntfy
- Managed with
- Docker Compose, systemd, UFW firewall, SSH
- Year
- 2026
What it does
- Streams my media with Jellyfin
- Gives one dashboard for every service with Homarr
- Watches system health with Glances
- Runs an AI assistant that can search the web and use tools, with its own memory
- Shows live server stats on the Pi’s touchscreen, without a monitor
How it is set up
Every service runs in its own Docker container, defined in Docker Compose files, so the whole setup can be rebuilt from its configuration. The server sits on Wi-Fi, which was unreliable for the Pi, so I connected the Pi straight to the server with its own Ethernet cable and fixed addresses. The Pi’s screen runs in console mode, with a small systemd service that keeps its dark theme after every restart.
Problems I solved
- A Secure Boot violation that stopped the server from booting after a driver install
- Network configuration errors that took the server offline
- Containers that could not resolve domain names
- Services that only answered on the server itself instead of the network, and the firewall rules to open them safely
- Rate limits on the AI service
Why it matters for your website
Hosting a website well takes the same skills: Linux servers, containers, networking, firewalls and calm, step-by-step debugging when something breaks. I practise them every day on my own hardware, so they are ready when your site needs them.
