Quite a few of the applications I run in my lab run inside Docker containers. Here they are

I used to run everything directly in Ubuntu Server virtual machines, but it made moving and upgrading services very difficult. Ubuntu 18 was also a dumpster fire in my opinion, so instead of upgrading, I just switched to Debian I slowly moved everything I could over to Docker containers.

I have 4 total hosts, two are at home, and two are on my colocated server. All servers run Debian 9.6 and all are backed by NVMe storage which makes things nice and fast. They all run within ESXi 6.7 and are backed up every day

Docker01

Docker01 is my main Docker host and is located at my home. It has 16vCPU's, 8GB of RAM and 100GB thin vDisk. It has so many vCPU cores, because I happen to have a ton of CPU power going free thanks to my dual E5-2680 V2 CPU's. It runs the following containers:

Portainer - Portainer is a WebUI and managmant tool for Docker. This made it very easy to get into docker as I could visually see what was running, and how it was running. You can also use it to manage multiple docker hosts

https://hub.docker.com/r/portainer/portainer/

LibreNMS and MySQL server - LibreNMS is a very easy to use and setup SNMP monitoring service. I recommend you check it out!

https://hub.docker.com/r/jarischaefer/docker-librenms

HTML Speedtest - This is a very simply speed test that runs in the browser. This is great for very quickly testing bandwidth on my local network

https://hub.docker.com/r/adolfintel/speedtest

SFTP Server - This is a very basic container that just runs an SFTP server. I use this to transfer photos from my iPhone to my NAS, ill make a post on this later on

https://hub.docker.com/r/atmoz/sftp/

PLEX Server - This is the first of two PLEX servers I run. This one is only for TV Shows and Movies and is only used locally. It mounts a folder from my NAS which contains all my media

https://hub.docker.com/r/plexinc/pms-docker/

Tautulli - This provides monitoring, analytics and notifications for Plex Media Server. I honestly don't use this very much as I don't share my PLEX library with anyone, so it just shows one users views.. But check it out because it is pretty cool

https://hub.docker.com/r/linuxserver/tautulli/

Sonarr - This tool will index all of your TV shows, and hook into your downloader client of choice to automatically download TV shows as soon as they come out

https://hub.docker.com/r/linuxserver/sonarr/

CouchPotato - This is similar to Sonarr, but for Movies. I am well aware that Radarr exists, however so far its a big pile of flaming garbage.

https://hub.docker.com/r/linuxserver/couchpotato/

Cardigann - This tool lets you add more download sources to CouchPotato and Sonarr (And any other tool)

https://hub.docker.com/r/linuxserver/cardigann/

Docker02

Docker02 is located at home, and goes over my PIA VPN Gateway (See here how to do this). This VM has 8vCPU's, 4GB of RAM and a 30GB thin vDisk. This is where I run anything that I want to be a little more private...

Deluge - This is a torrent client with a nice WebUI. You can probably imagine why this runs on the host that goes over a VPN.

https://hub.docker.com/r/linuxserver/deluge/

SoulSeek - SoulSeek is a great tool for sharing files, lets leave it at that. It runs quite well in Docker and connects over VNC. Its a weird setup, but it works

https://hub.docker.com/r/danielguerra/soulseek/

Docker03

Docker03 is located on my colocated server (read about it here) and goes over the normal internet. It has 4vCPU's, 4GB of RAM and a 30GB thin vDisk. It runs the following:

PLEX Server - This is the second of two PLEX servers. This PLEX server is accessible over the internet, and is purely for streaming music

https://hub.docker.com/r/plexinc/pms-docker/

Ghost - This is the container that runs the blog you are currently reading

https://hub.docker.com/_/ghost/

Grafana - This is a SUPER flexible monitoring/graphing tool. Check out my website monitoring here which runs from this container

https://hub.docker.com/r/grafana/grafana/

NextCloud 15 - This is similar to Dropbox, but locally hosted. This gives me much more control over my data since I host it myself

https://hub.docker.com/_/nextcloud/

Traefik - This is a very easy to setup reverse proxy that can automatically create hosts from monitoring your Docker environment. It also automatically creates LetsEncrypt SSL certs and renews them when needed. Very cool.

https://hub.docker.com/_/traefik/

Now for some duplicates... These run over here as well as Docker01.

HTML Speedtest - This is another instance of the speedtest server above. I use this for testing the network connection on the colocated server, as well the site-to-site VPN connection

https://hub.docker.com/r/adolfintel/speedtest

SFTP Server - This is again a duplicate of what I run on Docker01. This lets me upload pictures while out of my home, to the much better internet connection here.

https://hub.docker.com/r/atmoz/sftp/

Portainer - Again this is a duplicate. This runs here just in case the Portainer instance on Docker01 is down or unavailable for some reason. Its nice to manage it "locally" without having portainer reach out over the VPN/WAN

https://hub.docker.com/r/portainer/portainer/

Docker04

Docker04 is located on the colocated server, and goes over the PIA VPN Gateway (See here how to do this). This VM has 2 vCPU's, 4GB of RAM and a 40GB thin vDisk.

Currently, this runs nothing... So I saved you some reading.

Let me know what you think!