From a50e5d21b0430a734929bc17017cc8c394b25524 Mon Sep 17 00:00:00 2001 From: RATDAD Date: Wed, 17 Dec 2025 19:53:38 -0500 Subject: Initial Commit --- stacks/.template/compose.template.yml | 43 +++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 stacks/.template/compose.template.yml (limited to 'stacks/.template/compose.template.yml') diff --git a/stacks/.template/compose.template.yml b/stacks/.template/compose.template.yml new file mode 100644 index 0000000..593c968 --- /dev/null +++ b/stacks/.template/compose.template.yml @@ -0,0 +1,43 @@ +## Template compose used for each stack. +name: ${_STACK} # Explicit project name (do not rely on directory name) + +networks: + net: + name: ${_NET} + external: true # All networks SHOULD be external in production. + +volumes: + data: + name: ${_DATA_VOLUME} + external: true # All volumes SHOULD be external in production. + config: + name: ${_CONFIG_VOLUME} + external: true + custom: + name: ${_CUSTOM_VOLUME} # Custom volumes may not be external depending on the stack. + # External volumes are not required for local stack testing. + +services: + servicename: + container_name: ${_CONTAINER} # Remove if a swarm is needed. + image: somewhere/someone/container:latest + restart: unless-stopped + env_file: + # NOTE: .compose.env WILL override .env if there are overlapping values. + - .compose.env # Compose wiring defaults go here + - .env # Service env vars + volumes: + # Example bind mount (read-only) + # - ./conf:/etc/service:ro + - type: volume + source: ${_DATA_VOLUME:-data} # Must exist if external; overridden in local dev + target: /data + - type: volume + source: ${_CONFIG_VOLUME:-config} # Must exist if external; overridden in local dev + target: /config + networks: + - net + expose: + - 80 + - 9001 + - 67 -- cgit v1.2.3-70-g09d2