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 networks: traefik-public: external: true