I have a single-board computer that I use as a home server for my family’s storage needs (and for fun!). The server primarily runs Nextcloud, a self-hosted cloud storage and collaboration platform. It also runs Pi-hole, which acts as a DNS server for our LAN. I sometimes to write about my server on my blog, so check that out if you’re interested in what I’ve been up to lately.
My server runs Armbian’s Ubuntu 20.04 server image, but its various services are all containerized and managed with Docker compose:
- Nextcloud - cloud storage and collaboration application
- MariaDB - database for Nextcloud
- Redis - memcache for Nextcloud
- Pi-hole - DNS server
- Traefik - reverse proxy
I use restic and rclone to run regular backups. This nifty program keeps my DNS records updated since I don’t have a static IP address. And a WireGuard VPN makes it possible for me to connect when I’m away from home.
The server has two 1 TB hard drives, which act as mirrors under the ZFS file system.
The server is a Pine64 ROCKPro64 in a NAS case. It has Pine64’s largest heat sink and a fan for active cooling. Two 1TB Western Digital Red hard drives are connected via a PCI-E to SATA adapter.
Armbian’s Ubuntu image is great and for the most part just works – even with the ZFS DKMS module. However, it’s missing any sort of fan control, so I had to figure that out myself with the help of ATS and this forum post. It was a bit complicated for me, so I wrote a blog post with the exact details.
systemd-resolvedis running on port 53 on Ubuntu. Since I’m using Pi-hole as my DNS server, I need it to be on port 53 instead. This article explains how to stop
systemd-resolvedfrom using port 53.
[Last updated January 20, 2021]