alabuga/docker-compose.yaml
Oleg Yurchik 41530f451b fix
2025-10-04 21:58:51 +03:00

70 lines
2.6 KiB
YAML

version: "3.9"
services:
backend:
build:
context: ./backend
volumes:
- backend-data:/data
environment:
ALABUGA_ENVIRONMENT: "${ALABUGA_ENVIRONMENT}"
ALABUGA_DEBUG: "${ALABUGA_DEBUG}"
ALABUGA_SECRET_KEY: "${ALABUGA_SECRET_KEY}"
ALABUGA_JWT_ALGORITHM: "HS256"
ALABUGA_ACCESS_TOKEN_EXPIRE_MINUTES: "720"
ALABUGA_REQUIRE_EMAIL_CONFIRMATION: "false"
ALABUGA_SQLITE_PATH: /data/app.db
ALABUGA_UPLOADS_PATH: /data/uploads
ALABUGA_BACKEND_CORS_ORIGIN: '["https://${ALABUGA_API_DOMAIN}","https://${ALABUGA_DOMAIN}"]'
networks:
- app-network
- collabry
labels:
- "traefik.enable=true"
- "traefik.docker.network=collabry"
- "traefik.http.services.alabuga-backend.loadbalancer.server.port=8000"
- "traefik.http.routers.alabuga-backend.service=alabuga-backend"
- "traefik.http.routers.alabuga-backend.rule=Host(`${ALABUGA_API_DOMAIN}`)"
- "traefik.http.routers.alabuga-backend.entrypoints=websecure"
- "traefik.http.routers.alabuga-backend.tls.certresolver=letsencrypt"
frontend:
build:
context: ./frontend
environment:
NEXT_PUBLIC_API_URL: "https://${ALABUGA_DOMAIN}"
NEXT_INTERNAL_API_URL: http://backend:8000
NEXT_PUBLIC_DEMO_EMAIL: "${NEXT_PUBLIC_DEMO_EMAIL}"
NEXT_PUBLIC_DEMO_PASSWORD: "${NEXT_PUBLIC_DEMO_PASSWORD}"
NEXT_PUBLIC_DEMO_HR_EMAIL: "${NEXT_PUBLIC_DEMO_HR_EMAIL}"
NEXT_PUBLIC_DEMO_HR_PASSWORD: "${NEXT_PUBLIC_DEMO_HR_PASSWORD}"
networks:
- app-network
- collabry
command: npm run dev -- --hostname 0.0.0.0 --port 3000
depends_on:
- backend
labels:
- "traefik.enable=true"
- "traefik.docker.network=collabry"
- "traefik.http.middlewares.alabuga-frontend.redirectregex.regex=^https://${ALABUGA_DOMAIN}(.*)"
- "traefik.http.middlewares.alabuga-frontend.redirectregex.replacement=https://alabuga.hchm.ru$$1"
- "traefik.http.middlewares.alabuga-frontend.redirectregex.permanent=true"
# - "traefik.http.services.alabuga-frontend.loadbalancer.server.port=3000"
- "traefik.http.routers.alabuga-frontend.middlewares=alabuga-frontend"
# - "traefik.http.routers.alabuga-frontend.service=alabuga-frontend"
- "traefik.http.routers.alabuga-frontend.service=noop@internal"
- "traefik.http.routers.alabuga-frontend.rule=Host(`${ALABUGA_DOMAIN}`)"
- "traefik.http.routers.alabuga-frontend.entrypoints=websecure"
- "traefik.http.routers.alabuga-frontend.tls.certresolver=letsencrypt"
volumes:
backend-data:
networks:
app-network:
collabry:
external: true