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 21. To create this config, I referenced Smart Home Beginner quite a bit.
The following containers are being run:
- traefik:latest - Official Traefik container, reverse proxy to expose docker services over TLS using Let's Encrypt.
- wiserain/flexget - A small and well-maintained FlexGet container that includes the plugins I need. Used to run my automated media centre.
- linuxserver/nginx - A good nginx/PHP container with alpine base and linuxserver support for user/group identifiers.
- linuxserver/deluge - A good Deluge container, which I used for manual downloading of files.
- linuxserver/transmission - Another good linuxserver container, used as part of my automated media centre in conjunction with Flexget and Filebot.
- linuxserver/unifi-controller - Latest stable of Ubiquiti Unifi controller for home network management.
- rednoah/filebot:node - Headless Filebot container, used for automated extraction of downloads via REST calls.
- mariadb:latest - Official MariaDB image.
- portainer/portainer - Official Portainer image, docker container management made easy.
- emby/embyserver:beta - Official Emby beta container, home media server.
- phpmyadmin/phpmyadmin - Offical phpMyAdmin image for DB fiddling.
- linuxserver/duplicati - Duplicati container, backs up important files on my Linux server files to Google Drive.
- 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.
- prom/prometheus - Prometheus stats collection, which I used to collect metrics on docker containers and the host machine. Used in conjunction with Grafana cloud.
- mbentley/timemachine:smb - Time Capsule for Time Machine backup onto network storage.
I am using a Docker .env file, which contains all the variables found in the docker-compose.yml