capntack 168d6580ba | 2 years ago | |
---|---|---|
.. | ||
archived | 2 years ago | |
checkmk | 2 years ago | |
ghost-stack | 2 years ago | |
gitea | 2 years ago | |
it-tools | 2 years ago | |
linkding-stack | 2 years ago | |
littlelink-server | 2 years ago | |
lychee-stack | 2 years ago | |
nginx-proxy-manager | 2 years ago | |
openspeedtest | 2 years ago | |
organizr | 2 years ago | |
pi-hole | 2 years ago | |
portainer-agent | 2 years ago | |
portainer-ce | 2 years ago | |
uptime-kuma | 2 years ago | |
watchtower | 2 years ago | |
wikijs-stack | 2 years ago | |
README.md | 2 years ago |
README.md
README
Style Guide
I like consistency and readability/understandability. As such, I've defined myself a Boilerplate Style Guide for when creating new docker compose files. On a case by case basis, I may go against this template if it makes sense.
The official documentation for how the Docker Compose specification works can be found here.
Note that, starting with Docker Compose 1.27.0+, it is no longer necessary to specify the Docker Compose version (i.e. version: "3.1
) as this option has been deprecated.
The order of operations for how the cap_add
and cap_drop
options can be found here or reference the image below:
You can name Docker Compose files hower you like as long as it has a .yml or .yaml extension. However, if you name it anything other than docker-compose.yml
or docker-compose.yaml
, you must pass the filename in the docker compose command. i.e. docker compose <DOCKER_COMPOSE_FILE> up -d
I've left the default host side ports in these boilerplates. Which means several of them would conflict with each other. Please update accordingly to your setup.
I use custom networks for all of my containers that are able to utilize them. Feel free to adjust to your own setup.
# <FILE_NAME>.yml
# Docker Hub: <LINK_TO_IMAGE(S)_HUB_PAGE(S)>
# Documentation: <LINK_TO_DOCUMENTATION_IF_NEEDED>
# <ANY_EXTRA_NOTES>
volumes:
networks:
services:
<LIST_SERVICES_AS_MAKES_SENSE>:
<LIST_RUNTIME_ARGUEMENTS_ALPHABETICALLY>