mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-04-27 03:53:10 -04:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
b737db93be
|
|||
|
953719e796
|
@@ -5,7 +5,7 @@
|
||||
[](https://github.com/SoPat712/allstarr/pkgs/container/allstarr)
|
||||
[](LICENSE)
|
||||
|
||||
A media server proxy that integrates music streaming providers with your local library. Works with **Jellyfin** and **Subsonic-compatible** servers. When a song isn't in your local library, it gets fetched from your configured provider, downloaded, and served to your client. The downloaded song then lives in your library for next time.
|
||||
A media server proxy that integrates music streaming providers with your local library. Works with **Jellyfin** servers. When a song isn't in your local library, it gets fetched from your configured provider, downloaded, and served to your client. The downloaded song then lives in your library for next time.
|
||||
|
||||
## Quick Start
|
||||
|
||||
@@ -39,7 +39,6 @@ The proxy will be available at `http://localhost:5274`.
|
||||
Allstarr includes a web UI for easy configuration and playlist management, accessible at `http://localhost:5275`
|
||||
<img width="1664" height="1101" alt="image" src="https://github.com/user-attachments/assets/9159100b-7e11-449e-8530-517d336d6bd2" />
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
- **Playlist Management**: Link Jellyfin playlists to Spotify playlists with just a few clicks
|
||||
@@ -76,7 +75,6 @@ The web UI updates your `.env` file directly. Changes persist across container r
|
||||
|
||||
There's an environment variable to modify this.
|
||||
|
||||
|
||||
**Recommended workflow**: Use the `sp_dc` cookie method alongside the [Spotify Import Plugin](https://github.com/Viperinius/jellyfin-plugin-spotify-import?tab=readme-ov-file).
|
||||
|
||||
### Nginx Proxy Setup (Optional)
|
||||
@@ -119,7 +117,7 @@ This project brings together all the music streaming providers into one unified
|
||||
|
||||
## Features
|
||||
|
||||
- **Dual Backend Support**: Works with Jellyfin and Subsonic-compatible servers (Navidrome, Airsonic, etc.)
|
||||
- **Dual Backend Support**: Works with Jellyfin
|
||||
- **Multi-Provider Architecture**: Pluggable system for streaming providers (Deezer, Qobuz, SquidWTF)
|
||||
- **Transparent Proxy**: Sits between your music clients and media server
|
||||
- **Automatic Search**: Searches streaming providers when songs aren't local
|
||||
@@ -139,17 +137,16 @@ This project brings together all the music streaming providers into one unified
|
||||
## Supported Backends
|
||||
|
||||
### Jellyfin
|
||||
|
||||
[Jellyfin](https://jellyfin.org/) is a free and open-source media server. Allstarr connects via the Jellyfin API using your Jellyfin user login. (I plan to move this to api key if possible)
|
||||
|
||||
**Compatible Jellyfin clients:**
|
||||
|
||||
- [Feishin](https://github.com/jeffvli/feishin) (Mac/Windows/Linux)
|
||||
<img width="1691" height="1128" alt="image" src="https://github.com/user-attachments/assets/c602f71c-c4dd-49a9-b533-1558e24a9f45" />
|
||||
|
||||
<img width="1691" height="1128" alt="image" src="https://github.com/user-attachments/assets/c602f71c-c4dd-49a9-b533-1558e24a9f45" />
|
||||
|
||||
- [Musiver](https://music.aqzscn.cn/en/) (Android/iOS/Windows/Android)
|
||||
<img width="523" height="1025" alt="image" src="https://github.com/user-attachments/assets/135e2721-5fd7-482f-bb06-b0736003cfe7" />
|
||||
|
||||
<img width="523" height="1025" alt="image" src="https://github.com/user-attachments/assets/135e2721-5fd7-482f-bb06-b0736003cfe7" />
|
||||
|
||||
- [Finamp](https://github.com/jmshrv/finamp) (Android/iOS)
|
||||
|
||||
@@ -158,21 +155,25 @@ This project brings together all the music streaming providers into one unified
|
||||
_Working on getting more currently_
|
||||
|
||||
### Subsonic/Navidrome
|
||||
|
||||
[Navidrome](https://www.navidrome.org/) and other Subsonic-compatible servers are supported via the Subsonic API.
|
||||
|
||||
**Compatible Subsonic clients:**
|
||||
|
||||
#### PC
|
||||
|
||||
- [Aonsoku](https://github.com/victoralvesf/aonsoku)
|
||||
- [Feishin](https://github.com/jeffvli/feishin)
|
||||
- [Subplayer](https://github.com/peguerosdc/subplayer)
|
||||
- [Aurial](https://github.com/shrimpza/aurial)
|
||||
|
||||
#### Android
|
||||
|
||||
- [Tempus](https://github.com/eddyizm/tempus)
|
||||
- [Substreamer](https://substreamerapp.com/)
|
||||
|
||||
#### iOS
|
||||
|
||||
- [Narjo](https://www.reddit.com/r/NarjoApp/)
|
||||
- [Arpeggi](https://www.reddit.com/r/arpeggiApp/)
|
||||
|
||||
@@ -204,7 +205,7 @@ Choose your preferred provider via the `MUSIC_SERVICE` environment variable. Add
|
||||
- Spotify Lyrics API provides synchronized lyrics for Spotify tracks
|
||||
- Credentials for at least one music provider (IF NOT USING SQUIDWTF):
|
||||
- **Deezer**: ARL token from browser cookies
|
||||
- **Qobuz**: User ID + User Auth Token from browser localStorage ([see Wiki guide](https://github.com/V1ck3s/octo-fiesta/wiki/Getting-Qobuz-Credentials-(User-ID-&-Token)))
|
||||
- **Qobuz**: User ID + User Auth Token from browser localStorage ([see Wiki guide](<https://github.com/V1ck3s/octo-fiesta/wiki/Getting-Qobuz-Credentials-(User-ID-&-Token)>))
|
||||
- **OR** [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) for manual installation (requires separate Redis setup)
|
||||
|
||||
## Configuration
|
||||
@@ -212,6 +213,7 @@ Choose your preferred provider via the `MUSIC_SERVICE` environment variable. Add
|
||||
### Environment Setup
|
||||
|
||||
1. **Create your environment file**
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
@@ -219,6 +221,7 @@ Choose your preferred provider via the `MUSIC_SERVICE` environment variable. Add
|
||||
2. **Edit the `.env` file** with your configuration:
|
||||
|
||||
**For Jellyfin backend:**
|
||||
|
||||
```bash
|
||||
# Backend selection
|
||||
BACKEND_TYPE=Jellyfin
|
||||
@@ -237,6 +240,7 @@ Choose your preferred provider via the `MUSIC_SERVICE` environment variable. Add
|
||||
```
|
||||
|
||||
**For Subsonic/Navidrome backend:**
|
||||
|
||||
```bash
|
||||
# Backend selection
|
||||
BACKEND_TYPE=Subsonic
|
||||
@@ -246,6 +250,7 @@ Choose your preferred provider via the `MUSIC_SERVICE` environment variable. Add
|
||||
```
|
||||
|
||||
**Common settings (both backends):**
|
||||
|
||||
```bash
|
||||
# Path where downloaded songs will be stored
|
||||
DOWNLOAD_PATH=./downloads
|
||||
@@ -272,12 +277,14 @@ For detailed configuration options, see [CONFIGURATION.md](CONFIGURATION.md).
|
||||
If you prefer to run Allstarr without Docker:
|
||||
|
||||
1. **Clone the repository**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/SoPat712/allstarr.git
|
||||
cd allstarr
|
||||
```
|
||||
|
||||
2. **Restore dependencies**
|
||||
|
||||
```bash
|
||||
dotnet restore
|
||||
```
|
||||
@@ -287,6 +294,7 @@ If you prefer to run Allstarr without Docker:
|
||||
Edit `allstarr/appsettings.json`:
|
||||
|
||||
**For Jellyfin:**
|
||||
|
||||
```json
|
||||
{
|
||||
"Backend": {
|
||||
@@ -305,6 +313,7 @@ If you prefer to run Allstarr without Docker:
|
||||
```
|
||||
|
||||
**For Subsonic/Navidrome:**
|
||||
|
||||
```json
|
||||
{
|
||||
"Backend": {
|
||||
@@ -321,6 +330,7 @@ If you prefer to run Allstarr without Docker:
|
||||
```
|
||||
|
||||
4. **Run the server**
|
||||
|
||||
```bash
|
||||
cd allstarr
|
||||
dotnet run
|
||||
|
||||
@@ -9,5 +9,5 @@ public static class AppVersion
|
||||
/// <summary>
|
||||
/// Current application version.
|
||||
/// </summary>
|
||||
public const string Version = "1.3.0";
|
||||
public const string Version = "1.3.2";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user