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: