version: '2.4' services: # Uncomment the service below to expose the socket on the network. # On balenaOS devices, this will probably be done by the OS and the # access controlled via the firewall # helios-api: # build: ./ # image: helios # command: socat TCP-LISTEN:80,reuseaddr,fork UNIX-CONNECT:/tmp/run/helios.sock # ports: # - 48484:80 # depends_on: # - helios # volumes: # - runtime:/tmp/run # healthcheck: # test: ['CMD', 'wget', '-O', '-', '-q', 'http://127.0.0.1/ping'] helios: build: ./ image: helios restart: on-failure labels: # Needed to get access to supervisor api variables # and credentials io.balena.features.supervisor-api: '1' # Needed for access to DOCKER_HOST io.balena.features.balena-socket: '1' # Needed to stop the supervisor service io.balena.features.dbus: '1' # Needed to get access to the API credentials io.balena.features.balena-api: '1' environment: - DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket # Needed for locks and balenahup. This needs to match the device # used for the `runtime` volume - BALENA_HOST_RUNTIME_DIR=/tmp volumes: # Critical configurations - config:/config/helios # Request caching - cache:/cache/helios # Persistent system state data that can be reconstructed from # the target state - state:/local/helios # Runtime directory. Data here does not persist reboots - runtime:/tmp/run volumes: config: state: labels: # the database version, can be bumped to re-create the state io.balena.private.db-version: 0 cache: runtime: driver: local driver_opts: type: none o: bind device: /tmp