services: videolab-editor-postgres: image: cr.videolab.store/videolab-editor/postgres container_name: videolab-editor-postgres environment: POSTGRES_DB: videolab POSTGRES_USER: videolab POSTGRES_PASSWORD: videolab volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U videolab"] interval: 5s timeout: 5s retries: 10 videolab-editor-rabbitmq: image: cr.videolab.store/videolab-editor/rabbitmq container_name: videolab-editor-rabbitmq environment: RABBITMQ_DEFAULT_USER: guest RABBITMQ_DEFAULT_PASS: guest volumes: - rabbitmq-data:/var/lib/rabbitmq healthcheck: test: ["CMD", "rabbitmq-diagnostics", "ping"] interval: 10s timeout: 5s retries: 10 videolab-editor-redis: image: cr.videolab.store/videolab-editor/redis container_name: videolab-editor-redis volumes: - redis-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 10 videolab-editor-minio: image: cr.videolab.store/videolab-editor/minio container_name: videolab-editor-minio entrypoint: /bin/sh -c "minio server /data --console-address ':9001' & until mc ready local; do sleep 1; done && mc alias set local http://localhost:9000 minioadmin minioadmin && mc mb --ignore-existing local/videolab-media && wait" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin ports: - 9000:9000 volumes: - minio-data:/data healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 5s timeout: 5s retries: 10 videolab-editor-api: image: cr.videolab.store/videolab-editor/api container_name: videolab-editor-api environment: ASPNETCORE_ENVIRONMENT: Production ConnectionStrings__DefaultConnection: Host=videolab-editor-postgres;Port=5432;Database=videolab;Username=videolab;Password=videolab RabbitMq__Host: videolab-editor-rabbitmq MinIO__Endpoint: videolab-editor-minio:9000 MinIO__PublicEndpoint: localhost:9000 ports: - 8090:8080 depends_on: videolab-editor-rabbitmq: condition: service_healthy videolab-editor-minio: condition: service_healthy healthcheck: test: ["CMD-SHELL", "wget -qO- http://localhost:8080/health || exit 1"] interval: 10s timeout: 5s retries: 10 videolab-editor-platform: image: cr.videolab.store/videolab-editor/platform container_name: videolab-editor-platform environment: DOTNET_ENVIRONMENT: Production ConnectionStrings__DefaultConnection: Host=videolab-editor-postgres;Port=5432;Database=videolab;Username=videolab;Password=videolab RabbitMq__Host: videolab-editor-rabbitmq MinIO__Endpoint: videolab-editor-minio:9000 MinIO__PublicEndpoint: localhost:9000 depends_on: videolab-editor-postgres: condition: service_healthy videolab-editor-rabbitmq: condition: service_healthy videolab-editor-minio: condition: service_healthy videolab-editor-client: image: cr.videolab.store/videolab-editor/client container_name: videolab-editor-client ports: - 3000:3000 environment: NODE_ENV: production NEXT_PUBLIC_API_URL: http://localhost:8090 NEXT_PUBLIC_OIDC_AUTHORITY: https://login.videolab.store NEXT_PUBLIC_OIDC_CLIENT_ID: videolab-editor-demo NEXT_PUBLIC_SKIP_AUTH: false API_PROXY_URL: http://videolab-editor-api:8080 depends_on: videolab-editor-api: condition: service_healthy volumes: postgres-data: rabbitmq-data: redis-data: minio-data: