services: redis: image: redis:7-alpine restart: unless-stopped volumes: - redis_data:/data networks: - internal api: build: context: . dockerfile: packages/api/Dockerfile restart: unless-stopped environment: - DATABASE_URL=sqlite:///./remodel.db - REDIS_URL=redis://redis:6379 depends_on: - redis volumes: - ./data:/app/data labels: - "traefik.enable=true" - "traefik.http.routers.api.rule=Host(`model.manohargupta.com`) && PathPrefix(`/api`)" - "traefik.http.routers.api.entrypoints=web" - "traefik.http.services.api.loadbalancer.server.port=8000" networks: - internal - web worker: build: context: . dockerfile: packages/api/Dockerfile command: arq remodel_api.workers.main.WorkerSettings restart: unless-stopped environment: - DATABASE_URL=sqlite:///./remodel.db - REDIS_URL=redis://redis:6379 depends_on: - redis volumes: - ./data:/app/data networks: - internal web: build: context: ./packages/web dockerfile: Dockerfile restart: unless-stopped environment: - NEXT_PUBLIC_API_URL=http://api:8000 labels: - "traefik.enable=true" - "traefik.http.routers.web.rule=Host(`model.manohargupta.com`)" - "traefik.http.routers.web.entrypoints=web" - "traefik.http.services.web.loadbalancer.server.port=3000" networks: - web networks: internal: internal: true web: driver: bridge volumes: redis_data: