A lot of folks ask how to get started on a Docker stack and what to use to manage it all, so I figured I could share my docker-compose file for everyone to dig through and modify to your liking.

There are plenty of writeups on how to get Docker running on your platform, but I recommend using the official documentation from the Docker website. I assume most of you might use Ubuntu, so here are the instructions for Ubuntu

A few notes about it:

On my docker host (Intel NUC, 8GB RAM, 256GB Samsung Evo m.2, running Alpine Linux), I have a directory /srv/docker where I store all persistent data for all my containers. I use Portainer for a ‘GUI’ for my Docker stack If you don’t have any Ubiquiti gear, obviously the UNIFI container is worthless to you. My Home Assistant is storing data in PostgreSQL, and I have a flow in my Node Red that also copies some events to the Mongo database (for me to play with later on another project) I am using InfluxDB so I can feed Grafana (Chronograf is really just there for me to play with)

My workflow consists of:

syncthing running in a container, pointing to my hass-config directory, where all my home assistant configuration files are, and I have syncthing running on my desktop, laptop, and NAS so I can keep versions, as well as being able to edit files locally on my computer, or while I am away on my laptop.

config changes are synced across almost instantly, and whenever I am done, I just restart my container using either Portainer or HA-Dockermon script in HASS

Once you have a docker compose file created, you can just type docker-compose up -d to start it all up.

I hope this helps some of you get started and takes some of the mystery out of a Home Assistant Docker stack. While this is not a comprehensive tutorial, or considered the ‘correct way’ to do anything, this has been working well for me for coming up on 8 months (many months of just running a couple of containers to figure out what I wanted the end product to look like)

In case you are wondering about the load on my NUC:

My Docker-Compose.yaml:

gist.github.com https://gist.github.com/flamingm0e/521347e107fd03e9d852d7dcac1cc6a5 docker-compose.yaml version: '3.1' services: unifi: container_name: unifi restart: unless-stopped image: linuxserver/unifi volumes: - /srv/docker/unifi:/config environment: - PGID=0 This file has been truncated. show original