mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-04-15 11:15:58 +00:00
## Summary Fixes #702 — `.env` file `DISABLE_MOSQUITTO`/`DISABLE_CADDY` ignored when using `docker run`. ## Changes ### Entrypoint sources `/app/data/.env` The entrypoint now sources `/app/data/.env` (if present) before the `DISABLE_*` checks. This works regardless of how the container is started — `docker run`, compose, or `manage.sh`. ```bash if [ -f /app/data/.env ]; then set -a . /app/data/.env set +a fi ``` ### `DISABLE_CADDY` added to compose files Both `docker-compose.yml` and `docker-compose.staging.yml` now forward `DISABLE_CADDY` to the container environment (was missing — only `DISABLE_MOSQUITTO` was wired). ### Deployment docs updated - `docs/deployment.md`: bare `docker run` is now the primary/recommended approach with a full parameter reference table - Documents the `/app/data/.env` convenience feature - Compose and `manage.sh` marked as legacy alternatives - `DISABLE_CADDY` added to the environment variable reference ### README quick start updated Shows the full `docker run` command with `--restart`, ports, and volumes. Includes HTTPS variant. Documents `-e` flags and `.env` file. ### v3.5.0 release notes Updated the env var documentation to mention the `.env` file support. ## Testing - All Go server tests pass - All Go ingestor tests pass - No logic changes to Go code — entrypoint shell script + docs only --------- Co-authored-by: you <you@example.com>
42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
# All container config lives here. manage.sh is just a wrapper around docker compose.
|
|
# Override defaults via .env or environment variables.
|
|
# CRITICAL: All data mounts use bind mounts (~/path), NOT named volumes.
|
|
# This ensures the DB and theme are visible on the host filesystem for backup.
|
|
|
|
services:
|
|
prod:
|
|
build:
|
|
context: .
|
|
args:
|
|
APP_VERSION: ${APP_VERSION:-unknown}
|
|
GIT_COMMIT: ${GIT_COMMIT:-unknown}
|
|
BUILD_TIME: ${BUILD_TIME:-unknown}
|
|
image: corescope:latest
|
|
container_name: corescope-prod
|
|
restart: unless-stopped
|
|
stop_grace_period: 30s
|
|
stop_signal: SIGTERM
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
ports:
|
|
- "${PROD_HTTP_PORT:-80}:80"
|
|
- "${PROD_HTTPS_PORT:-443}:443"
|
|
- "${PROD_MQTT_PORT:-1883}:1883"
|
|
volumes:
|
|
- ./caddy-config/Caddyfile:/etc/caddy/Caddyfile:ro
|
|
- ${PROD_DATA_DIR:-~/meshcore-data}:/app/data
|
|
- caddy-data:/data/caddy
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DISABLE_MOSQUITTO=${DISABLE_MOSQUITTO:-false}
|
|
- DISABLE_CADDY=${DISABLE_CADDY:-false}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/stats"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
volumes:
|
|
# Named volumes for Caddy TLS certificates (not user data — managed by Caddy internally)
|
|
caddy-data:
|