Files
musicgrabber/docker-compose.yml
T
2026-05-31 22:24:10 -05:00

52 lines
2.0 KiB
YAML

services:
music-grabber:
image: g33kphr33k/musicgrabber:latest
container_name: music-grabber
networks:
- traefik-public
labels:
- "traefik.enable=true"
- "traefik.http.routers.mg.rule=Host(`music-req.speerfam.net`)"
- "traefik.http.routers.mg.entrypoints=websecure"
- "traefik.http.routers.mg.tls.certresolver=myresolver"
# Pulling the security rules dynamically from our file provider setup
- "traefik.http.routers.mg.middlewares=geoblock-policy@file,crowdsec-policy@file,secure-headers@file"
- "traefik.http.services.mg.loadbalancer.server.port=8080"
restart: unless-stopped
# Required for Spotify playlists over 100 tracks (headless browser)
shm_size: '2gb'
ports:
- "38274:8080"
volumes:
- /srv/music:/music
- /srv/docker/music-grabber/data:/data
environment:
- MUSIC_DIR=/music
- DB_PATH=/data/music_grabber.db
# Optional: serve behind a reverse-proxy subpath (proxy must strip the prefix)
# - ROOT_PATH=/musicgrabber
- ENABLE_MUSICBRAINZ=true
- DEFAULT_CONVERT_TO_FLAC=true
# Optional: Run as specific user (like *arr stack) for correct file permissions
# - PUID=1000
# - PGID=1000
# Optional: Custom bind address/port (useful for IPv6 or non-standard setups)
# - LISTEN_ADDR=0.0.0.0
# - LISTEN_PORT=8080
# Optional: Navidrome auto-rescan
- NAVIDROME_URL=http://navidrome:4533
- NAVIDROME_USER=mspeer
- NAVIDROME_PASS=Hurling2-Eloquence-Unwarlike
# Optional: Jellyfin auto-rescan
# - JELLYFIN_URL=http://jellyfin:8096
# - JELLYFIN_API_KEY=your-jellyfin-api-key
# Optional: Notifications
# - NOTIFY_ON=playlists,bulk,errors
# - TELEGRAM_WEBHOOK_URL=https://api.telegram.org/bot{token}/sendMessage?chat_id={chat_id}
# - WEBHOOK_URL=https://your-webhook-endpoint.com/hook
# - SMTP_HOST=smtp.example.com
# - SMTP_PORT=587
# - SMTP_USER=user@example.com
# - SMTP_PASS=password
# - SMTP_TO=you@example.com