Skip to main content

Home Server

Mikołaj Zielniok
Author
Mikołaj Zielniok
B.Sc. in Electronics & Telecommunications. Currently pursuing a Master’s degree in Information and Communication Technologies at AGH UST, with a focus on networks, cybersecurity, and embedded systems.

Origin Story
#

This project began with a Dell Inspiron 13-5378 that was destined for the landfill. The battery was degraded, and the keyboard was malfunctioning. Instead of tossing it, I decided to give it another life.

I physically removed the swollen battery and ditched Windows for Linux. Now plugged in 24/7, it runs Ubuntu Server completely headless, serving as the central hub for my data, notes, and website. I also added 1 TB external SSD to expand already present 128 GB internal drive.

Hardware Specifications
#

Component Specification
Model Dell Inspiron 13-5378
CPU Intel Core i5-7200U
RAM 16GB DDR4
Storage 128GB SSD + 1TB External SSD

Network Topology
#

Draw.io diagram placeholder

Software
#

Everything runs in Docker using Docker Compose files.

Personal Cloud & Data
#

  • Nextcloud: I use it to sync browser bookmarks and share files with friends via public links.
  • Syncthing: Handles continuous folder synchronization for my notes across my PC, laptop, and Android phone.
  • Immich: A photo gallery that automatically backs up photos from my phone.

Networking
#

  • Nginx Proxy Manager: Manages SSL certificates and routes traffic to containers.
  • Cloudflare Tunnel: Exposes w1nn3t0u.com securely without opening ports on my router.
  • Tailscale: A VPN allowing me to access private services when I’m outside my local network.
  • Pi-hole: Network-wide ad blocking and local DNS resolution.

Monitoring
#

  • Uptime Kuma: Tracks uptime and alerts me via ntfy if a service goes down.
  • Beszel: Lightweight server resource monitoring (CPU, RAM, Disk usage).
  • ntfy: Sends push notifications to my phone for alerts.
  • Watchtower: Automatically updates Docker containers to the latest versions.

Dashboard
#

  • Homepage: A static, fast-loading dashboard to access all services at a glance.

I also run a simple nginx web server to host this small website!

Future Plans
#

I’d like to upgrade the server as I get familiar with new things, both software and hardware-wise.

  1. Add Jellyfin and Navidrome to stream music and video.
  2. Self-host an alternative to Github like Gitea.
  3. Organize the rest of my files and documents besides the photos.
  4. Upgrade the hardware, add a managed switch, router, dabble in firewalls and security.