life-towers/docker-compose.yml
Andras Schmelczer a48aad974a
All checks were successful
CI / Backend tests (push) Successful in 30s
CI / Frontend lint (push) Successful in 33s
CI / Frontend build (push) Successful in 25s
CI / Frontend unit tests (push) Successful in 1m6s
CI / Playwright e2e (push) Successful in 1m43s
Docker / build-and-push (push) Successful in 2m30s
Support subpath
2026-05-31 20:27:41 +01:00

39 lines
1.6 KiB
YAML

services:
life-towers:
# Default to a registry image so `docker compose pull && up -d` deploys
# a new build. Override LIFE_TOWERS_IMAGE in your `.env` to pin a tag,
# or set it to e.g. `life-towers:local` and uncomment `build: .` for
# local builds.
image: ${LIFE_TOWERS_IMAGE:-life-towers:local}
# For a local production build, uncomment the block below. BASE_HREF must
# match the sub-path the app is served under (the published image is built
# with /towers/ by .forgejo/workflows/docker.yml).
# build:
# context: .
# args:
# BASE_HREF: /towers/
pull_policy: ${LIFE_TOWERS_PULL_POLICY:-missing}
ports:
- "${LIFE_TOWERS_PORT:-8000}:8000"
volumes:
# Named volume inherits ownership from the image (UID 1000 / appuser).
# To switch to a bind mount for easy host-side backups, replace with:
# - ./data:/data
# and first run: `mkdir -p data && sudo chown 1000:1000 data`.
- life-towers-data:/data
environment:
LIFE_TOWERS_ALLOWED_ORIGIN: "${LIFE_TOWERS_ALLOWED_ORIGIN:-}"
# Absolute public URL of the deployment, used to render correct canonical
# / Open Graph / Twitter tags. Required when served under a sub-path,
# because nginx strips the prefix before proxying so the backend can't
# otherwise infer it. Override in .env for a different host/path.
LIFE_TOWERS_PUBLIC_URL: "${LIFE_TOWERS_PUBLIC_URL:-https://schmelczer.dev/towers/}"
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
volumes:
life-towers-data: