01 Infrastructure
Apollo Server
Tracks, playlists, downloads, search, streams, and playback resolution stay in one local service that you can inspect and control.
Self-hosted music, without platform tax
Apollo is the self-hosted music stack for people who want modern streaming convenience without handing their library, playback, and listening habits back to a platform.
A real alternative
Apollo splits infrastructure, listening, and extension so leaving a closed service does not mean accepting a worse product. Keep what matters. Drop the business model behind it.
01 Infrastructure
Tracks, playlists, downloads, search, streams, and playback resolution stay in one local service that you can inspect and control.
02 Listening
Playback, browsing, auth, library control, and desktop ergonomics live in a dedicated listening surface instead of a browser tab full of compromises.
03 Extension
Plugins extend the client through a defined runtime, so Apollo stays open without losing its boundaries or becoming vague.
Leave closed music platforms behind
Apollo is for replacing the service, not the useful parts. Search, playlists, playback, downloads, and control stay with you.
Own the catalog
Tracks, metadata, libraries, and playlists stay in your system.
Keep the experience
Search, playback, queues, and downloads still feel immediate.
Stay extensible
Source, themes, and plugins stay open instead of boxed in.
Install guide
Start here
Choose Windows, Linux, Android, or iOS and Apollo will show the setup path that actually exists today.
Client
Windows installer is live. Linux runs from source. Mobile apps are not out yet.
Server
Windows installer is live. Linux still runs from source.
Client
Download the installer, run it, then open Apollo Client.
Want the source path instead? Clone the repo, install packages, then start Apollo Client.
git clone https://github.com/ProtonDev-sys/apollo-client.git
cd apollo-client
npm.cmd install
npm.cmd start
Server
Download the Windows build, or use the source path below.
Want the source path instead? Install the server tools once.
winget install OpenJS.NodeJS.LTS
winget install yt-dlp.yt-dlp
winget install Gyan.FFmpeg.Essentials
Clone the repo, install packages, then start Apollo.
git clone https://github.com/ProtonDev-sys/apollo.git
cd apollo
npm.cmd install
npm.cmd start
Want it headless instead? Use npm.cmd run start:cli.
Client
No Linux installer yet. Run the desktop client from source.
git clone https://github.com/ProtonDev-sys/apollo-client.git
cd apollo-client
npm install
npm start
If your server is not local, launch with APOLLO_SERVER_URL="http://your-server:4848" npm start.
Server
Install Node.js 20+, yt-dlp, and ffmpeg with your package manager.
Then clone the repo and start the server.
git clone https://github.com/ProtonDev-sys/apollo.git
cd apollo
npm install
npm start
Want it headless instead? Use npm run start:cli.
Client
There is no Android client build to install today.
Server
Apollo Server does not run on Android. Use a Windows or Linux machine for the server, then connect from mobile when the Android client ships.
Client
There is no iOS client build to install today.
Server
Apollo Server does not run on iPhone or iPad. Use a Windows or Linux machine for the server, then connect from iOS when the app ships.
Support Apollo
Support Apollo monthly or one-time on GitHub, or send SOL directly.
GitHub
Support Apollo with monthly or one-time funding through GitHub.
Solana
Use the wallet address below if you want to support Apollo with crypto.
8oHHNPR3jcQVj7RFTJc6z2Ri3fXwijwYesyBbzDQYKaf
Build the exit
Setup, source, and community all point at the same thing: replace the service, keep the quality, and run it yourself.