Skip to main content

Immerle

Your music, self-hosted, and it sings.

Immerle is a self-hosted music server with its own app (web, desktop, iOS, Android) and a terminal client (iml) for the full feature set, plus fluent Subsonic / OpenSubsonic support, so clients you already use (Supersonic, Symfonium, DSub, and friends) work too, as a fallback.

It ships as one small Go binary with SQLite out of the box (Postgres if you outgrow it). Drop in your music, hit play.

The Immerle web app home screen

What you getโ€‹

  • ๐Ÿ“ฑ Its own app + a terminal client: the web app is embedded in the server binary, no separate install; iml plays music from a terminal without the memory footprint of a GUI app, good for gaming sessions.
  • ๐ŸŽง Also works with your Subsonic clients: browsing, search, streaming, transcoding, playlists, scrobbling, now-playing.
  • ๐Ÿ” Multi-device playback: pick up where another device left off, or cast to one and control it remotely, Spotify-Connect style.
  • ๐ŸŒ On-demand catalog: pluggable providers (Jamendo, Internet Archive, and your own HTTP providers) stream tracks you don't own yet, progressively on first play.
  • โœจ Discovery & Hall of Fame: auto-generated genre/decade/trending/chart playlists, personal "made for you" lists, recommendation mixes (ReccoBeats, ListenBrainz, Last.fm), a hand-curated top-tracks ranking and a yearly Wrapped.
  • ๐ŸŽ›๏ธ Sonic analysis (opt-in): Immerle listens to your library itself (tempo, key, energy, timbre, all local) to power a track radio and Subsonic instant mix, endless queues, mood playlists, Auto-DJ, smart playlist rules on BPM and key, and duplicate detection.
  • ๐Ÿ“ป Radio & podcasts: curated internet radio stations per country, and podcast feeds an admin subscribes from Apple Podcasts, Podcast Index and other directories.
  • ๐Ÿ“ก Scrobbling: push your plays to ListenBrainz and/or Last.fm.
  • ๐Ÿ‘ฏ Social: an activity feed with per-event privacy, a member directory, collaborative or public playlists, and share links.
  • ๐Ÿ”Š Jam sessions: listen together, in sync, streamed live.
  • ๐Ÿ“ฅ Playlist import: bring your playlists over (Spotify and Deezer), or open public Spotify playlists on demand from search.
  • ๐Ÿ›๏ธ Purchase import: bring your own purchases in from Bandcamp (connect your account, import the real files you paid for), with more stores planned.
  • ๐Ÿ”— Federation (opt-in): sync editorial & recommendation playlists via an immerle-hub.
  • ๐ŸŽซ Concert discovery (opt-in): matches your top-listened artists against upcoming shows near an admin-configured country, with a Home banner and a notification when something new turns up.
  • ๐ŸŽค Lyrics & karaoke: reads embedded/sidecar lyrics from your files, and falls back to lrclib.net for synced lyrics when a track has none, highlighting the current line as it plays.

Synced lyrics on the Now playing screen

Next stepsโ€‹

  • Get Started: the simplest, safest way to run it: Docker Compose, Postgres, no open ports, reached over a VPN.
  • Installation: every other way to get a server running: SQLite, from source, custom setups.
  • Configuration: bootstrap settings vs. runtime settings.
  • Connecting clients: the app, iml, or any Subsonic client.
  • On-demand catalog: enable built-in providers, add your own, cleanup.
  • Discovery & Hall of Fame: auto-generated playlists and the top-tracks ranking.
  • Sonic analysis: track radio, autoplay, mood playlists, Auto-DJ and duplicates from a local audio analysis.
  • Radio & podcasts: internet radio stations and podcast subscriptions.
  • Scrobbling: push plays to ListenBrainz and/or Last.fm.
  • Social features: activity, sharing, Jam sessions.
  • Playlist import: bring playlists over from Spotify or Deezer, or browse Spotify playlists from search.
  • Purchase import: connect Bandcamp and import what you bought.
  • Concert discovery: upcoming shows for your top artists.
  • Federation: sync playlists via an immerle-hub.
  • Developers: architecture, the native & Subsonic APIs, and building a custom content provider.