alabuga/docker-compose.yaml
Oleg Yurchik 4ec237eb0e fix
2025-10-02 20:36:43 +03:00

63 lines
2.1 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-stage_default
labels:
- "traefik.enable=true"
- "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-stage_default
ports:
- '3000:3000'
command: npm run dev -- --hostname 0.0.0.0 --port 3000
depends_on:
- backend
labels:
- "traefik.enable=true"
- "traefik.http.services.alabuga-frontend.loadbalancer.server.port=8000"
- "traefik.http.routers.alabuga-frontend.service=alabuga-frontend"
- "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-stage_default:
external: true