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+aiosqlite:////app/data/remodel.db - REDIS_URL=redis://redis:6379 depends_on: - redis volumes: - ./data:/app/data labels: - traefik.enable=true - traefik.docker.network=dokploy-network - traefik.http.routers.api.rule=Host(`model.manohargupta.com`) && PathPrefix(`/api`) - traefik.http.routers.api.entrypoints=websecure - traefik.http.routers.api.tls.certresolver=letsencrypt - traefik.http.services.api.loadbalancer.server.port=8000 networks: - internal - web worker: build: context: . dockerfile: packages/api/Dockerfile command: python -m arq remodel_api.workers.main.WorkerSettings restart: unless-stopped environment: - DATABASE_URL=sqlite+aiosqlite:////app/data/remodel.db - REDIS_URL=redis://redis:6379 depends_on: - redis volumes: - ./data:/app/data networks: - internal web: build: context: ./packages/web dockerfile: Dockerfile args: - NEXT_PUBLIC_API_URL=https://model.manohargupta.com restart: unless-stopped environment: - NEXT_PUBLIC_API_URL=https://model.manohargupta.com labels: - traefik.enable=true - traefik.docker.network=dokploy-network - traefik.http.routers.web.rule=Host(`model.manohargupta.com`) - traefik.http.routers.web.entrypoints=websecure - traefik.http.routers.web.tls.certresolver=letsencrypt - traefik.http.services.web.loadbalancer.server.port=3000 networks: - web networks: internal: internal: true web: name: dokploy-network external: true dokploy-network: external: true volumes: redis_data: null