/home-server

Docker stuff for home server

GNU General Public License v3.0GPL-3.0

frankyw/home-server

This is a repository to version control and document my journey from one Ubuntu server with a multitude of apps running on it, to complete Docker containerization. Base system is Ubuntu 22 on a Proxmox LXC container. To create this config, I referenced Smart Home Beginner amongst other resources.

Docker Containers

The following containers are being run:

Arr Stack

  • hotio/sonarr - Management and automation of TV Show downloading.
  • hotio/radarr - Management and automation of Movie downloading.
  • hotio/unpackerr - Very nice container to handle compressed archives cleanly.
  • hotio/jackett - API Support for my trackers, to provide content to Sonarr and Radarr.
  • autobrr/autobrr - Get releases within seconds from IRC Announce Channels, and pass to Sonarr.

LinuxServer

I like LinuxServer because they greatly simplify my life with support for user mappings (PGID, PUID), to avoid file permission problems with mounted host directories.

Other

  • traefik:latest - Official Traefik container, reverse proxy to expose docker services over TLS using Let's Encrypt.
  • portainer/portainer - Official Portainer image, container management made easy.
  • bobokun/qbit_manage - Very helpful program to cleanup qBitorrent torrents.
  • qmcgaw/gluetun - Got completely fed up dealing with OPNsense selective Wireguard routing configuration, this is just way simpler, and they are both virtualized anyway so no tangible performance difference vs OPNsense.
  • phpmyadmin/phpmyadmin - Offical phpMyAdmin image for DB fiddling.
  • containrrr/watchtower - Official Watchtower image to update all containers.
  • oznu/homebridge - Provides Apple Homekit functionality to non-supported devices on my network.
  • oznu/cloudflare-ddns - Cloudflare dynamic DNS updater.
  • google-containers/cadvisor - Collecting some stats for use by Prometheus.
  • mbentley/timemachine:smb - Time Capsule for providing Time Machine backup functionality to all macOS devices.

Configuration

I am using a Docker .env file, which contains all the variables found in the docker-compose.yml