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

@@ -25,10 +25,10 @@ services:
condition: service_healthy
labels:
- "traefik.enable=true"
- "traefik.http.routers.matrix-http.rule=Host(`matrix.lazyworkhorse.net`)"
- "traefik.http.routers.matrix-http.rule=Host(`matrix.${DOMAIN}`)"
- "traefik.http.routers.matrix-http.entrypoints=web"
- "traefik.http.routers.matrix-http.middlewares=redirect-to-https"
- "traefik.http.routers.matrix-https.rule=Host(`matrix.lazyworkhorse.net`)"
- "traefik.http.routers.matrix-https.rule=Host(`matrix.${DOMAIN}`)"
- "traefik.http.routers.matrix-https.entrypoints=websecure"
- "traefik.http.routers.matrix-https.tls=true"
- "traefik.http.routers.matrix-https.tls.certresolver=njalla"
@@ -62,10 +62,10 @@ services:
- coms_net
labels:
- "traefik.enable=true"
- "traefik.http.routers.synapse-admin-http.rule=Host(`synadm.lazyworkhorse.net`)"
- "traefik.http.routers.synapse-admin-http.rule=Host(`synadm.${DOMAIN}`)"
- "traefik.http.routers.synapse-admin-http.entrypoints=web"
- "traefik.http.routers.synapse-admin-http.middlewares=redirect-to-https"
- "traefik.http.routers.synapse-admin-https.rule=Host(`synadm.lazyworkhorse.net`)"
- "traefik.http.routers.synapse-admin-https.rule=Host(`synadm.${DOMAIN}`)"
- "traefik.http.routers.synapse-admin-https.entrypoints=websecure"
- "traefik.http.routers.synapse-admin-https.tls=true"
- "traefik.http.routers.synapse-admin-https.tls.certresolver=njalla"
@@ -88,12 +88,12 @@ services:
# - "traefik.enable=true"
#
# # HTTP → HTTPS
# - "traefik.http.routers.rns-http.rule=Host(`nomad.lazyworkhorse.net`)"
# - "traefik.http.routers.rns-http.rule=Host(`nomad.${DOMAIN}`)"
# - "traefik.http.routers.rns-http.entrypoints=web"
# - "traefik.http.routers.rns-http.middlewares=redirect-to-https"
#
# # HTTPS protected by Authelia
# - "traefik.http.routers.rns-https.rule=Host(`nomad.lazyworkhorse.net`)"
# - "traefik.http.routers.rns-https.rule=Host(`nomad.${DOMAIN}`)"
# - "traefik.http.routers.rns-https.entrypoints=websecure"
# - "traefik.http.routers.rns-https.tls=true"
# - "traefik.http.routers.rns-https.tls.certresolver=njalla"