From 4a36411fb190b387878a4d19c332b0f2f6e89b50 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 28 Jul 2026 13:02:28 -0700 Subject: [PATCH 1/5] Add Hermes backend to docker compose --- docker-compose.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 95680fb..7a8f1df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,13 @@ services: + hermes: + image: ghcr.io/nasa/hermes:latest + command: + - --bind-type + - tcp + - --bind + - 0.0.0.0:6880 + ports: + - "6880:6880" timescaledb: image: timescale/timescaledb:latest-pg16 environment: From 7cfb2fa786f8c6da094d6099c6a18101501bccc6 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 28 Jul 2026 13:13:29 -0700 Subject: [PATCH 2/5] Provision hermes db connection --- config/hermes/hermes.json | 14 ++++++++++++++ docker-compose.yml | 13 +++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 config/hermes/hermes.json diff --git a/config/hermes/hermes.json b/config/hermes/hermes.json new file mode 100644 index 0000000..f5cd5ea --- /dev/null +++ b/config/hermes/hermes.json @@ -0,0 +1,14 @@ +[ + { + "name": "TimescaleDB", + "provider": "TimescaleDB", + "settings": { + "host": "timescaledb:5432", + "user": "postgres", + "password": "password", + "database": "hermes", + "events": true, + "telemetry": true + } + } +] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 7a8f1df..65cefee 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,8 +6,16 @@ services: - tcp - --bind - 0.0.0.0:6880 + - --root + - /etc/hermes + - --start ports: - "6880:6880" + volumes: + - ./config/hermes:/etc/hermes + depends_on: + timescaledb: + condition: service_healthy timescaledb: image: timescale/timescaledb:latest-pg16 environment: @@ -18,6 +26,11 @@ services: - 5432:5432/tcp volumes: - timescale-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres -d hermes"] + interval: 5s + timeout: 5s + retries: 5 grafana: image: grafana/grafana:latest restart: unless-stopped From f4e6e007b673ca87d53590f7be824c8a3c2f2d5e Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 28 Jul 2026 13:16:57 -0700 Subject: [PATCH 3/5] Use env vars for db health check --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 65cefee..3210dff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,7 +27,7 @@ services: volumes: - timescale-data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U postgres -d hermes"] + test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] interval: 5s timeout: 5s retries: 5 From ab5f7af4224f42ddafe52211ca099f1ceed44efa Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 28 Jul 2026 13:23:32 -0700 Subject: [PATCH 4/5] Connect Hermes to grafana --- config/datasources/grafana-datasources.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/datasources/grafana-datasources.yml b/config/datasources/grafana-datasources.yml index 38def06..ca5b9e9 100644 --- a/config/datasources/grafana-datasources.yml +++ b/config/datasources/grafana-datasources.yml @@ -11,6 +11,6 @@ datasources: host: 'timescaledb:5432' user: 'postgres' database: 'hermes' - hermes: 'host.docker.internal:6880' + hermes: 'hermes:6880' secureJsonData: password: 'password' From 44146394f55a74e11d8ff3020b7f7e4e5c59ebb7 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Tue, 11 Aug 2026 16:22:40 -0700 Subject: [PATCH 5/5] Fix hermes url provision --- config/datasources/grafana-datasources.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/datasources/grafana-datasources.yml b/config/datasources/grafana-datasources.yml index ca5b9e9..8243eb3 100644 --- a/config/datasources/grafana-datasources.yml +++ b/config/datasources/grafana-datasources.yml @@ -11,6 +11,6 @@ datasources: host: 'timescaledb:5432' user: 'postgres' database: 'hermes' - hermes: 'hermes:6880' + hermesUrl: 'hermes:6880' secureJsonData: password: 'password'