From cae14da05e7b8645f323df79cb15041d00b1fb51 Mon Sep 17 00:00:00 2001 From: Kpa-clawbot Date: Sun, 5 Apr 2026 15:26:40 -0700 Subject: [PATCH] fix: implement DISABLE_CADDY env var in Docker entrypoint (#629) (#637) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Implements the `DISABLE_CADDY` environment variable in the Docker entrypoint, fixing #629. ## Problem The `DISABLE_CADDY` env var was documented but had no effect — the entrypoint only handled `DISABLE_MOSQUITTO`. ## Changes ### New supervisord configs - **`supervisord-go-no-caddy.conf`** — mosquitto + ingestor + server (no Caddy) - **`supervisord-go-no-mosquitto-no-caddy.conf`** — ingestor + server only ### Updated entrypoint (`docker/entrypoint-go.sh`) Handles all 4 combinations: | DISABLE_MOSQUITTO | DISABLE_CADDY | Config used | |---|---|---| | false | false | `supervisord.conf` (default) | | true | false | `supervisord-no-mosquitto.conf` | | false | true | `supervisord-no-caddy.conf` | | true | true | `supervisord-no-mosquitto-no-caddy.conf` | ### Dockerfiles Added COPY lines for the new configs in both `Dockerfile` and `Dockerfile.go`. ## Testing ```bash # Verify correct config selection docker run -e DISABLE_CADDY=true corescope # Should log: [config] Caddy reverse proxy disabled (DISABLE_CADDY=true) docker run -e DISABLE_CADDY=true -e DISABLE_MOSQUITTO=true corescope # Should log both disabled messages ``` Fixes #629 Co-authored-by: you --- Dockerfile | 2 + Dockerfile.go | 3 ++ docker/entrypoint-go.sh | 9 +++- docker/supervisord-go-no-caddy.conf | 43 +++++++++++++++++++ .../supervisord-go-no-mosquitto-no-caddy.conf | 34 +++++++++++++++ 5 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 docker/supervisord-go-no-caddy.conf create mode 100644 docker/supervisord-go-no-mosquitto-no-caddy.conf diff --git a/Dockerfile b/Dockerfile index fced52be..bdbcb352 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,6 +42,8 @@ RUN echo "unknown" > .git-commit # Supervisor + Mosquitto + Caddy config COPY docker/supervisord-go.conf /etc/supervisor/conf.d/supervisord.conf COPY docker/supervisord-go-no-mosquitto.conf /etc/supervisor/conf.d/supervisord-no-mosquitto.conf +COPY docker/supervisord-go-no-caddy.conf /etc/supervisor/conf.d/supervisord-no-caddy.conf +COPY docker/supervisord-go-no-mosquitto-no-caddy.conf /etc/supervisor/conf.d/supervisord-no-mosquitto-no-caddy.conf COPY docker/mosquitto.conf /etc/mosquitto/mosquitto.conf COPY docker/Caddyfile /etc/caddy/Caddyfile diff --git a/Dockerfile.go b/Dockerfile.go index 917e57c4..77e0329a 100644 --- a/Dockerfile.go +++ b/Dockerfile.go @@ -40,6 +40,9 @@ RUN if [ ! -f .git-commit ]; then echo "unknown" > .git-commit; fi # Supervisor + Mosquitto + Caddy config COPY docker/supervisord-go.conf /etc/supervisor/conf.d/supervisord.conf +COPY docker/supervisord-go-no-mosquitto.conf /etc/supervisor/conf.d/supervisord-no-mosquitto.conf +COPY docker/supervisord-go-no-caddy.conf /etc/supervisor/conf.d/supervisord-no-caddy.conf +COPY docker/supervisord-go-no-mosquitto-no-caddy.conf /etc/supervisor/conf.d/supervisord-no-mosquitto-no-caddy.conf COPY docker/mosquitto.conf /etc/mosquitto/mosquitto.conf COPY docker/Caddyfile /etc/caddy/Caddyfile diff --git a/docker/entrypoint-go.sh b/docker/entrypoint-go.sh index f59552fc..9ba3a323 100644 --- a/docker/entrypoint-go.sh +++ b/docker/entrypoint-go.sh @@ -15,9 +15,16 @@ if [ -f /app/data/theme.json ]; then fi SUPERVISORD_CONF="/etc/supervisor/conf.d/supervisord.conf" -if [ "${DISABLE_MOSQUITTO:-false}" = "true" ]; then +if [ "${DISABLE_MOSQUITTO:-false}" = "true" ] && [ "${DISABLE_CADDY:-false}" = "true" ]; then + echo "[config] internal MQTT broker disabled (DISABLE_MOSQUITTO=true)" + echo "[config] Caddy reverse proxy disabled (DISABLE_CADDY=true)" + SUPERVISORD_CONF="/etc/supervisor/conf.d/supervisord-no-mosquitto-no-caddy.conf" +elif [ "${DISABLE_MOSQUITTO:-false}" = "true" ]; then echo "[config] internal MQTT broker disabled (DISABLE_MOSQUITTO=true)" SUPERVISORD_CONF="/etc/supervisor/conf.d/supervisord-no-mosquitto.conf" +elif [ "${DISABLE_CADDY:-false}" = "true" ]; then + echo "[config] Caddy reverse proxy disabled (DISABLE_CADDY=true)" + SUPERVISORD_CONF="/etc/supervisor/conf.d/supervisord-no-caddy.conf" fi exec /usr/bin/supervisord -c "$SUPERVISORD_CONF" diff --git a/docker/supervisord-go-no-caddy.conf b/docker/supervisord-go-no-caddy.conf new file mode 100644 index 00000000..3ca0af00 --- /dev/null +++ b/docker/supervisord-go-no-caddy.conf @@ -0,0 +1,43 @@ +[supervisord] +nodaemon=true +user=root +logfile=/dev/stdout +logfile_maxbytes=0 +pidfile=/var/run/supervisord.pid + +[program:mosquitto] +command=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf +autostart=true +autorestart=true +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 + +[program:corescope-ingestor] +command=/app/corescope-ingestor -config /app/config.json +directory=/app +autostart=true +autorestart=true +startretries=10 +startsecs=2 +stopsignal=TERM +stopwaitsecs=20 +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 + +[program:corescope-server] +command=/app/corescope-server -config-dir /app -db /app/data/meshcore.db -public /app/public -port 3000 +directory=/app +autostart=true +autorestart=true +startretries=10 +startsecs=2 +stopsignal=TERM +stopwaitsecs=20 +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/supervisord-go-no-mosquitto-no-caddy.conf b/docker/supervisord-go-no-mosquitto-no-caddy.conf new file mode 100644 index 00000000..661d7719 --- /dev/null +++ b/docker/supervisord-go-no-mosquitto-no-caddy.conf @@ -0,0 +1,34 @@ +[supervisord] +nodaemon=true +user=root +logfile=/dev/stdout +logfile_maxbytes=0 +pidfile=/var/run/supervisord.pid + +[program:corescope-ingestor] +command=/app/corescope-ingestor -config /app/config.json +directory=/app +autostart=true +autorestart=true +startretries=10 +startsecs=2 +stopsignal=TERM +stopwaitsecs=20 +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 + +[program:corescope-server] +command=/app/corescope-server -config-dir /app -db /app/data/meshcore.db -public /app/public -port 3000 +directory=/app +autostart=true +autorestart=true +startretries=10 +startsecs=2 +stopsignal=TERM +stopwaitsecs=20 +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0