Multi-Container Deployment
The entire Pulzaura infrastructure launches with a single terminal command using Docker Compose.
Architecture Orchestration (docker-compose.yml)
services:
influxdb:
image: influxdb:2.7
ports: ["8086:8086"]
volumes: [influxdb_data:/var/lib/influxdb2]
backend:
build: ./backend
network_mode: host
privileged: true
volumes:
- /var/run/dbus:/var/run/dbus
depends_on:
influxdb:
condition: service_healthy
frontend:
build: ./frontend
ports: ["5173:80"]
grafana:
image: grafana/grafana:10.4.0
ports: ["3000:3000"]
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning
Critical BlueZ Host Requirements
Because the backend talks to host Bluetooth controllers, it requires:
network_mode: hostprivileged: true/var/run/dbusmounted into the container to access the host’s system message bus.