From b84a7b2e4a055d611edfe963fb5d7cd3f8c98246 Mon Sep 17 00:00:00 2001 From: Aleksander <170264518+t-aleksander@users.noreply.github.com> Date: Wed, 12 Aug 2026 09:44:44 +0200 Subject: [PATCH 1/2] detect if journald is available --- docker-compose2.0/docker-compose.setup.yaml | 32 ++++++++++----------- docker-compose2.0/setup.sh | 22 ++++++++++++++ 2 files changed, 38 insertions(+), 16 deletions(-) diff --git a/docker-compose2.0/docker-compose.setup.yaml b/docker-compose2.0/docker-compose.setup.yaml index a5478bf..86a5006 100644 --- a/docker-compose2.0/docker-compose.setup.yaml +++ b/docker-compose2.0/docker-compose.setup.yaml @@ -1,10 +1,10 @@ services: core: restart: unless-stopped - logging: - driver: journald - options: - tag: "defguard-core" + # logging: + # driver: journald + # options: + # tag: "defguard-core" image: ghcr.io/defguard/defguard:${DEFGUARD_CORE_TAG:?DEFGUARD_CORE_TAG is required} env_file: .env environment: @@ -21,10 +21,10 @@ services: edge: restart: unless-stopped - logging: - driver: journald - options: - tag: "defguard-edge" + # logging: + # driver: journald + # options: + # tag: "defguard-edge" image: ghcr.io/defguard/defguard-proxy:${DEFGUARD_PROXY_TAG:?DEFGUARD_PROXY_TAG is required} env_file: .env volumes: @@ -36,10 +36,10 @@ services: gateway: restart: unless-stopped - logging: - driver: journald - options: - tag: "defguard-gateway" + # logging: + # driver: journald + # options: + # tag: "defguard-gateway" image: ghcr.io/defguard/gateway:${DEFGUARD_GATEWAY_TAG:?DEFGUARD_GATEWAY_TAG is required} env_file: .env cap_add: @@ -54,10 +54,10 @@ services: db: restart: unless-stopped - logging: - driver: journald - options: - tag: "defguard-db" + # logging: + # driver: journald + # options: + # tag: "defguard-db" image: postgres:18-alpine env_file: .env volumes: diff --git a/docker-compose2.0/setup.sh b/docker-compose2.0/setup.sh index 859f70a..505d7e2 100755 --- a/docker-compose2.0/setup.sh +++ b/docker-compose2.0/setup.sh @@ -209,6 +209,27 @@ download_compose_file() { success "Compose file downloaded." } +journald_available() { + # Docker Desktop runs the daemon in a VM with no journal, even when the host has one. + [[ "$(docker info --format '{{.OperatingSystem}}' 2>/dev/null)" != *"Docker Desktop"* ]] \ + && [[ -S /run/systemd/journal/socket ]] +} + +configure_logging() { + local tmp + tmp=$(mktemp) + + if journald_available; then + sed '/# *logging:/,/# *tag: "defguard-/ s/^\([[:space:]]*\)# \{0,1\}/\1/' "$COMPOSE_FILE" > "$tmp" + success "journald found – container logs go to the system journal." + else + sed '/^[[:space:]]*logging:/,/^[[:space:]]*tag: "defguard-/ s/^\([[:space:]]*\)/\1# /' "$COMPOSE_FILE" > "$tmp" + warn "journald not available – using Docker's default log driver." + fi + + mv "$tmp" "$COMPOSE_FILE" +} + write_env() { section "Generating configuration" @@ -290,6 +311,7 @@ main() { check_deps check_volumes download_compose_file + configure_logging write_env launch show_wizard_info From ad24a39dbdc139316358151dc0827d488b2002ea Mon Sep 17 00:00:00 2001 From: Aleksander <170264518+t-aleksander@users.noreply.github.com> Date: Wed, 12 Aug 2026 09:59:22 +0200 Subject: [PATCH 2/2] use marker --- docker-compose2.0/docker-compose.setup.yaml | 32 ++++++++++----------- docker-compose2.0/setup.sh | 16 ++++++----- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/docker-compose2.0/docker-compose.setup.yaml b/docker-compose2.0/docker-compose.setup.yaml index 86a5006..447487c 100644 --- a/docker-compose2.0/docker-compose.setup.yaml +++ b/docker-compose2.0/docker-compose.setup.yaml @@ -1,10 +1,10 @@ services: core: restart: unless-stopped - # logging: - # driver: journald - # options: - # tag: "defguard-core" + #journald logging: + #journald driver: journald + #journald options: + #journald tag: "defguard-core" image: ghcr.io/defguard/defguard:${DEFGUARD_CORE_TAG:?DEFGUARD_CORE_TAG is required} env_file: .env environment: @@ -21,10 +21,10 @@ services: edge: restart: unless-stopped - # logging: - # driver: journald - # options: - # tag: "defguard-edge" + #journald logging: + #journald driver: journald + #journald options: + #journald tag: "defguard-edge" image: ghcr.io/defguard/defguard-proxy:${DEFGUARD_PROXY_TAG:?DEFGUARD_PROXY_TAG is required} env_file: .env volumes: @@ -36,10 +36,10 @@ services: gateway: restart: unless-stopped - # logging: - # driver: journald - # options: - # tag: "defguard-gateway" + #journald logging: + #journald driver: journald + #journald options: + #journald tag: "defguard-gateway" image: ghcr.io/defguard/gateway:${DEFGUARD_GATEWAY_TAG:?DEFGUARD_GATEWAY_TAG is required} env_file: .env cap_add: @@ -54,10 +54,10 @@ services: db: restart: unless-stopped - # logging: - # driver: journald - # options: - # tag: "defguard-db" + #journald logging: + #journald driver: journald + #journald options: + #journald tag: "defguard-db" image: postgres:18-alpine env_file: .env volumes: diff --git a/docker-compose2.0/setup.sh b/docker-compose2.0/setup.sh index 505d7e2..05f0dc0 100755 --- a/docker-compose2.0/setup.sh +++ b/docker-compose2.0/setup.sh @@ -216,18 +216,20 @@ journald_available() { } configure_logging() { - local tmp - tmp=$(mktemp) + if ! grep -q '#journald ' "$COMPOSE_FILE"; then + return + fi - if journald_available; then - sed '/# *logging:/,/# *tag: "defguard-/ s/^\([[:space:]]*\)# \{0,1\}/\1/' "$COMPOSE_FILE" > "$tmp" - success "journald found – container logs go to the system journal." - else - sed '/^[[:space:]]*logging:/,/^[[:space:]]*tag: "defguard-/ s/^\([[:space:]]*\)/\1# /' "$COMPOSE_FILE" > "$tmp" + if ! journald_available; then warn "journald not available – using Docker's default log driver." + return fi + local tmp + tmp=$(mktemp) + sed 's/^\([[:space:]]*\)#journald /\1/' "$COMPOSE_FILE" > "$tmp" mv "$tmp" "$COMPOSE_FILE" + success "journald found – container logs go to the system journal." } write_env() {