I decided to migrate my home server from ArchLinux ARM to NixOS to have a reproducible system based on a single configuration. My goal is to have more web services run with the new system.

The hardware setup of the server is quite simple:

  • ARM board Rock64 (4×1,5 GHz, 4 GB memory)
  • 256 GB SD card for the main OS
  • 10 TB SATA-HDD, connected with an USB adapter to the board
  • Connected via USB Dell 1250C laser printer

I’m provisioned NixOS to the sd card using following script. This NixOS configuration is used to deploy following services:

  • Firewall
  • Jellyfin media server and web frontend
  • Dokuwiki
  • WordPress
  • AirPrinting based on CUPS
  • Power management of SATA drive with hdparm
  • Multicast DNS support
  • Wireguard VPN client

So now even this blog is running on the small ARM computer! To cope with high server load, the Wordress blog is running behind a reverse proxy which is also doing inmemory caching for media files.

I have to see if I could migrate even more services like Nextcloud, Gitlab, Syncthing, Invoiceplane, Mail or Onlyoffice. The benefit would be to have more control, decentralization and a super simple setup based on NixOS.

💬 Are you interested in our work or have some questions? Join us in our public Signal chat pi crew 👋
🪙 If you like our work or want to supprot us, you can donate MobileCoins to our address.