# documentation: https://github.com/teal-fm/piper/tree/main?tab=readme-ov-file#setup # slogan: An AT protocol powered music scraper for Last.fm and Spotify # tags: bluesky, music, lastfm, spotify # logo: # port: 3000 version: '3.8' services: piper: image: ghcr.io/teal-fm/piper:main volumes: - './data/db:/db' environment: - SERVER_PORT=3000 - SERVER_HOST=0.0.0.0 - SERVER_ROOT_URL=${SERVICE_FQDN_PIPER} - SPOTIFY_CLIENT_ID=${SPOTIFY_CLIENT_ID} - SPOTIFY_CLIENT_SECRET=${SPOTIFY_CLIENT_SECRET} - SPOTIFY_AUTH_URL=${SPOTIFY_AUTH_URL:-https://accounts.spotify.com/authorize} - SPOTIFY_TOKEN_URL=${SPOTIFY_TOKEN_URL:-https://accounts.spotify.com/api/token} - SPOTIFY_SCOPES=user-read-currently-playing user-read-email - CALLBACK_SPOTIFY=${SERVICE_FQDN_PIPER}/callback/spotify - ATPROTO_CLIENT_ID=${SERVICE_FQDN_PIPER}/.well-known/client-metadata.json - ATPROTO_METADATA_URL=${SERVICE_FQDN_PIPER}/.well-known/client-metadata.json - ATPROTO_CALLBACK_URL=${SERVICE_FQDN_PIPER}/callback/atproto - LASTFM_API_KEY=${LASTFM_API_KEY} - TRACKER_INTERVAL=${TRACKER_INTERVAL:-300} - DB_PATH=/db/piper.db healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://0.0.0.0:3000/"] interval: 2s timeout: 10s retries: 10