refactor: use $DOMAIN env var instead of hardcoded lazyworkhorse.net
Some checks failed
Build Hermes agent / build (pull_request) Has been cancelled
Build ollama (gfx906) / build (pull_request) Has been cancelled

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
This commit is contained in:
2026-05-20 14:20:44 -04:00
parent d3f2e3b7b9
commit 5a4963c2bd
15 changed files with 87 additions and 53 deletions

View File

@@ -9,7 +9,10 @@ services:
- TZ=America/Montreal
- WEBSOCKET_ENABLED=true
- SIGNUPS_ALLOWED=false
- DOMAIN=https://pass.lazyworkhorse.net
# Vaultwarden env var DOMAIN — the ${DOMAIN} on the RHS is expanded
# by docker compose before the env var is set, so this resolves to
# DOMAIN=https://pass.lazyworkhorse.net in production.
- DOMAIN=https://pass.${DOMAIN}
volumes:
- /mnt/HoardingCow_docker_data/BitWarden/data:/data:rw
networks:
@@ -19,12 +22,12 @@ services:
- "traefik.enable=true"
# HTTP → HTTPS
- "traefik.http.routers.pass-http.rule=Host(`pass.lazyworkhorse.net`)"
- "traefik.http.routers.pass-http.rule=Host(`pass.${DOMAIN}`)"
- "traefik.http.routers.pass-http.entrypoints=web"
- "traefik.http.routers.pass-http.middlewares=redirect-to-https"
# HTTPS
- "traefik.http.routers.pass-https.rule=Host(`pass.lazyworkhorse.net`)"
- "traefik.http.routers.pass-https.rule=Host(`pass.${DOMAIN}`)"
- "traefik.http.routers.pass-https.entrypoints=websecure"
- "traefik.http.routers.pass-https.tls=true"
- "traefik.http.routers.pass-https.tls.certresolver=njalla"