Done

Home NAS and Self-Hosted Server

NASUbuntuZFSVPNAnsibleSelf-HostedDNSDocker

This project started from the idea that many cloud services can disappear or lose data.
I wanted to have my own server at home, to store photos safely, run my personal projects, and keep control.

Hardware

Network Design

  • Server runs on 192.168.0.x network, behind NAT with no open ports
  • External VPS with VPN server, that acts as gateway towards the home server
  • As benefits, even if my ip will change, I can still access the home server via VPN

Software Setup

  • Ubuntu 24 LTS
  • NAS with Samba + ZFS + snapshots
  • Automatic backup to cloud and external HDD
  • Ansible playbook to fully restore the server if needed
  • Ansible playbook to fully restore the VPN server in case hosting provider will go offline
  • DLNA server for local media streaming
  • VPN server for secure remote access
  • Local DNS: home.kulikov.fi resolves only inside the network
  • HTTPS support with Let's Encrypt certificates

Features

  • Private photo storage and sharing
  • Media streaming over DLNA
  • Secure VPN access to home network
  • Local DNS with easy names for all services
  • Automated backups and recovery

Status

Main goals were finished in December 2024.
I continue to improve the server, but it already works as my personal home lab and secure storage.