volumes: videolab-cut-postgres: videolab-cut-storage: videolab-cut-models: services: videolab-cut-postgres: image: cr.videolab.store/videolab-cut/postgres environment: POSTGRES_USER: demo POSTGRES_PASSWORD: demo POSTGRES_DB: demo volumes: - videolab-cut-postgres:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U demo"] interval: 10s timeout: 5s retries: 5 videolab-cut-rabbitmq: image: cr.videolab.store/videolab-cut/rabbitmq environment: RABBITMQ_DEFAULT_USER: demo RABBITMQ_DEFAULT_PASS: demo healthcheck: test: ["CMD", "rabbitmq-diagnostics", "ping"] interval: 10s timeout: 5s retries: 5 videolab-cut-api: image: cr.videolab.store/videolab-cut/api environment: DEMO_MODE: true ConnectionStrings__DefaultConnection: Host=videolab-cut-postgres;Port=5432;Database=demo;Username=demo;Password=demo RabbitMq__Host: videolab-cut-rabbitmq RabbitMq__Username: demo RabbitMq__Password: demo FileStorage__BasePath: /app/storage Transcoding__VideoEncoder: ${FFMPEG_CODEC:-libvpx-vp9} volumes: - videolab-cut-storage:/app/storage depends_on: videolab-cut-postgres: condition: service_healthy videolab-cut-rabbitmq: condition: service_healthy restart: unless-stopped videolab-cut-platform: image: cr.videolab.store/videolab-cut/platform environment: ConnectionStrings__DefaultConnection: Host=videolab-cut-postgres;Port=5432;Database=demo;Username=demo;Password=demo RabbitMq__Host: videolab-cut-rabbitmq RabbitMq__Username: demo RabbitMq__Password: demo FileStorage__BasePath: /app/storage WebApi__Url: http://videolab-cut-api:8080 Transcoding__VideoEncoder: ${FFMPEG_CODEC:-libvpx-vp9} restart: unless-stopped volumes: - videolab-cut-storage:/app/storage - videolab-cut-models:/app/models depends_on: videolab-cut-postgres: condition: service_healthy videolab-cut-rabbitmq: condition: service_healthy videolab-cut-client: image: cr.videolab.store/videolab-cut/client environment: API_URL: http://videolab-cut-api:8080 VITE_DEMO_MODE: true ports: - 8080:80 depends_on: - videolab-cut-api restart: unless-stopped