92 lines
2.9 KiB
YAML
92 lines
2.9 KiB
YAML
services:
|
|
|
|
# ── Gitea ────────────────────────────────────────────────────
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
environment:
|
|
- GITEA__database__DB_TYPE=postgres
|
|
- GITEA__database__HOST=gitea-db:5432
|
|
- GITEA__database__NAME=gitea
|
|
- GITEA__database__USER=gitea
|
|
- GITEA__database__PASSWD=gitea
|
|
volumes:
|
|
- gitea-data:/data
|
|
networks:
|
|
- proxy
|
|
- internal
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.git.rule=Host(`git.gigafibre.ca`)"
|
|
- "traefik.http.routers.git.entrypoints=websecure"
|
|
- "traefik.http.routers.git.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.git.loadbalancer.server.port=3000"
|
|
restart: unless-stopped
|
|
|
|
gitea-db:
|
|
image: postgres:14-alpine
|
|
environment:
|
|
- POSTGRES_DB=gitea
|
|
- POSTGRES_USER=gitea
|
|
- POSTGRES_PASSWORD=gitea
|
|
volumes:
|
|
- gitea-db-data:/var/lib/postgresql/data
|
|
networks:
|
|
- internal
|
|
restart: unless-stopped
|
|
|
|
# ── Targo Timesheet Frontend ─────────────────────────────────
|
|
targo-frontend:
|
|
image: nginx:alpine
|
|
volumes:
|
|
- targo-frontend-data:/usr/share/nginx/html
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.targo-app.rule=Host(`timesheet.gigafibre.ca`)"
|
|
- "traefik.http.routers.targo-app.entrypoints=websecure"
|
|
- "traefik.http.routers.targo-app.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.targo-app.loadbalancer.server.port=80"
|
|
restart: unless-stopped
|
|
|
|
# ── Dispatch App Frontend ────────────────────────────────────
|
|
dispatch-frontend:
|
|
image: nginx:alpine
|
|
volumes:
|
|
- dispatch-frontend-data:/usr/share/nginx/html
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.dispatch.rule=Host(`dispatch.gigafibre.ca`)"
|
|
- "traefik.http.routers.dispatch.entrypoints=websecure"
|
|
- "traefik.http.routers.dispatch.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.dispatch.loadbalancer.server.port=80"
|
|
restart: unless-stopped
|
|
|
|
# ── Targo Backend + DB ───────────────────────────────────────
|
|
targo-db:
|
|
image: postgres:14-alpine
|
|
environment:
|
|
- POSTGRES_DB=targo
|
|
- POSTGRES_USER=targo
|
|
- POSTGRES_PASSWORD=targo
|
|
volumes:
|
|
- targo-db-data:/var/lib/postgresql/data
|
|
networks:
|
|
- internal
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
internal:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
gitea-data:
|
|
gitea-db-data:
|
|
targo-frontend-data:
|
|
dispatch-frontend-data:
|
|
targo-db-data:
|