name: datacat services: backend: build: context: .. dockerfile: infra/Dockerfile.back.dev ports: - "3010:3000" volumes: - ..:/workspace - back_node_modules:/workspace/back/node_modules - shared_node_modules:/workspace/shared/node_modules - docs_output:/app/docs-output environment: DATABASE_HOST: db DATABASE_PORT: 5432 DATABASE_USER: datacat DATABASE_PASSWORD: datacat DATABASE_NAME: datacat NODE_ENV: development DOCS_OUTPUT_DIR: /app/docs-output working_dir: /workspace/back command: sh -c "cd /workspace && pnpm install && cd /workspace/back && pnpm run start:dev" networks: - network depends_on: db: condition: service_healthy frontend: build: context: .. dockerfile: infra/Dockerfile.front.dev ports: - "4200:4200" volumes: - ..:/workspace - front_node_modules:/workspace/front-public/node_modules working_dir: /workspace/front-public command: sh -c "cd /workspace && pnpm install && cd /workspace/front-public && node_modules/.bin/ng serve --host 0.0.0.0 --proxy-config proxy.conf.docker.json" networks: - network db: image: postgres:17-alpine environment: POSTGRES_USER: datacat POSTGRES_PASSWORD: datacat POSTGRES_DB: datacat ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data networks: - network healthcheck: test: ["CMD-SHELL", "pg_isready -U datacat"] interval: 5s timeout: 5s retries: 5 networks: network: driver: bridge volumes: back_node_modules: shared_node_modules: front_node_modules: postgres_data: docs_output: