fix(services): conditional caddy_net across all Docker service scripts

Only include the caddy_net network block in generated docker-compose.yml
files when ~/docker/caddy exists. Prevents "network caddy_net declared
as external, but could not be found" on standalone installs without Caddy.

Affected: actualbudget, archivebox, arm, audiobookshelf, calibre-web,
changedetection, drum-rhythm-game, emby, fmd, frigate, frigate-audio,
frigate-notify, gatus, homeassistant, immich, iopaint, jellyfin, joplin,
koha, lyrion, magicmirror, mail-archiver, mattermost, mealie, meshcentral,
n8n, nextcloud, ntfy, onlyoffice, portainer, stirling-pdf, syncthing,
traccar, unifi, uptimekuma, vaultwarden, wg-easy

Skipped: authelia (creates caddy_net itself), caddy, crowdsec, wolf,
wolf-pair, and services using network_mode: host with no caddy_net.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8ckUJQtj1pH8jtAddBDZs
This commit is contained in:
Claude
2026-06-20 04:16:41 +00:00
parent 68a4effad5
commit fa906186c3
37 changed files with 715 additions and 347 deletions
+17 -9
View File
@@ -346,8 +346,19 @@ install_koha() {
ensure_docker_dir_ownership "$KOHA_DIR"
cd "$KOHA_DIR" || return 1
local _CADDY_NET_ENTRY=""
local _CADDY_NET_SECTION=""
if [ -d "$DOCKER_DIR/caddy" ]; then
_CADDY_NET_ENTRY=" - caddy_net
"
_CADDY_NET_SECTION=" caddy_net:
external: true
name: ${SITE_CADDY_NET:-caddy_net}
"
fi
# ── docker-compose.yml ────────────────────────────────────────────────────
cat > docker-compose.yml << 'KOHA_COMPOSE'
cat > docker-compose.yml << KOHA_COMPOSE
name: koha
services:
@@ -370,18 +381,17 @@ services:
- koha-rabbitmq
networks:
- koha_internal
- caddy_net
${_CADDY_NET_ENTRY}
koha-db:
image: mariadb:11
container_name: koha-db
hostname: koha-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
MYSQL_ROOT_PASSWORD: \${DB_ROOT_PASS}
MYSQL_DATABASE: koha_default
MYSQL_USER: koha_default
MYSQL_PASSWORD: ${DB_PASS}
MYSQL_PASSWORD: \${DB_PASS}
volumes:
- ./data:/var/lib/mysql
networks:
@@ -402,16 +412,14 @@ services:
restart: unless-stopped
environment:
RABBITMQ_DEFAULT_USER: koha
RABBITMQ_DEFAULT_PASS: ${RABBIT_PASS}
RABBITMQ_DEFAULT_PASS: \${RABBIT_PASS}
networks:
- koha_internal
networks:
koha_internal:
internal: true
caddy_net:
external: true
name: ${CADDY_NET:-caddy_net}
${_CADDY_NET_SECTION}
KOHA_COMPOSE
# ── config-main.env ───────────────────────────────────────────────────────