Home Server Build ⚓
17 Sep 2017I’d been planning to run my own home server for a while, and this culminated in a mini-ITX build recently. The current build configuration is available at /setup/homeserver/.
In no particular order, here were the constraints:
- The case should be small (I preferred the Elite 110, but it was unavailable in India).
- Dual LAN, if possible (decided against it at the end). The plan was to run the entire home network from this directly by plugging in the ISP into the server.
- Recent i3/i5 for amd64 builds.
- Enough SATA bays in the cabinet for storage
The plans for the server:
- Scheduled backups from other sources (Android/Laptop)
- Run Kodi (or perhaps switch to Emby)
- Run torrents. Transmission-daemon works. Preferably something pluggable and that works with RSS
- Do amd64 builds. See https://github.com/captn3m0/ideas#arch-linux-package-build-system
- Host a webserver. This is primarily for serving resources off the internet
- Host some other minor web-services
- A simple wiki
- Caldav server
- Other personal projects
- Sync Server setup. Mainly for the Kindle and the phone.
- Calibre-server, koreader sync server for the Kindle
- Now looking at libreread as well
- Tiny k8s cluster for running other webapps
- Run a graylog server for sending other system log data (using papertrail now, has a 200MB limit)
No plans to move mail hosting. That will stay at migadu.com for now.
I had a lot of spare HDDs that I was going to re-use for this build:
- WD MyBook 3TB (external, shelled).
- Seagate Expansion: 1TB
- Seagate Expansion 3TB (external, shelled)
- Samsung EVO 128GB SSD
The 2x3TB disks are setup with RAID1 over btrsfs
. Important data is snapshotted to the other 1TB disk using btrfs snapshots and subvolumes. In total giving me ~4TB of storage.
Software
Currently running kodi-standalone-service
on boot. Have to decide on a easy-to-use container orchestration platform. Choices as of now are:
- Rancher
- Docker Swarm
- Shipyard
- Terraform
- Portainer
Most of these are tuned for multi-host setups, and bring in a lot of complexity as a result. Looking at Portainer, which seems well suited to a single-host setup.
Other services I’m currently running:
elibsrv
. Running a patched build with support for ebook-convertubooquity
for online reading of comics
If you’re interested in my self-hosting setup, I’m using Terraform + Docker, the code is hosted on the same server, and I’ve been writing about my experience and learnings:
- Part 1, Hardware
- Part 2, Terraform/Docker
- Part 3, Learnings
- Part 4, Migrating from Google (and more)
- Part 5, Home Server Networking
- Part 6, btrfs RAID device replacement
If you have any comments, reach out to me
Published on September 17, 2017