Add support for docker & docker compose

This commit is contained in:
Ketan Padegaonkar
2024-06-11 18:42:01 +05:30
parent c6934214b4
commit e7824de7e8
5 changed files with 77 additions and 0 deletions

2
.dockerignore Normal file
View File

@ -0,0 +1,2 @@
.env
node_modules

8
docker/Dockerfile Normal file
View File

@ -0,0 +1,8 @@
FROM node:lts-alpine
COPY --from=ghcr.io/ufoscout/docker-compose-wait:latest /wait /wait
ADD ./ /app
WORKDIR /app
RUN npm install
EXPOSE 8080

47
docker/docker-compose.yml Normal file
View File

@ -0,0 +1,47 @@
services:
meshtastic-mqtt:
container_name: meshtastic-mqtt
depends_on:
- mariadb
build:
context: ..
dockerfile: docker/Dockerfile
command: /app/docker/mqtt.sh
links:
- mariadb
env_file:
- ../.env
meshmap:
container_name: meshmap
depends_on:
- mariadb
build:
context: ..
dockerfile: docker/Dockerfile
command: /app/docker/webapp.sh
ports:
- 8080:8080/tcp
links:
- mariadb
env_file:
- ../.env
mariadb:
container_name: mariadb
image: bitnami/mariadb
ports:
- 3306:3306/tcp
env_file:
- ../.env
volumes:
- mariadb_data:/bitnami/mariadb
healthcheck:
test: ['CMD', '/opt/bitnami/scripts/mariadb/healthcheck.sh']
interval: 15s
timeout: 5s
retries: 6
start_interval: 5s
volumes:
mariadb_data:

10
docker/mqtt.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
echo "Waiting for mysql"
/wait || exit 111
echo "Running migrations"
npx prisma migrate dev
echo "Starting mqtt listener"
exec node src/mqtt.js ${MESHMAP_MQTT_OPTS}

10
docker/webapp.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
echo "Waiting for mysql"
/wait || exit 111
echo "Running migrations"
npx prisma migrate dev
echo "Starting webapp"
exec node src/index.js