| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- version: "3.3"
 
- services:
 
-   proxy:
 
-     ports:
 
-       - "10000:80"
 
-     command:
 
-       # Enable Docker in Traefik, so that it reads labels from Docker services
 
-       - --providers.docker
 
-       # Add a constraint to only use services with the label for this stack
 
-       # from the env var TRAEFIK_TAG
 
-       - --providers.docker.constraints=Label(`traefik.constraint-label-stack`, `${TRAEFIK_TAG?Variable not set}`)
 
-       # Do not expose all Docker services, only the ones explicitly exposed
 
-       - --providers.docker.exposedbydefault=false
 
-       # Disable Docker Swarm mode for local development
 
-       # - --providers.docker.swarmmode
 
-       # Enable the access log, with HTTP requests
 
-       - --accesslog
 
-       # Enable the Traefik log, for configurations and errors
 
-       - --log
 
-       # Enable the Dashboard and API
 
-       - --api
 
-       # Enable the Dashboard and API in insecure mode for local development
 
-       - --api.insecure=true
 
-     labels:
 
-       - traefik.enable=true
 
-       - traefik.http.routers.${STACK_NAME?Variable not set}-traefik-public-http.rule=Host(`${DOMAIN?Variable not set}`)
 
-       - traefik.http.services.${STACK_NAME?Variable not set}-traefik-public.loadbalancer.server.port=80
 
-   flower:
 
-     ports:
 
-       - "5555:5555"
 
-   backend:
 
-     volumes:
 
-       - ./backend/app:/app
 
-       - /${BACKEND_ZIP_STORAGE}:/app/${BACKEND_ZIP_STORAGE}
 
-       - /${BACKEND_VIDEO_STORAGE}:/app/${BACKEND_VIDEO_STORAGE}
 
-     environment:
 
-       - SERVER_HOST=http://${DOMAIN?Variable not set}
 
-     build:
 
-       context: ./backend
 
-       dockerfile: backend.dockerfile
 
-       args:
 
-         INSTALL_DEV: ${INSTALL_DEV-true}
 
-         INSTALL_JUPYTER: ${INSTALL_JUPYTER-false}
 
-     # command: bash -c "while true; do sleep 1; done"  # Infinite loop to keep container live doing nothing
 
-     command: /start-reload.sh
 
-     labels:
 
-       - traefik.enable=true
 
-       - traefik.constraint-label-stack=${TRAEFIK_TAG?Variable not set}
 
-       - traefik.http.routers.${STACK_NAME?Variable not set}-backend-http.rule=PathPrefix(`/api`) || PathPrefix(`/docs`) || PathPrefix(`/redoc`)
 
-       - traefik.http.services.${STACK_NAME?Variable not set}-backend.loadbalancer.server.port=80
 
-   gpuceleryworker:
 
-     volumes:
 
-       - ./backend/app:/app
 
-       - /${CELERY_ZIP_STORAGE}:/${CELERY_ZIP_STORAGE}
 
-       - /${CELERY_VIDEO_STORAGE}:/${CELERY_VIDEO_STORAGE}
 
-     environment:
 
-       - RUN=celery worker -A app.worker -l info -Q main-queue -c 1
 
-     build:
 
-       context: ./backend
 
-       dockerfile: gpuceleryworker.dockerfile
 
-       args:
 
-         INSTALL_DEV: ${INSTALL_DEV-true}
 
-         INSTALL_JUPYTER: ${INSTALL_JUPYTER-false}
 
- networks:
 
-   traefik-public:
 
-     # For local dev, don't expect an external Traefik network
 
-     external: false
 
 
  |