services: frontend: image: oktopusp/frontend-ce:latest environment: - NEXT_PUBLIC_REST_ENDPOINT= networks: - proxy - oktopus labels: - "traefik.enable=true" - "traefik.http.routers.oss.rule=Host(`oss.gigafibre.ca`)" - "traefik.http.routers.oss.entrypoints=web,websecure" - "traefik.http.routers.oss.tls.certresolver=letsencrypt" - "traefik.http.services.oss.loadbalancer.server.port=3000" - "traefik.docker.network=proxy" restart: unless-stopped controller: image: oktopusp/controller:latest environment: - MONGO_URI=mongodb://mongo:27017 - NATS_URL=nats://nats:4222 networks: - proxy - oktopus labels: - "traefik.enable=true" - "traefik.http.routers.oss-api.rule=Host(`oss.gigafibre.ca`) && PathPrefix(`/api`)" - "traefik.http.routers.oss-api.entrypoints=web,websecure" - "traefik.http.routers.oss-api.tls.certresolver=letsencrypt" - "traefik.http.services.oss-api.loadbalancer.server.port=8000" - "traefik.docker.network=proxy" restart: unless-stopped adapter: image: oktopusp/adapter:latest environment: - MONGO_URI=mongodb://mongo:27017 - NATS_URL=nats://nats:4222 networks: - oktopus restart: unless-stopped mongo: image: mongo:7 volumes: - oktopus-mongo:/data/db networks: - oktopus restart: unless-stopped nats: image: nats:2-alpine command: ["--jetstream"] volumes: - oktopus-nats:/data networks: - oktopus restart: unless-stopped mqtt: image: oktopusp/mqtt:latest environment: - NATS_URL=nats://nats:4222 ports: - "1883:1883" networks: - oktopus restart: unless-stopped mqtt-adapter: image: oktopusp/mqtt-adapter:latest environment: - NATS_URL=nats://nats:4222 - MQTT_URL=tcp://mqtt:1883 networks: - oktopus restart: unless-stopped acs: image: oktopusp/acs:latest environment: - NATS_URL=nats://nats:4222 ports: - "9292:9292" networks: - oktopus restart: unless-stopped socketio: image: oktopusp/socketio:latest environment: - NATS_URL=nats://nats:4222 networks: - oktopus restart: unless-stopped networks: proxy: external: true oktopus: driver: bridge volumes: oktopus-mongo: oktopus-nats: