feat(staging): add Traefik-based staging with automatic subdomains

This commit is contained in:
2026-03-01 00:14:22 +01:00
committed by Clawd Agent
parent da8bbbc01d
commit 4c48a177a1
2 changed files with 84 additions and 22 deletions
+23 -22
View File
@@ -1,28 +1,29 @@
# Staging Docker Compose - Traefik version
version: "3.8"
services:
frontend:
container_name: staging-gravl-PLACEHOLDER-frontend
networks:
- staging-network
gravl-frontend:
container_name: staging-gravl-frontend-BRANCH_NAME
labels:
- traefik.enable=true
- traefik.http.routers.staging-gravl-BRANCH_NAME.rule=Host(`BRANCH_NAME.gravl.homelab.local`)
- traefik.http.routers.staging-gravl-BRANCH_NAME.entrypoints=websecure
- traefik.http.routers.staging-gravl-BRANCH_NAME.tls=true
- traefik.http.services.staging-gravl-BRANCH_NAME.loadbalancer.server.port=80
environment:
- VITE_API_URL=http://localhost:3001
backend:
container_name: staging-gravl-PLACEHOLDER-backend
networks:
- staging-network
environment:
- NODE_ENV=staging
- PORT=3001
- CORS_ORIGIN=http://localhost:5173
db:
container_name: staging-gravl-PLACEHOLDER-db
image: postgres:15-alpine
networks:
- staging-network
- VITE_API_URL=https://BRANCH_NAME.api.gravl.homelab.local
gravl-backend:
container_name: staging-gravl-backend-BRANCH_NAME
labels:
- traefik.enable=true
- traefik.http.routers.staging-gravl-BRANCH_NAME-api.rule=Host(`BRANCH_NAME.api.gravl.homelab.local`)
- traefik.http.routers.staging-gravl-BRANCH_NAME-api.entrypoints=websecure
- traefik.http.routers.staging-gravl-BRANCH_NAME-api.tls=true
- traefik.http.services.staging-gravl-BRANCH_NAME-api.loadbalancer.server.port=3001
networks:
staging-network:
driver: bridge
proxy:
external: true
homelab:
external: true