Fix Caddy routing and add caddy_net to all Docker services
- lib/common.sh: fix broken reverse_proxy target — localhost inside Caddy's container is the container's own loopback, not the host; change to host.docker.internal so proxied ports are actually reachable - services/caddy.sh: add extra_hosts host.docker.internal:host-gateway so the above resolves correctly; create caddy_net bridge network in Caddy's own compose so other services can reference it as external; update all Caddyfile template comments and README examples to match - services/filebrowser.sh: update image tag from deprecated :s6 to :latest; remove non-functional PUID/PGID env vars (filebrowser/filebrowser does not honour them); add configure_caddy_for_service call; add caddy_net - services/ntfy.sh: add configure_caddy_for_service call; add caddy_net - services/portainer.sh: add configure_caddy_for_service call; add caddy_net - services/frigate-notify.sh, watchtower.sh: add caddy_net for container-to-container comms (frigate, ntfy) without a Caddy call - All remaining web-facing Docker services: add caddy_net network block to docker-compose and CADDY_NET to .env where applicable; services using network_mode: host (wolf-pair, lyrion) have the top-level block only https://claude.ai/code/session_01UZus2Q9gNTfUdqSMrhuX29
This commit is contained in:
+1
-1
@@ -320,7 +320,7 @@ configure_caddy_for_service() {
|
|||||||
|
|
||||||
# $SERVICE_NAME
|
# $SERVICE_NAME
|
||||||
$SERVICE_DOMAIN {
|
$SERVICE_DOMAIN {
|
||||||
reverse_proxy localhost:$SERVICE_PORT
|
reverse_proxy host.docker.internal:$SERVICE_PORT
|
||||||
|
|
||||||
# Security headers
|
# Security headers
|
||||||
header {
|
header {
|
||||||
|
|||||||
@@ -40,10 +40,18 @@ services:
|
|||||||
- ./data:/data
|
- ./data:/data
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
AB_COMPOSE
|
AB_COMPOSE
|
||||||
|
|
||||||
cat > .env << AB_ENV
|
cat > .env << AB_ENV
|
||||||
TZ=$TZ_VAL
|
TZ=$TZ_VAL
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
AB_ENV
|
AB_ENV
|
||||||
|
|
||||||
chown -R "$ACTUAL_USER:$ACTUAL_USER" "$AB_DIR"
|
chown -R "$ACTUAL_USER:$ACTUAL_USER" "$AB_DIR"
|
||||||
|
|||||||
@@ -73,10 +73,18 @@ services:
|
|||||||
# Add more optical drives as needed:
|
# Add more optical drives as needed:
|
||||||
# - /dev/sr1:/dev/sr1
|
# - /dev/sr1:/dev/sr1
|
||||||
privileged: true
|
privileged: true
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
ARM_COMPOSE
|
ARM_COMPOSE
|
||||||
|
|
||||||
cat > .env << ARM_ENV
|
cat > .env << ARM_ENV
|
||||||
ARM_OUTPUT=$ARM_OUTPUT
|
ARM_OUTPUT=$ARM_OUTPUT
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
ARM_ENV
|
ARM_ENV
|
||||||
|
|
||||||
mkdir -p config logs
|
mkdir -p config logs
|
||||||
|
|||||||
@@ -50,11 +50,19 @@ services:
|
|||||||
- \${PODCASTS_PATH:-./podcasts}:/podcasts
|
- \${PODCASTS_PATH:-./podcasts}:/podcasts
|
||||||
ports:
|
ports:
|
||||||
- "13378:80"
|
- "13378:80"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
ABS_COMPOSE
|
ABS_COMPOSE
|
||||||
|
|
||||||
cat > .env << ABS_ENV
|
cat > .env << ABS_ENV
|
||||||
AUDIOBOOKS_PATH=$AUDIOBOOKS_PATH
|
AUDIOBOOKS_PATH=$AUDIOBOOKS_PATH
|
||||||
PODCASTS_PATH=./podcasts
|
PODCASTS_PATH=./podcasts
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
ABS_ENV
|
ABS_ENV
|
||||||
|
|
||||||
mkdir -p config metadata podcasts
|
mkdir -p config metadata podcasts
|
||||||
|
|||||||
+12
-3
@@ -82,6 +82,15 @@ services:
|
|||||||
- ACME_AGREE=true
|
- ACME_AGREE=true
|
||||||
labels:
|
labels:
|
||||||
- "io.podman.annotations.label/crowdsec.enable=true"
|
- "io.podman.annotations.label/crowdsec.enable=true"
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
driver: bridge
|
||||||
|
name: caddy_net
|
||||||
CADDY_COMPOSE
|
CADDY_COMPOSE
|
||||||
|
|
||||||
# Create Caddyfile if it doesn't exist
|
# Create Caddyfile if it doesn't exist
|
||||||
@@ -114,7 +123,7 @@ CADDY_COMPOSE
|
|||||||
# Example:
|
# Example:
|
||||||
# myservice.yourdomain.com {
|
# myservice.yourdomain.com {
|
||||||
# import authelia
|
# import authelia
|
||||||
# reverse_proxy localhost:PORT
|
# reverse_proxy host.docker.internal:PORT
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# ActualBudget
|
# ActualBudget
|
||||||
@@ -124,7 +133,7 @@ CADDY_COMPOSE
|
|||||||
# format json
|
# format json
|
||||||
# level INFO
|
# level INFO
|
||||||
# }
|
# }
|
||||||
# reverse_proxy localhost:5006
|
# reverse_proxy host.docker.internal:5006
|
||||||
# header {
|
# header {
|
||||||
# Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
|
# Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
|
||||||
# X-Frame-Options "SAMEORIGIN"
|
# X-Frame-Options "SAMEORIGIN"
|
||||||
@@ -165,7 +174,7 @@ a web service). You can also edit it by hand:
|
|||||||
|
|
||||||
```
|
```
|
||||||
myservice.example.com {
|
myservice.example.com {
|
||||||
reverse_proxy localhost:1234
|
reverse_proxy host.docker.internal:1234
|
||||||
log {
|
log {
|
||||||
output file /var/log/caddy/myservice.example.com.log
|
output file /var/log/caddy/myservice.example.com.log
|
||||||
format json
|
format json
|
||||||
|
|||||||
@@ -59,10 +59,18 @@ services:
|
|||||||
# Uncomment for hardware transcoding (Intel/AMD):
|
# Uncomment for hardware transcoding (Intel/AMD):
|
||||||
# devices:
|
# devices:
|
||||||
# - /dev/dri:/dev/dri
|
# - /dev/dri:/dev/dri
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
EMBY_COMPOSE
|
EMBY_COMPOSE
|
||||||
|
|
||||||
cat > .env << EMBY_ENV
|
cat > .env << EMBY_ENV
|
||||||
MEDIA_PATH=$MEDIA_PATH
|
MEDIA_PATH=$MEDIA_PATH
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
EMBY_ENV
|
EMBY_ENV
|
||||||
|
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
|
|||||||
+11
-3
@@ -26,13 +26,11 @@ name: filebrowser
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
filebrowser:
|
filebrowser:
|
||||||
image: filebrowser/filebrowser:s6
|
image: filebrowser/filebrowser:latest
|
||||||
container_name: filebrowser
|
container_name: filebrowser
|
||||||
hostname: filebrowser
|
hostname: filebrowser
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PUID=$(id -u "$ACTUAL_USER")
|
|
||||||
- PGID=$(id -g "$ACTUAL_USER")
|
|
||||||
- TZ=${SITE_TZ:-$(cat /etc/timezone 2>/dev/null || echo UTC)}
|
- TZ=${SITE_TZ:-$(cat /etc/timezone 2>/dev/null || echo UTC)}
|
||||||
volumes:
|
volumes:
|
||||||
- ${FB_PATH}:/srv
|
- ${FB_PATH}:/srv
|
||||||
@@ -40,10 +38,18 @@ services:
|
|||||||
- ./config/settings.json:/config/settings.json
|
- ./config/settings.json:/config/settings.json
|
||||||
ports:
|
ports:
|
||||||
- "8085:80"
|
- "8085:80"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
FB_COMPOSE
|
FB_COMPOSE
|
||||||
|
|
||||||
cat > .env << FB_ENV
|
cat > .env << FB_ENV
|
||||||
FB_PATH=$FB_PATH
|
FB_PATH=$FB_PATH
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
FB_ENV
|
FB_ENV
|
||||||
|
|
||||||
mkdir -p database config
|
mkdir -p database config
|
||||||
@@ -64,6 +70,8 @@ FB_SETTINGS
|
|||||||
echo ""
|
echo ""
|
||||||
log_success "Filebrowser configured at $FB_DIR"
|
log_success "Filebrowser configured at $FB_DIR"
|
||||||
|
|
||||||
|
configure_caddy_for_service "FileBrowser" "8085" "files"
|
||||||
|
|
||||||
write_readme "$FB_DIR" << MD
|
write_readme "$FB_DIR" << MD
|
||||||
# FileBrowser
|
# FileBrowser
|
||||||
|
|
||||||
|
|||||||
@@ -44,10 +44,18 @@ services:
|
|||||||
- ./data:/fmd/data
|
- ./data:/fmd/data
|
||||||
ports:
|
ports:
|
||||||
- "8084:8080"
|
- "8084:8080"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
FMD_COMPOSE
|
FMD_COMPOSE
|
||||||
|
|
||||||
cat > .env << FMD_ENV
|
cat > .env << FMD_ENV
|
||||||
FMD_ADMIN_PASSWORD=$FMD_PASS
|
FMD_ADMIN_PASSWORD=$FMD_PASS
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
FMD_ENV
|
FMD_ENV
|
||||||
|
|
||||||
mkdir -p data
|
mkdir -p data
|
||||||
|
|||||||
@@ -169,6 +169,7 @@ FN_FRIGATE__MQTT__PASSWORD=${MQTT_PASS}
|
|||||||
FN_FRIGATE__SERVER=http://frigate:5000
|
FN_FRIGATE__SERVER=http://frigate:5000
|
||||||
FN_FRIGATE__PUBLIC_URL=${FRIGATE_PUBLIC_URL}
|
FN_FRIGATE__PUBLIC_URL=${FRIGATE_PUBLIC_URL}
|
||||||
FN_ALERTS__NTFY__SERVER=${NTFY_SERVER}
|
FN_ALERTS__NTFY__SERVER=${NTFY_SERVER}
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
ENVEOF
|
ENVEOF
|
||||||
chmod 600 "$DIR/.env"
|
chmod 600 "$DIR/.env"
|
||||||
log_success ".env written"
|
log_success ".env written"
|
||||||
@@ -225,6 +226,8 @@ COMPOSEEOF
|
|||||||
- "8554:8554"
|
- "8554:8554"
|
||||||
- "8555:8555/tcp"
|
- "8555:8555/tcp"
|
||||||
- "8555:8555/udp"
|
- "8555:8555/udp"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:5000/api/version"]
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:5000/api/version"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
@@ -257,6 +260,11 @@ COMPOSEEOF
|
|||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
volumes:
|
volumes:
|
||||||
- ./frigate-notify/config.yml:/app/config.yml:ro
|
- ./frigate-notify/config.yml:/app/config.yml:ro
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
COMPOSEEOF
|
COMPOSEEOF
|
||||||
log_success "docker-compose.yml written"
|
log_success "docker-compose.yml written"
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,13 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./config.yml:/app/config.yml:ro
|
- ./config.yml:/app/config.yml:ro
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
FN_COMPOSE
|
FN_COMPOSE
|
||||||
|
|
||||||
# Smart defaults based on what's installed
|
# Smart defaults based on what's installed
|
||||||
|
|||||||
@@ -71,10 +71,18 @@ $DEVICE_BLOCK
|
|||||||
- "8554:8554"
|
- "8554:8554"
|
||||||
- "8555:8555/tcp"
|
- "8555:8555/tcp"
|
||||||
- "8555:8555/udp"
|
- "8555:8555/udp"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
FRIGATE_COMPOSE
|
FRIGATE_COMPOSE
|
||||||
|
|
||||||
cat > .env << FRIGATE_ENV
|
cat > .env << FRIGATE_ENV
|
||||||
FRIGATE_MEDIA=$FRIGATE_MEDIA
|
FRIGATE_MEDIA=$FRIGATE_MEDIA
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
FRIGATE_ENV
|
FRIGATE_ENV
|
||||||
|
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
|
|||||||
@@ -29,13 +29,16 @@ install_homeassistant() {
|
|||||||
echo " HomeKit, mDNS/Zeroconf, some Zigbee/Z-Wave & Bluetooth)."
|
echo " HomeKit, mDNS/Zeroconf, some Zigbee/Z-Wave & Bluetooth)."
|
||||||
local HA_NETMODE=""
|
local HA_NETMODE=""
|
||||||
prompt_text " Choose networking mode [1]:" "1" HA_NETMODE
|
prompt_text " Choose networking mode [1]:" "1" HA_NETMODE
|
||||||
local HA_NET_LINES
|
local HA_NET_LINES HA_CADDY_NET_LINES
|
||||||
if [ "$HA_NETMODE" = "2" ]; then
|
if [ "$HA_NETMODE" = "2" ]; then
|
||||||
HA_NET_LINES=" network_mode: host"
|
HA_NET_LINES=" network_mode: host"
|
||||||
|
HA_CADDY_NET_LINES=""
|
||||||
echo " → Host networking selected (best device discovery)."
|
echo " → Host networking selected (best device discovery)."
|
||||||
else
|
else
|
||||||
HA_NET_LINES=" ports:
|
HA_NET_LINES=" ports:
|
||||||
- \"8123:8123\""
|
- \"8123:8123\""
|
||||||
|
HA_CADDY_NET_LINES=" networks:
|
||||||
|
- caddy_net"
|
||||||
echo " → Bridge networking selected (port 8123 published)."
|
echo " → Bridge networking selected (port 8123 published)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -55,6 +58,12 @@ services:
|
|||||||
- ./config:/config
|
- ./config:/config
|
||||||
- /run/dbus:/run/dbus:ro
|
- /run/dbus:/run/dbus:ro
|
||||||
${HA_NET_LINES}
|
${HA_NET_LINES}
|
||||||
|
${HA_CADDY_NET_LINES}
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
HOMEASSISTANT_COMPOSE
|
HOMEASSISTANT_COMPOSE
|
||||||
|
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
|
|||||||
@@ -137,6 +137,8 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
disable: false
|
disable: false
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
immich-machine-learning:
|
immich-machine-learning:
|
||||||
container_name: immich_machine_learning
|
container_name: immich_machine_learning
|
||||||
@@ -170,6 +172,11 @@ services:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
model-cache:
|
model-cache:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
IMMICH_COMPOSE
|
IMMICH_COMPOSE
|
||||||
else
|
else
|
||||||
cat > docker-compose.yml << 'IMMICH_COMPOSE'
|
cat > docker-compose.yml << 'IMMICH_COMPOSE'
|
||||||
@@ -192,6 +199,8 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
disable: false
|
disable: false
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
immich-machine-learning:
|
immich-machine-learning:
|
||||||
container_name: immich_machine_learning
|
container_name: immich_machine_learning
|
||||||
@@ -225,6 +234,11 @@ services:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
model-cache:
|
model-cache:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
IMMICH_COMPOSE
|
IMMICH_COMPOSE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -254,6 +268,7 @@ DB_PASSWORD=$DB_PASS
|
|||||||
DB_USERNAME=postgres
|
DB_USERNAME=postgres
|
||||||
DB_DATABASE_NAME=immich
|
DB_DATABASE_NAME=immich
|
||||||
TZ=$TZ_VAL
|
TZ=$TZ_VAL
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
IMMICH_ENV
|
IMMICH_ENV
|
||||||
else
|
else
|
||||||
cat > .env << IMMICH_ENV
|
cat > .env << IMMICH_ENV
|
||||||
@@ -271,6 +286,7 @@ DB_PASSWORD=$DB_PASS
|
|||||||
DB_USERNAME=postgres
|
DB_USERNAME=postgres
|
||||||
DB_DATABASE_NAME=immich
|
DB_DATABASE_NAME=immich
|
||||||
TZ=$TZ_VAL
|
TZ=$TZ_VAL
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
IMMICH_ENV
|
IMMICH_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -69,10 +69,18 @@ $HWACCEL_BLOCK
|
|||||||
- "8096:8096"
|
- "8096:8096"
|
||||||
- "1900:1900/udp"
|
- "1900:1900/udp"
|
||||||
- "7359:7359/udp"
|
- "7359:7359/udp"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
JELLYFIN_COMPOSE
|
JELLYFIN_COMPOSE
|
||||||
|
|
||||||
cat > .env << JELLYFIN_ENV
|
cat > .env << JELLYFIN_ENV
|
||||||
MEDIA_PATH=$MEDIA_PATH
|
MEDIA_PATH=$MEDIA_PATH
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
JELLYFIN_ENV
|
JELLYFIN_ENV
|
||||||
|
|
||||||
mkdir -p config cache
|
mkdir -p config cache
|
||||||
|
|||||||
@@ -260,6 +260,13 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${JS99ER_PORT}:80"
|
- "${JS99ER_PORT}:80"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
COMPOSE
|
COMPOSE
|
||||||
log_success "Created js99er/docker-compose.yml"
|
log_success "Created js99er/docker-compose.yml"
|
||||||
|
|
||||||
|
|||||||
@@ -56,10 +56,16 @@ services:
|
|||||||
- \${MUSIC_PATH}:/music:ro
|
- \${MUSIC_PATH}:/music:ro
|
||||||
- ./playlists:/playlists:rw
|
- ./playlists:/playlists:rw
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
LYRION_COMPOSE
|
LYRION_COMPOSE
|
||||||
|
|
||||||
cat > .env << LYRION_ENV
|
cat > .env << LYRION_ENV
|
||||||
MUSIC_PATH=$MUSIC_PATH
|
MUSIC_PATH=$MUSIC_PATH
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
LYRION_ENV
|
LYRION_ENV
|
||||||
|
|
||||||
mkdir -p config playlists
|
mkdir -p config playlists
|
||||||
|
|||||||
@@ -63,6 +63,13 @@ services:
|
|||||||
- ./css:/opt/magic_mirror/css
|
- ./css:/opt/magic_mirror/css
|
||||||
ports:
|
ports:
|
||||||
- "$MM_PORT:8080"
|
- "$MM_PORT:8080"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
MM_COMPOSE
|
MM_COMPOSE
|
||||||
|
|
||||||
mkdir -p config modules css
|
mkdir -p config modules css
|
||||||
|
|||||||
@@ -50,6 +50,13 @@ services:
|
|||||||
- ./data:/app/data
|
- ./data:/app/data
|
||||||
ports:
|
ports:
|
||||||
- "9925:9000"
|
- "9925:9000"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
MEALIE_COMPOSE
|
MEALIE_COMPOSE
|
||||||
|
|
||||||
mkdir -p data
|
mkdir -p data
|
||||||
|
|||||||
@@ -54,12 +54,20 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "4430:443"
|
- "4430:443"
|
||||||
- "4433:4433"
|
- "4433:4433"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
MC_COMPOSE
|
MC_COMPOSE
|
||||||
|
|
||||||
cat > .env << MC_ENV
|
cat > .env << MC_ENV
|
||||||
MC_HOSTNAME=$MC_HOSTNAME
|
MC_HOSTNAME=$MC_HOSTNAME
|
||||||
MC_REVERSE_PROXY=false
|
MC_REVERSE_PROXY=false
|
||||||
MC_TLS_PORT=443
|
MC_TLS_PORT=443
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
MC_ENV
|
MC_ENV
|
||||||
|
|
||||||
mkdir -p data files backups
|
mkdir -p data files backups
|
||||||
|
|||||||
@@ -35,10 +35,18 @@ services:
|
|||||||
- ./config:/etc/ntfy
|
- ./config:/etc/ntfy
|
||||||
ports:
|
ports:
|
||||||
- "8090:80"
|
- "8090:80"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
NTFY_COMPOSE
|
NTFY_COMPOSE
|
||||||
|
|
||||||
cat > .env << NTFY_ENV
|
cat > .env << NTFY_ENV
|
||||||
TZ=${SITE_TZ:-$(cat /etc/timezone 2>/dev/null || echo UTC)}
|
TZ=${SITE_TZ:-$(cat /etc/timezone 2>/dev/null || echo UTC)}
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
NTFY_ENV
|
NTFY_ENV
|
||||||
|
|
||||||
mkdir -p cache config
|
mkdir -p cache config
|
||||||
@@ -47,6 +55,8 @@ NTFY_ENV
|
|||||||
echo ""
|
echo ""
|
||||||
log_success "ntfy configured at $NTFY_DIR"
|
log_success "ntfy configured at $NTFY_DIR"
|
||||||
|
|
||||||
|
configure_caddy_for_service "ntfy" "8090" "ntfy"
|
||||||
|
|
||||||
write_readme "$NTFY_DIR" << MD
|
write_readme "$NTFY_DIR" << MD
|
||||||
# ntfy
|
# ntfy
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,13 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "9000:9000"
|
- "9000:9000"
|
||||||
- "9443:9443"
|
- "9443:9443"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
PORTAINER_COMPOSE
|
PORTAINER_COMPOSE
|
||||||
|
|
||||||
mkdir -p data
|
mkdir -p data
|
||||||
@@ -41,6 +48,8 @@ PORTAINER_COMPOSE
|
|||||||
echo ""
|
echo ""
|
||||||
log_success "Portainer configured at $PORTAINER_DIR"
|
log_success "Portainer configured at $PORTAINER_DIR"
|
||||||
|
|
||||||
|
configure_caddy_for_service "Portainer" "9000" "portainer"
|
||||||
|
|
||||||
write_readme "$PORTAINER_DIR" << MD
|
write_readme "$PORTAINER_DIR" << MD
|
||||||
# Portainer
|
# Portainer
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,13 @@ services:
|
|||||||
- "8082:8082"
|
- "8082:8082"
|
||||||
- "5000-5150:5000-5150"
|
- "5000-5150:5000-5150"
|
||||||
- "5000-5150:5000-5150/udp"
|
- "5000-5150:5000-5150/udp"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
TRACCAR_COMPOSE
|
TRACCAR_COMPOSE
|
||||||
|
|
||||||
mkdir -p logs data config
|
mkdir -p logs data config
|
||||||
|
|||||||
@@ -32,6 +32,13 @@ services:
|
|||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
ports:
|
ports:
|
||||||
- "3001:3001"
|
- "3001:3001"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
UPTIME_COMPOSE
|
UPTIME_COMPOSE
|
||||||
|
|
||||||
mkdir -p data
|
mkdir -p data
|
||||||
|
|||||||
@@ -71,6 +71,13 @@ services:
|
|||||||
- WATCHTOWER_DEBUG=false
|
- WATCHTOWER_DEBUG=false
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: \${CADDY_NET:-caddy_net}
|
||||||
WT_COMPOSE
|
WT_COMPOSE
|
||||||
|
|
||||||
# Create .env
|
# Create .env
|
||||||
@@ -99,6 +106,7 @@ MONITOR_ONLY=$MONITOR_ONLY
|
|||||||
#
|
#
|
||||||
# Full list: https://containrrr.dev/shoutrrr/services/overview/
|
# Full list: https://containrrr.dev/shoutrrr/services/overview/
|
||||||
NOTIFICATION_URL=$NTFY_URL
|
NOTIFICATION_URL=$NTFY_URL
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
WT_ENV
|
WT_ENV
|
||||||
|
|
||||||
chown -R "$ACTUAL_USER:$ACTUAL_USER" "$WT_DIR" 2>/dev/null || true
|
chown -R "$ACTUAL_USER:$ACTUAL_USER" "$WT_DIR" 2>/dev/null || true
|
||||||
|
|||||||
@@ -60,11 +60,19 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "51820:51820/udp"
|
- "51820:51820/udp"
|
||||||
- "51821:51821/tcp"
|
- "51821:51821/tcp"
|
||||||
|
networks:
|
||||||
|
- caddy_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
WGEASY_COMPOSE
|
WGEASY_COMPOSE
|
||||||
|
|
||||||
cat > .env << WGEASY_ENV
|
cat > .env << WGEASY_ENV
|
||||||
WG_HOST=$WG_HOST
|
WG_HOST=$WG_HOST
|
||||||
WG_PASSWORD=$WG_PASSWORD
|
WG_PASSWORD=$WG_PASSWORD
|
||||||
|
CADDY_NET=$SITE_CADDY_NET
|
||||||
WGEASY_ENV
|
WGEASY_ENV
|
||||||
|
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
|
|||||||
@@ -239,6 +239,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy_net:
|
||||||
|
external: true
|
||||||
|
name: ${CADDY_NET:-caddy_net}
|
||||||
COMPOSE
|
COMPOSE
|
||||||
log_success "docker-compose.yml written"
|
log_success "docker-compose.yml written"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user