Law/docker-compose.yml
2026-02-25 18:18:05 +03:00

76 lines
1.7 KiB
YAML

services:
frontend:
build:
context: .
dockerfile: frontend/Dockerfile
container_name: law-frontend
depends_on: [backend]
ports: ["8081:80"]
e2e:
build:
context: .
dockerfile: e2e/Dockerfile
image: law-e2e-playwright:1.58.2
container_name: law-e2e
working_dir: /src/e2e
depends_on: [frontend]
volumes:
- .:/src
- /src/e2e/node_modules
environment:
NODE_PATH: /opt/e2e/node_modules
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
backend:
build: .
container_name: law-backend
env_file: .env
depends_on: [db, redis, minio]
ports: ["8002:8000"]
volumes: [".:/app"]
worker:
build: .
container_name: law-worker
env_file: .env
depends_on: [db, redis, minio]
command: ["celery","-A","app.workers.celery_app:celery_app","worker","-Q","notifications,maintenance,uploads","-l","INFO"]
volumes: [".:/app"]
beat:
build: .
container_name: law-beat
env_file: .env
depends_on: [redis]
command: ["celery","-A","app.workers.celery_app:celery_app","beat","-l","INFO"]
volumes: [".:/app"]
db:
image: postgres:16
container_name: law-db
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: legal
ports: ["5432:5432"]
volumes: ["pgdata:/var/lib/postgresql/data"]
redis:
image: redis:7
container_name: law-redis
ports: ["6379:6379"]
minio:
image: minio/minio:latest
container_name: law-minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
ports: ["9000:9000", "9001:9001"]
volumes: ["miniodata:/data"]
volumes:
pgdata:
miniodata: