services: dev: image: node:22-alpine working_dir: /workspace ports: - "43173:43173" - "8888:8888" environment: - NODE_ENV=development - HOST=0.0.0.0 - PORT=8888 - FRONTEND_URL=${FRONTEND_URL:-https://idev.bitpd.com} - DATABASE_URL=postgresql://incudal:incudal_dev_password@db:5432/incudal - REDIS_URL=redis://redis:6379 - CHOKIDAR_USEPOLLING=true - WATCHPACK_POLLING=true - DB_POOL_MAX=${DB_POOL_MAX:-20} - DB_POOL_MIN=${DB_POOL_MIN:-5} - DB_CONNECTION_TIMEOUT=${DB_CONNECTION_TIMEOUT:-5000} - DB_IDLE_TIMEOUT=${DB_IDLE_TIMEOUT:-30000} - DB_STATEMENT_TIMEOUT=${DB_STATEMENT_TIMEOUT:-30000} - DB_QUERY_TIMEOUT=${DB_QUERY_TIMEOUT:-30000} - TRAFFIC_CONCURRENCY_PER_HOST=${TRAFFIC_CONCURRENCY_PER_HOST:-10} - TRAFFIC_HOST_CONCURRENCY=${TRAFFIC_HOST_CONCURRENCY:-3} - DB_WORKER_BACKOFF_MS=${DB_WORKER_BACKOFF_MS:-15000} volumes: - .:/workspace - node_modules:/workspace/node_modules - client_node_modules:/workspace/client/node_modules - server_node_modules:/workspace/server/node_modules - pnpm_store:/root/.local/share/pnpm/store command: > sh -lc " corepack enable && corepack prepare pnpm@9.14.2 --activate && pnpm install && pnpm --filter server exec prisma migrate deploy && pnpm exec concurrently -n server,client,migrate -c blue,green,magenta \"pnpm --filter server dev\" \"pnpm --filter client dev --host 0.0.0.0 --port 43173\" \"node scripts/watch-migrations.mjs\" " depends_on: db: condition: service_healthy redis: condition: service_started db: image: postgres:16-alpine environment: - POSTGRES_USER=incudal - POSTGRES_PASSWORD=incudal_dev_password - POSTGRES_DB=incudal volumes: - postgres_data_dev:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U incudal"] interval: 5s timeout: 5s retries: 10 redis: image: redis:7-alpine volumes: - redis_data_dev:/data volumes: node_modules: client_node_modules: server_node_modules: pnpm_store: postgres_data_dev: redis_data_dev: