summaryrefslogtreecommitdiff
path: root/playbooks/roles/src/templates/stacks/docker-compose.yml
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-05-01 00:27:42 -0700
committerElizabeth Hunt <me@liz.coffee>2025-05-01 00:27:42 -0700
commit2b9ff3c22f81a8d846bbc52aaa6f6524fec3bf77 (patch)
tree17155b8b7c970d2fdd4b8ea87646a07a9d27ee59 /playbooks/roles/src/templates/stacks/docker-compose.yml
parentd357056752382ffe4ae866304d3573c361dbe21a (diff)
downloadinfra-2b9ff3c22f81a8d846bbc52aaa6f6524fec3bf77.tar.gz
infra-2b9ff3c22f81a8d846bbc52aaa6f6524fec3bf77.zip
initial src stuff
Diffstat (limited to 'playbooks/roles/src/templates/stacks/docker-compose.yml')
-rw-r--r--playbooks/roles/src/templates/stacks/docker-compose.yml42
1 files changed, 42 insertions, 0 deletions
diff --git a/playbooks/roles/src/templates/stacks/docker-compose.yml b/playbooks/roles/src/templates/stacks/docker-compose.yml
new file mode 100644
index 0000000..11d95e6
--- /dev/null
+++ b/playbooks/roles/src/templates/stacks/docker-compose.yml
@@ -0,0 +1,42 @@
+services:
+ src:
+ image: charmcli/soft-serve
+ volumes:
+ - {{ src_base }}/volumes/data:/soft-serve
+ ports:
+ - "23231:23231"
+ environment:
+ - TZ={{ timezone }}
+ - DEPLOYMENT_TIME={{ now() }}
+ - SOFT_SERVE_NAME={{ src_domain }}
+ - SOFT_SERVE_HTTP_PUBLIC_URL=https://{{ src_domain }}
+ - SOFT_SERVE_INITIAL_ADMIN_KEYS={{ src_admin_keys }}
+ networks:
+ - proxy
+ healthcheck:
+ test: ["CMD-SHELL", "echo hi"] # todo: something more meaningful
+ timeout: 15s
+ interval: 30s
+ retries: 3
+ start_period: 10s
+ deploy:
+ mode: replicated
+ update_config:
+ parallelism: 1
+ failure_action: rollback
+ order: start-first
+ delay: 10s
+ monitor: 45s
+ replicas: 1
+ labels:
+ - traefik.enable=true
+ - traefik.swarm.network=proxy
+ - traefik.http.routers.src.tls=true
+ - traefik.http.routers.src.tls.certResolver=letsencrypt
+ - traefik.http.routers.src.rule=Host(`{{ src_domain }}`)
+ - traefik.http.routers.src.entrypoints=websecure
+ - traefik.http.services.src.loadbalancer.server.port=23232
+
+networks:
+ proxy:
+ external: true