Skip to content

V1ck3s/octo-fiesta

Repository files navigation

Octo-Fiesta

A Subsonic API proxy server that transparently integrates multiple music streaming providers as sources. When a song is not available in your local Navidrome library, it is automatically fetched from your configured provider, downloaded, and served to your Subsonic-compatible client. The downloaded song is then added to your library, making it available locally for future listens.

Why "Octo-Fiesta"?

The name was randomly generated by GitHub when creating the repository. We found it amusing and somewhat fitting for a music application. After all, "fiesta" evokes a party atmosphere, which goes well with music streaming. So we kept it!

Features

  • Multi-Provider Architecture: Pluggable music service system supporting multiple streaming providers
  • Transparent Proxy: Acts as a middleware between Subsonic clients and your Navidrome server
  • Seamless Integration: Automatically searches and streams music from your configured provider when not available locally
  • Automatic Downloads: Songs are downloaded on-the-fly and cached for future use
  • External Playlist Support: Search, discover, and download playlists with automatic M3U generation
  • Hi-Res Audio Support: Up to 24-bit/192kHz FLAC quality
  • Full Metadata Embedding: Complete ID3 tags and embedded cover art
  • Organized Library: Downloads saved in clean Artist/Album/Track folder structure

Supported Music Providers

Provider Credentials Required Max Quality Playlist Support
SquidWTF No FLAC 24-bit No
Qobuz Yes FLAC 24-bit/192kHz Yes
Deezer Yes FLAC 16-bit Yes
Yandex Music Yes FLAC 16-bit Yes

See the Supported Music Providers wiki page for detailed information.

Compatible Clients

Platform Clients
Desktop Aonsoku, Feishin, Supersonic, Subplayer, Aurial
Android Navic, Tempus, Substreamer, Yuzic
iOS Navic, Narjo, BeatsX, Yuzic

See the Compatible Clients wiki page for details and incompatible clients.

Quick Start

Requirements

  • A running Navidrome server (or other Subsonic-compatible server)
  • Docker and Docker Compose (recommended) or .NET 9.0 SDK

Docker Installation

# Clone the repository
git clone https://github.com/V1ck3s/octo-fiesta.git
cd octo-fiesta

# Configure
cp .env.example .env
nano .env  # Edit with your settings

# Start
docker-compose up -d

The proxy will be available at http://localhost:5274. Point your Subsonic client to this URL instead of your Navidrome server.

See the Installation wiki page for detailed instructions including manual installation.

Configuration

See the Configuration wiki page for all available settings.

Getting Credentials

Architecture

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  Subsonic       │────▶│   Octo-Fiesta    │────▶│   Navidrome     │
│  Client         │◀────│   (Proxy)        │◀────│   Server        │
│  (Aonsoku)      │     │                  │     │                 │
└─────────────────┘     └────────┬─────────┘     └─────────────────┘
                                 │
                                 ▼
                        ┌─────────────────┐
                        │ Music Providers │
                        │  - Deezer       │
                        │  - Qobuz        │
                        │  - SquidWTF     │
                        └─────────────────┘

Limitations

  • Playlist Search: Streaming provider playlists appear in global search but may not show in the Playlists tab due to client-side filtering.
  • Playlist Display: Due to Subsonic API limitations, playlists appear at the end of the album list with a music note icon. See Playlists for details.
  • Token Expiration: Provider authentication tokens expire and need periodic refresh.

Documentation

Full documentation is available in the Wiki:

Need help? Please check the Wiki before opening an issue.

Contributing

Contributions are welcome! See the Development & Contributing guide.

# Build
dotnet build

# Run tests
dotnet test

License

GPL-3.0

Acknowledgments

About

A Subsonic API proxy server that transparently integrates multiple music streaming providers as sources.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors