Skip to main content

Your Spotify

A self-hosted Spotify listening statistics tracker.

About

Your Spotify is an open-source application that tracks your Spotify listening history and provides detailed statistics and visualizations about your music habits. It consists of a server (Node.js + MongoDB) and a React client. Self-hosting keeps your listening data private and gives you unlimited historical tracking compared to Spotify Wrapped.

AlternativeTo

Cloud Hosted

ToolOpen SourceFree TierMonthly Cost
Last.fmNoYesFree / From $3/mo
Stats.fmNoLimitedFree / Plus varies

Installation

From kustomize build k8s/apps/talos/spotify:

  • Deployments: Two — client (React web UI) and server (Node.js API)
  • Images: yooooomi/your_spotify_client:1.19.0, yooooomi/your_spotify_server:1.19.0
  • Database: MongoDB StatefulSet with Longhorn-encrypted PVC (mongodb-data-mongodb-0-longhorn)
  • Config: SPOTIFY_PUBLIC, SPOTIFY_SECRET (Spotify API credentials), MONGO_ENDPOINT, API_ENDPOINT, CLIENT_ENDPOINT from SOPS secret
  • Networking: Separate services for client (port 80) and server; HTTPRoute via gateway

Administration

  • Backups: k8up Schedule backs up MongoDB Longhorn PVC to Hetzner S3
  • OpenID/SSO: No OIDC; Spotify OAuth used for authentication
  • Security: Spotify API credentials SOPS-encrypted with age; MongoDB credentials encrypted at rest

Usage

Log in with your Spotify account to authorize data collection. The server continuously receives listening events from Spotify. Browse the web UI to view your top artists, albums, tracks, and listening patterns over time. Historical data accumulates as long as the service runs.

Metadata

Kubernetes Metadata
  • Image: yooooomi/your_spotify_client:1.19.0@sha256:935717b748f56536bd1f4e3bd2c83b71efbcdfb419fbda0345e7a17099a8d30e
  • Image: yooooomi/your_spotify_server:1.19.0@sha256:a45776f2c1c24ebcd957f18de4432263907d6f0031c9b25fab3e95f25d15da0d
  • Image: mongo:6.0.27-jammy@sha256:dee14c523c7d9a5492507cd072d840ffe216295bb86b5717e9ceca6545251b66