homelab-blueprint/docker-compose-files/koffan/template.yaml
Brian Pooe 3a314b16d6 feat: add Koffan, Rackula, and SnapOtter stacks; expose Hermes dashboard
- new compose templates + READMEs for the three LXC apps (110-112)
- Makefile deploy targets (rackula pre-owns its data dir for uid 1001)
- Caddy vhosts for all four, incl. Hermes /auth/login redirect workaround
- firewall docs: CADDY->TRUSTED rules for LXCs 110-113
2026-07-06 20:50:34 +02:00

36 lines
1.1 KiB
YAML

services:
koffan:
image: ghcr.io/pansalut/koffan:{{KOFFAN_VERSION:-latest}}
container_name: koffan
restart: unless-stopped
environment:
TZ: "{{TZ}}"
# production enables secure session cookies (we sit behind Caddy TLS)
APP_ENV: "{{KOFFAN_APP_ENV:-production}}"
# Shared household password — everyone logs in with the same one
APP_PASSWORD: "{{KOFFAN_APP_PASSWORD}}"
# true = no login at all; the network (Caddy + UDM zones) is the only gate
DISABLE_AUTH: "{{KOFFAN_DISABLE_AUTH:-false}}"
DEFAULT_LANG: "{{KOFFAN_DEFAULT_LANG:-en}}"
DB_PATH: /data/shopping.db
volumes:
- /etc/localtime:/etc/localtime:ro
- koffan_data:/data
ports:
- "{{KOFFAN_BIND_IP:-0.0.0.0}}:{{KOFFAN_PORT:-8080}}:8080"
security_opt:
- no-new-privileges:true
deploy:
resources:
limits:
memory: "{{KOFFAN_MEM_LIMIT:-128m}}"
reservations:
memory: 16M
logging:
driver: json-file
options:
max-file: "{{DOCKERLOGGING_MAXFILE}}"
max-size: "{{DOCKERLOGGING_MAXSIZE}}"
volumes:
koffan_data: