53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
services:
|
|
|
|
# listens to mqtt packets and saves to database
|
|
meshtastic-mqtt:
|
|
container_name: meshtastic-mqtt
|
|
depends_on:
|
|
- database
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile
|
|
command: /app/docker/mqtt.sh
|
|
environment:
|
|
DATABASE_URL: "mysql://root:password@database:3306/meshtastic-map?connection_limit=100"
|
|
WAIT_HOSTS: "database:3306"
|
|
MQTT_OPTS: "" # add any custom mqtt.js options here
|
|
|
|
# runs the web map ui
|
|
meshtastic-map:
|
|
container_name: meshtastic-map
|
|
depends_on:
|
|
- database
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile
|
|
command: /app/docker/map.sh
|
|
ports:
|
|
- 8080:8080/tcp
|
|
environment:
|
|
DATABASE_URL: "mysql://root:password@database:3306/meshtastic-map?connection_limit=100"
|
|
WAIT_HOSTS: "database:3306"
|
|
MAP_OPTS: "" # add any custom index.js options here
|
|
|
|
# runs the database to store everything from mqtt
|
|
database:
|
|
container_name: database
|
|
image: bitnami/mariadb
|
|
ports:
|
|
- 3306:3306/tcp
|
|
environment:
|
|
MARIADB_DATABASE: "meshtastic-map"
|
|
MARIADB_ROOT_PASSWORD: "password"
|
|
volumes:
|
|
- database_data:/bitnami/mariadb
|
|
healthcheck:
|
|
test: ['CMD', '/opt/bitnami/scripts/mariadb/healthcheck.sh']
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 6
|
|
start_interval: 5s
|
|
|
|
volumes:
|
|
database_data:
|