59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
services:
|
|
pm-api:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: pm-api
|
|
environment:
|
|
PM_DATABASE_URL: postgresql+asyncpg://postgres:postgres@procurement-postgres:5432/procurement
|
|
PM_SESSION_SECRET: ${PM_SESSION_SECRET:-12278fc281bd0e22950e76364e1a18cea61fbc6a24604fdd79690a817ec36ac8}
|
|
PM_ADMIN_USER: ${PM_ADMIN_USER:-admin}
|
|
PM_ADMIN_PASSWORD: ${PM_ADMIN_PASSWORD:-pm123456}
|
|
PM_FILES_DIR: /data/files
|
|
PM_DEV_ROLE_SWITCH: ${PM_DEV_ROLE_SWITCH:-false}
|
|
PM_ERP_BASE_URL: http://procurement-api:8000
|
|
PM_ERP_CASDOOR_ENDPOINT: http://casdoor:8000
|
|
PM_ERP_CASDOOR_CLIENT_ID: ${PM_ERP_CASDOOR_CLIENT_ID:-inventory-app-client}
|
|
PM_ERP_CASDOOR_CLIENT_SECRET: ${PM_ERP_CASDOOR_CLIENT_SECRET:-inventory-app-secret-2026}
|
|
PM_ERP_SERVICE_USERNAME: ${PM_ERP_SERVICE_USERNAME:-pm-service}
|
|
PM_ERP_SERVICE_PASSWORD: ${PM_ERP_SERVICE_PASSWORD:-pm-service-2026}
|
|
PM_CASDOOR_ISSUER: ${PM_CASDOOR_ISSUER:-http://localhost:8080}
|
|
volumes:
|
|
- pm_files:/data/files
|
|
- ./backend/app:/srv/pm/app
|
|
networks:
|
|
- default
|
|
- erp_network
|
|
restart: unless-stopped
|
|
|
|
pm-frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: pm-frontend
|
|
ports:
|
|
- "8083:80"
|
|
depends_on:
|
|
- pm-api
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.pm.rule=PathPrefix(`/pm`)"
|
|
- "traefik.http.routers.pm.entrypoints=web"
|
|
- "traefik.http.routers.pm.priority=100"
|
|
- "traefik.http.services.pm.loadbalancer.server.port=80"
|
|
networks:
|
|
- default
|
|
- traefik_network
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
pm_files:
|
|
|
|
networks:
|
|
default:
|
|
name: pm_default
|
|
erp_network:
|
|
name: all-together_default
|
|
external: true
|
|
traefik_network:
|
|
external: true |