logo

Docker has been a hot topic for the past year or so. It started to be used heavily in Dev environments and has since moved on to be used in production by companies like Google, Shopify, and Riot games. For the longest time, I’ve continued to do things the way I always do - fancy one liners, collections of bash scripts, things that generally break after a couple months.

Recently, I setup a mumble server and didn’t document anything. It was a dead simple setup process, so why bother documenting how the server is setup? What happens if I want to lifecycle the server or decide to change the OS and I need to move the mumble service elsewhere?

I am doing exactly that in a couple weeks - I’m upgrading my server to a new Xeon E5 and getting rid of the old. Docker, by design, is forcing me to ensure all my configurations are in one place and all the services are documented and portable.

I’ll be posting some of my experiences with Docker in production shortly. Right now, I’m moving the following in my home lab to Docker containers to learn:

  • PostgreSQL
  • Phusion Passenger (Ruby App server)
  • NGINX cache static asset host
  • Plex
  • Sonarr
  • Aria2 Downloader
  • rTorrent
  • Mumble

& more

While Docker is suitable for large-scale deployments, there’s nothing stopping you from using it in your home lab or in a small production environment.

I’m interested to hear of your own experiences using Docker in small environments.