services: mqtt: image: eclipse-mosquitto:2.0 container_name: spore-mqtt ports: - "1883:1883" - "9001:9001" volumes: - ./data/mqtt/data:/mosquitto/data - ./config/mqtt/mosquitto.conf:/mosquitto/config/mosquitto.conf restart: unless-stopped healthcheck: test: ["CMD-SHELL", "nc -z localhost 1883 || exit 1"] interval: 30s timeout: 10s retries: 3 gateway: build: context: ../spore-gateway dockerfile: Dockerfile image: wirelos/spore-gateway:latest container_name: spore-gateway network_mode: host environment: - LOG_LEVEL=info - MQTT_SERVER=tcp://localhost:1883 - MQTT_USER= - MQTT_PASSWORD= depends_on: mqtt: condition: service_healthy restart: unless-stopped healthcheck: test: ["CMD-SHELL", "nc -z localhost 3001 || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s registry: build: context: ../spore-registry dockerfile: Dockerfile image: wirelos/spore-registry:latest container_name: spore-registry ports: - "3002:3002" volumes: - ./data/registry:/data/registry environment: - REGISTRY_PATH=/data/registry restart: unless-stopped healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:3002/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s ledlab: build: context: ../spore-ledlab dockerfile: Dockerfile image: wirelos/spore-ledlab:latest container_name: spore-ledlab network_mode: host environment: - PORT=8080 - UDP_PORT=4210 - GATEWAY_URL=http://localhost:3001 - FILTER_APP_LABEL=pixelstream - MATRIX_WIDTH=16 - MATRIX_HEIGHT=16 - FPS=20 depends_on: - gateway restart: unless-stopped healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/api/status"] interval: 30s timeout: 10s retries: 3 start_period: 40s ui: build: context: ../spore-ui dockerfile: Dockerfile image: wirelos/spore-ui:latest container_name: spore-ui ports: - "3000:3000" environment: - PORT=3000 depends_on: - gateway restart: unless-stopped healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s