Files
spore-deployment/docker-compose.yml

106 lines
2.5 KiB
YAML

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