docker-compose

These are most of the docker-compose.yml files I use (with secrets removed, of course). Technology hates me just often enough that I have to keep multiple backups of everything because my shit gets rocked so often. :D

See Table-of-Services.md for what each of these does, as well as seeing what I've discarded because it sucks (or just isn't for me).

Most of these are designed to be run behind a reverse proxy, and I use Cosmos for this. As a result, I often comment out ports declarations. Initial setup should probably be shielded by the reverse proxy login.

Named bind mounts

Managing volumes that need to be shared within a config is easier if you can use names with bind mounts:

volumes:
  name:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /path/on/host

Remember that directories must be created before starting containers.

Standard reminder notes

I place these at the top of compose files for different changes that need to be made to use these files:

  • # TODO set volume directories: Named bind mount paths must be set (near top of file).
  • # TODO change ALL_CAPS environment variables in all locations: Environment variables for secrets (or settings) must be set.
  • # TODO set user/group IDs: Container(s) must have a user block (user: "USER:GROUP") set to the correct numerical permissions.
  • # TODO set timezone (TZ): A timezone environment variable (named TZ) must be set. (For me, America/Denver.)

ReadMes

  1. Note where I got the original compose file or documentation.
  2. Add instructions.
  3. End with notes about complications or issues I ran into.
Description
Notes / docker-compose files.
Readme 113 KiB
Languages
Markdown 100%