53f4df6e3c
- scripts/deploy.sh: Full deploy flow with fresh builds (--no-cache) - scripts/build-check.sh: Pre-flight staleness check - Docker labels for build tracking (git commit + timestamp) - Prevents stale container bug from recurring
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
services:
|
|
gravl-backend:
|
|
container_name: gravl-backend
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
args:
|
|
GIT_COMMIT: ${GIT_COMMIT:-unknown}
|
|
BUILD_DATE: ${BUILD_DATE:-unknown}
|
|
restart: unless-stopped
|
|
environment:
|
|
- DB_HOST=postgres
|
|
- DB_PORT=5432
|
|
- DB_USER=postgres
|
|
- DB_PASSWORD=homelab_postgres_2026
|
|
- DB_NAME=gravl
|
|
networks:
|
|
- proxy
|
|
- homelab
|
|
expose:
|
|
- "3001"
|
|
labels:
|
|
- "org.opencontainers.image.revision=${GIT_COMMIT:-unknown}"
|
|
- "org.opencontainers.image.created=${BUILD_DATE:-unknown}"
|
|
|
|
gravl-frontend:
|
|
container_name: gravl-frontend
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
args:
|
|
GIT_COMMIT: ${GIT_COMMIT:-unknown}
|
|
BUILD_DATE: ${BUILD_DATE:-unknown}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- gravl-backend
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.gravl.rule=Host(`gravl.homelab.local`)"
|
|
- "traefik.http.routers.gravl.entrypoints=web"
|
|
- "traefik.http.routers.gravl.service=gravl"
|
|
- "traefik.http.routers.gravl-secure.rule=Host(`gravl.homelab.local`)"
|
|
- "traefik.http.routers.gravl-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.gravl-secure.tls=true"
|
|
- "traefik.http.routers.gravl-secure.service=gravl"
|
|
- "traefik.http.services.gravl.loadbalancer.server.port=80"
|
|
- "org.opencontainers.image.revision=${GIT_COMMIT:-unknown}"
|
|
- "org.opencontainers.image.created=${BUILD_DATE:-unknown}"
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
homelab:
|
|
name: compose_homelab
|
|
external: true
|