coolify_tealfm_piper_compose.yaml
edited
1# documentation: https://github.com/teal-fm/piper/tree/main?tab=readme-ov-file#setup
2# slogan: An AT protocol powered music scraper for Last.fm and Spotify
3# tags: bluesky, music, lastfm, spotify
4# logo:
5# port: 3000
6
7version: '3.8'
8services:
9 piper:
10 image: ghcr.io/teal-fm/piper:main
11 volumes:
12 - './data/db:/db'
13 environment:
14 - SERVER_PORT=3000
15 - SERVER_HOST=0.0.0.0
16 - SERVER_ROOT_URL=${SERVICE_FQDN_PIPER}
17
18 - SPOTIFY_CLIENT_ID=${SPOTIFY_CLIENT_ID}
19 - SPOTIFY_CLIENT_SECRET=${SPOTIFY_CLIENT_SECRET}
20 - SPOTIFY_AUTH_URL=${SPOTIFY_AUTH_URL:-https://accounts.spotify.com/authorize}
21 - SPOTIFY_TOKEN_URL=${SPOTIFY_TOKEN_URL:-https://accounts.spotify.com/api/token}
22 - SPOTIFY_SCOPES=user-read-currently-playing user-read-email
23 - CALLBACK_SPOTIFY=${SERVICE_FQDN_PIPER}/callback/spotify
24
25 - ATPROTO_CLIENT_ID=${SERVICE_FQDN_PIPER}/.well-known/client-metadata.json
26 - ATPROTO_METADATA_URL=${SERVICE_FQDN_PIPER}/.well-known/client-metadata.json
27 - ATPROTO_CALLBACK_URL=${SERVICE_FQDN_PIPER}/callback/atproto
28
29 - LASTFM_API_KEY=${LASTFM_API_KEY}
30 - TRACKER_INTERVAL=${TRACKER_INTERVAL:-300}
31 - DB_PATH=/db/piper.db
32 healthcheck:
33 test:
34 ["CMD", "wget", "-q", "--spider", "http://0.0.0.0:3000/"]
35 interval: 2s
36 timeout: 10s
37 retries: 10