> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rocksky.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Rocksky as a personal Jellyfin server

> Stream your uploaded library through any Jellyfin-compatible client, using Rocksky as the backend.

Rocksky exposes a Jellyfin-compatible API alongside the
[Subsonic one](/integrations/navidrome-server). Upload your music to your
private Rocksky library and stream it from any Jellyfin client — phone,
desktop, car head unit — without running your own server.

<Note>
  This is the same library, the same credentials and the same uploads as the
  Subsonic endpoint. Use whichever protocol your favourite app speaks; you can
  use both at once.
</Note>

## Step 1: Upload music

Open **My Library** in Rocksky's sidebar and drag your audio files (MP3, FLAC,
M4A, OGG, WAV, AIFF) into the upload page. Required tags: title, artist, album,
album artist, duration, album art. Need to tag your files first?
[MusicBrainz Picard](https://picard.musicbrainz.org/) auto-fills metadata from
the MusicBrainz database.

<Info>
  Your uploaded music is private — only you can access and stream your files.
</Info>

## Step 2: Get an API key

Visit the [API Keys](https://rocksky.app/apikeys) page and generate a new key.
You'll use it as the password in your Jellyfin client.

## Step 3: Configure your client

Add a new server. Most clients ask for the address first, then the credentials
on a separate screen — the login screen will not list any users, because this
server fronts every Rocksky account. Type your handle in manually.

| Field      | Value                                          |
| ---------- | ---------------------------------------------- |
| Server URL | `https://jellyfin.rocksky.app`                 |
| Username   | Your ATProto handle (e.g. `alice.bsky.social`) |
| Password   | Your Rocksky API key                           |

## Compatible apps

* **Finamp** (Android, iOS)
* **Symfonium** (Android)
* **Streamyfin** (Android, iOS)
* **Findroid** (Android)
* **Feishin** (desktop)
* …and most other Jellyfin music clients.

## Scrobbling

Plays from any of these clients are scrobbled automatically — there's nothing
extra to wire up. Hearting a track in your client stars it on Rocksky and
publishes the like to your PDS, the same as it does over Subsonic.

## What's there and what isn't

Artists, albums, songs, genres, years, playlists, favourites, search, resume
positions and play counts all work. There is no video library, no transcoding
(clients get the original file) and no lyrics — Rocksky stores neither.
