From 059de3711172e711ecd013e68fcad35e6bfea69d Mon Sep 17 00:00:00 2001 From: liamcottle Date: Fri, 14 Jun 2024 17:26:02 +1200 Subject: [PATCH] refactor docker compose --- docker/docker-compose.yml | 43 ++++++++++++++++++++---------------- docker/{webapp.sh => map.sh} | 4 ++-- docker/mqtt.sh | 2 +- 3 files changed, 27 insertions(+), 22 deletions(-) rename docker/{webapp.sh => map.sh} (64%) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f4417ca..f0294c7 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,41 +1,46 @@ services: + + # listens to mqtt packets and saves to database meshtastic-mqtt: container_name: meshtastic-mqtt depends_on: - - mariadb + - database build: context: .. dockerfile: docker/Dockerfile command: /app/docker/mqtt.sh - links: - - mariadb - env_file: - - ../.env + 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 - meshmap: - container_name: meshmap + # runs the web map ui + meshtastic-map: + container_name: meshtastic-map depends_on: - - mariadb + - database build: context: .. dockerfile: docker/Dockerfile - command: /app/docker/webapp.sh + command: /app/docker/map.sh ports: - 8080:8080/tcp - links: - - mariadb - env_file: - - ../.env + 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 - mariadb: - container_name: mariadb + # runs the database to store everything from mqtt + database: + container_name: database image: bitnami/mariadb ports: - 3306:3306/tcp - env_file: - - ../.env + environment: + MARIADB_DATABASE: "meshtastic-map" + MARIADB_ROOT_PASSWORD: "password" volumes: - - mariadb_data:/bitnami/mariadb + - database_data:/bitnami/mariadb healthcheck: test: ['CMD', '/opt/bitnami/scripts/mariadb/healthcheck.sh'] interval: 15s @@ -44,4 +49,4 @@ services: start_interval: 5s volumes: - mariadb_data: + database_data: diff --git a/docker/webapp.sh b/docker/map.sh similarity index 64% rename from docker/webapp.sh rename to docker/map.sh index 87af090..9d061d5 100755 --- a/docker/webapp.sh +++ b/docker/map.sh @@ -6,5 +6,5 @@ echo "Waiting for mysql" echo "Running migrations" npx prisma migrate dev -echo "Starting webapp" -exec node src/index.js +echo "Starting map ui" +exec node src/index.js ${MAP_OPTS} diff --git a/docker/mqtt.sh b/docker/mqtt.sh index 34eb1bb..454435b 100755 --- a/docker/mqtt.sh +++ b/docker/mqtt.sh @@ -7,4 +7,4 @@ echo "Running migrations" npx prisma migrate dev echo "Starting mqtt listener" -exec node src/mqtt.js ${MESHMAP_MQTT_OPTS} +exec node src/mqtt.js ${MQTT_OPTS}