🐳 Docker Compose
The Station runs four containers managed by station-agent.
Topology
Container Roles
| Container | Image | Port | Role |
|---|---|---|---|
backend | <dockerhub>/smart-home-backend | 3000 | Fastify API + WS + MQTT bridge |
frontend | <dockerhub>/smart-home-frontend | 80 | Nginx serving SPA + reverse proxy to backend |
postgres | postgres:16 | 5432 | Backend DB |
mosquitto | eclipse-mosquitto:2 | 1883 | MQTT broker |
Compose File
The production docker-compose.yml lives in smart-home-updates ↗. station-agent pulls and applies it.
Updates
When a new app version is released:
- station-agent reads
release.jsonfromsmart-home-updates - If
appVersionchanged, agent runsdocker compose pull - Then
docker compose up -d— Docker recreates only changed services