63 lines
2.1 KiB
YAML
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
|