services: postgres-dev: image: postgres:16-alpine container_name: vidreview-db-dev environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} ports: - "5433:5432" volumes: - postgres_data_dev:/var/lib/postgresql/data healthcheck: test: ['CMD-SHELL', 'pg_isready -U vidreview_dev'] interval: 5s timeout: 5s retries: 5 init-dev: build: context: . dockerfile: Dockerfile.api container_name: vidreview-init-dev entrypoint: ['bash', '/scripts/init-admin.sh'] environment: DB_HOST: postgres-dev DB_NAME: ${POSTGRES_DB} DB_USER: ${POSTGRES_USER} DB_PASS: ${POSTGRES_PASSWORD} API_CONTAINER: api-dev DB_CONTAINER: vidreview-db-dev OUTPUT_DIR: /seed-output ADMIN_EMAIL: ${ADMIN_EMAIL} ADMIN_NAME: ${ADMIN_NAME} volumes: - ./seed-output-dev:/seed-output - ./scripts:/scripts depends_on: postgres-dev: condition: service_healthy api-dev: condition: service_healthy restart: 'no' api-dev: build: context: . dockerfile: Dockerfile.api container_name: vidreview-api-dev env_file: - .env.dev environment: NODE_ENV: ${NODE_ENV} FRONTEND_URL: https://dev-vid.k9tech.space ports: [] depends_on: postgres-dev: condition: service_healthy volumes: - uploads_dev:/app/uploads healthcheck: test: ['CMD-SHELL', 'wget -qO- http://localhost:3001/api/health || exit 0'] interval: 10s timeout: 5s retries: 5 worker-dev: build: context: . dockerfile: Dockerfile.api container_name: vidreview-worker-dev command: node src/worker/index.js env_file: - .env.dev environment: NODE_ENV: ${NODE_ENV} UPLOAD_DIR: /app/uploads POLL_INTERVAL_MS: ${POLL_INTERVAL_MS} WORKER_CONCURRENCY: ${WORKER_CONCURRENCY} ENCODER: ${ENCODER} STUCK_TIMEOUT_MS: ${STUCK_TIMEOUT_MS:-300000} depends_on: postgres-dev: condition: service_healthy volumes: - uploads_dev:/app/uploads restart: unless-stopped caddy-dev: image: caddy:2-alpine container_name: vidreview-caddy-dev ports: - "8083:8080" volumes: - ./Caddyfile.dev:/etc/caddy/Caddyfile:ro - uploads_dev:/app/uploads - caddy_data_dev:/data - caddy_config_dev:/config depends_on: - api-dev - frontend-dev frontend-dev: build: context: . dockerfile: Dockerfile.frontend args: NEXT_PUBLIC_API_URL: https://dev-vid.k9tech.space container_name: vidreview-frontend-dev env_file: - .env.dev environment: NEXT_PUBLIC_API_URL: https://dev-vid.k9tech.space NODE_ENV: ${NODE_ENV} expose: - "3000" depends_on: api-dev: condition: service_healthy volumes: postgres_data_dev: uploads_dev: seed_output_dev: caddy_data_dev: caddy_config_dev: