diff --git a/api/tacticalrmm/tacticalrmm/utils.py b/api/tacticalrmm/tacticalrmm/utils.py index a8dbb73d01..21724b9c17 100644 --- a/api/tacticalrmm/tacticalrmm/utils.py +++ b/api/tacticalrmm/tacticalrmm/utils.py @@ -204,6 +204,7 @@ def reload_nats() -> None: "cert_file": cert_file, "key_file": key_file, }, + "http": "localhost:8222", "authorization": {"users": users}, "max_payload": 67108864, "port": nats_std_port, # internal only diff --git a/docker/containers/tactical-meshcentral/dockerfile b/docker/containers/tactical-meshcentral/dockerfile index 2705daf5c8..234ede45f4 100644 --- a/docker/containers/tactical-meshcentral/dockerfile +++ b/docker/containers/tactical-meshcentral/dockerfile @@ -8,6 +8,8 @@ RUN apk add --no-cache bash SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"] +RUN apk add --no-cache curl + COPY api/tacticalrmm/tacticalrmm/settings.py /tmp/settings.py RUN npm install meshcentral@$(grep -o 'MESH_VER.*' /tmp/settings.py | cut -d'"' -f 2) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 51615aecd4..b0140ad49a 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -30,6 +30,12 @@ services: POSTGRES_DB: tacticalrmm POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASS} + healthcheck: + test: [ "CMD", "pg_isready", "-U", "tactical", "-d", "tacticalrmm" ] + interval: 30s + timeout: 10s + retries: 5 + start_period: 10s volumes: - postgres_data:/var/lib/postgresql/data networks: @@ -42,6 +48,12 @@ services: user: 1000:1000 command: redis-server restart: always + healthcheck: + test: [ "CMD", "redis-cli", "ping" ] + interval: 30s + timeout: 10s + retries: 5 + start_period: 10s volumes: - redis_data:/data networks: @@ -128,6 +140,12 @@ services: MONGO_INITDB_ROOT_USERNAME: ${MONGODB_USER} MONGO_INITDB_ROOT_PASSWORD: ${MONGODB_PASSWORD} MONGO_INITDB_DATABASE: meshcentral + healthcheck: + test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/meshcentral --quiet + interval: 30s + timeout: 10s + retries: 5 + start_period: 10s networks: - mesh-db volumes: @@ -191,6 +209,12 @@ services: MESH_HOST: ${MESH_HOST} CERT_PUB_KEY: ${CERT_PUB_KEY} CERT_PRIV_KEY: ${CERT_PRIV_KEY} + healthcheck: + test: [ "CMD", "curl", "--silent", "--fail", "http://localhost:8080" ] + interval: 30s + timeout: 10s + retries: 5 + start_period: 10s networks: proxy: ipv4_address: 172.20.0.20