Files
compose/finance/compose.yml
Hermes 5a4963c2bd
Some checks failed
Build Hermes agent / build (pull_request) Has been cancelled
Build ollama (gfx906) / build (pull_request) Has been cancelled
refactor: use $DOMAIN env var instead of hardcoded lazyworkhorse.net
Replace all hardcoded lazyworkhorse.net references in compose files
with ${DOMAIN} variable substitution. Create .env.production and
.env.staging environment files. Update Makefile with ENV selection
(--env-file support) and staging/production targets.

Changes:
- All 13 compose YAML files: lazyworkhorse.net -> ${DOMAIN}
- New .env.production (DOMAIN=lazyworkhorse.net)
- New .env.staging (DOMAIN=staging.lazyworkhorse.net)
- Makefile: ENV var, --env-file flag, staging/production targets
- Gitea redirect regex updated for variable substitution
- CI workflow checkout URLs left hardcoded (infrastructure refs)
- Dockerfile SSH host refs left hardcoded (infrastructure refs)

Deploy: make ENV=staging all_up  or  make staging
        make ENV=production all_up  or  make production
2026-05-20 14:20:44 -04:00

41 lines
1.5 KiB
YAML

version: "3.9"
services:
fava:
image: yegle/fava
container_name: fava
environment:
- BEANCOUNT_FILE=/data/beancount_finance_vault/ledger/main/tpouplier.beancount
volumes:
- /mnt/HoardingCow_docker_data/Fava:/data
networks:
- finance_net
restart: always
labels:
- "traefik.enable=true"
# HTTP → HTTPS redirect
- "traefik.http.routers.fava-http.rule=Host(`money.${DOMAIN}`)"
- "traefik.http.routers.fava-http.entrypoints=web"
- "traefik.http.routers.fava-http.middlewares=redirect-to-https"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
# HTTPS router protected by Authelia
- "traefik.http.routers.fava-https.rule=Host(`money.${DOMAIN}`)"
- "traefik.http.routers.fava-https.entrypoints=websecure"
- "traefik.http.routers.fava-https.tls=true"
- "traefik.http.routers.fava-https.tls.certresolver=njalla"
- "traefik.http.routers.fava-https.middlewares=fava-auth"
# Authelia forwardAuth
- "traefik.http.middlewares.fava-auth.forwardauth.address=http://authelia:9091/api/verify?rd=https://auth.${DOMAIN}/"
- "traefik.http.middlewares.fava-auth.forwardauth.trustforwardheader=true"
- "traefik.http.middlewares.fava-auth.forwardauth.authresponseheaders=X-Forwarded-User,X-Forwarded-Groups"
# Internal port
- "traefik.http.services.fava.loadbalancer.server.port=5000"
networks:
finance_net:
external: true