Add persistent volume mounts for caddy config, data, and share directories, and improve healthcheck settings with longer intervals, timeout, and start period for better reliability
67 lines
1.6 KiB
YAML
67 lines
1.6 KiB
YAML
services:
|
|
tailscale:
|
|
hostname: music
|
|
image: tailscale/tailscale:latest
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "tailscale status"]
|
|
interval: 1s
|
|
timeout: 5s
|
|
retries: 60
|
|
volumes:
|
|
- /srv/docker/navidrome/tailscale:/var/lib
|
|
- /lib/modules:/lib/modules:ro
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
cap_add:
|
|
- net_admin
|
|
- sys_module
|
|
- net_raw
|
|
command: tailscaled
|
|
networks:
|
|
- internal
|
|
|
|
reverse_proxy:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.caddy
|
|
restart: unless-stopped
|
|
network_mode: service:tailscale
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
|
- /srv/docker/navidrome/caddy/config/:/config/caddy:rw
|
|
- /srv/docker/navidrome/caddy/data/:/data/caddy:rw
|
|
- /srv/docker/navidrome/caddy/share/:/usr/share/caddy:rw
|
|
env_file:
|
|
- caddy.env
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "https://music.lan.poldebra.me"]
|
|
interval: 10s
|
|
timeout: 30s
|
|
retries: 5
|
|
start_period: 90s
|
|
depends_on:
|
|
app:
|
|
condition: service_started
|
|
tailscale:
|
|
condition: service_healthy
|
|
|
|
app: # TODO rename me in navidrome!
|
|
image: deluan/navidrome:latest
|
|
user: 1000:1000 # should be owner of volumes
|
|
hostname: app
|
|
container_name: navidrome
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /srv/docker/navidrome/data:/data
|
|
- /opt/bak/davide/backup_poldebra_nas/:/music:ro
|
|
networks:
|
|
internal:
|
|
ipv4_address: 172.20.0.5
|
|
|
|
networks:
|
|
internal:
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/24
|