storytellurx-v1/deploy/compose.yaml

36 lines
1 KiB
YAML

# StoryTellurX V1 on the HEAD VPS, deployed by doco-cd (head-vps) on every push to main.
# Its database is the SQLite object in the fuckingtech bucket of RustFS on this host (deno-sqlite-blob): no state here.
services:
web:
image: storytellurx-v1:main
build:
context: ..
dockerfile: deploy/Dockerfile
secrets:
- age_key
restart: unless-stopped
secrets:
- age_key
environment:
S3_BUCKET_REGION: us-east-1
S3_PUBLIC_URL: https://assets.fuckingtech.ch/fuckingtech/
networks:
- caddy
labels:
caddy: ${STX_V1_DOMAIN}
caddy.reverse_proxy: "{{upstreams 8000}}"
healthcheck:
test: ["CMD", "deno", "eval", "const r = await fetch('http://127.0.0.1:8000/about'); if (r.status >= 500) Deno.exit(1)"]
interval: 30s
timeout: 10s
start_period: 60s
retries: 3
secrets:
age_key:
# Created by head-vps/bootstrap.sh; its public half is a recipient in ../fnox.toml.
file: /etc/head-vps/age.key
networks:
caddy:
external: true