Streaming & Clients
Full Subsonic API, HLS live streaming, playlists, and cross-platform client support.
Self-hosted streaming for indie artists, labels, and communities β with federation, Web3, and Subsonic support.
New here? Start with the Getting Started guide. It walks you from an empty machine to a running instance with music in it β install, first login, adding your library, and listening β in about 10 minutes.
Once you're up and running, the guides below go deeper.
| Doc | Description |
|---|---|
| Getting Started | Install β first login β add music β listen (start here) |
| API & Services Setup | Step-by-step configuration for Stripe, Google Drive, AI, and other integrations |
| Nginx Configuration | Reverse proxy setup for SSL, WebSocket, and HLS |
| Backup & Migration | Database backup, restore, and moving your instance |
For listeners and artists using a TuneCamp instance.
| Doc | Description |
|---|---|
| Roles & Permissions | What each role (Owner, Manager, Curator, Listener) can do |
| Radio | Broadcasting an always-on station from your library (playlists + genre mixes) |
| Subsonic Protocol | Connecting external clients (DSub, Symfonium, Tempo, Substreamer) |
| Social & Community Features | Posts, comments, and fan interactions |
| Becoming an Artist & Selling | Artist request flow and the can_sell sales gate |
| Payments & Monetization | Stripe checkout, crypto on-ramp, and on-chain purchases |
For people running a TuneCamp instance.
| Doc | Description |
|---|---|
| Federation | ActivityPub and HTTP gossip discovery β how instances find each other |
| Plugins | Loading custom streaming, metadata, and storage providers |
| Peer Sharing | Built-in, reverse-tunnel WebSocket daemon for transient local music folder sharing |
| Monitoring | /health endpoint, the admin System Resources panel, Sentry crash reporting, and uptime checks |
| Scaling | SQLite / single-process limits and mitigations |
| MCP Setup | Exposing the TuneCamp catalog to AI clients via MCP |
For contributors and people building on TuneCamp.
| Doc | Description |
|---|---|
| Contributing | Code contribution guidelines and pull request process |
| Development Guide | Local dev environment setup, running, and testing |
| Backend Architecture | Express server, SQLite, ActivityPub, and federated discovery |
| Webapp Architecture | React, Vite, Zustand, and instance discovery in the frontend |
| UI Component Inventory | Catalog of the webapp's React components by directory |
| Data Models | Database schema and entity relationships |
| API Contracts | REST endpoints, authentication, and supported protocols |
| Source Tree | Directory layout and entry points |
| Lab Apps | Creating and submitting experimental audio tools |
| Lab App: Audiofabric | Real-time 3D WebGL music visualizer built-in Lab app |
| Lab App: 4-Track Recorder | Browser-based 4-track cassette recorder companion package |
Optional third-party services you can connect to your instance.
| Doc | Description |
|---|---|
| AI Integrations | Metadata automation and recommendations via OpenRouter |
| Smart Contracts | Solidity contracts (Factory, NFT, Checkout) on Base |
| Google Drive | Cloud storage backend for media files |
| Soulseek | P2P search and one-click import |
| Torrents | WebTorrent integration for catalog ingestion |
| Telegram Bot | Rapid file ingestion and remote management |
| Doc | Description |
|---|---|
| Project Overview | Goals, tech stack, and repository structure |
| Status & Maturity | Honest maturity level of each area and known limitations |
| Comparison with Funkwhale | Differences in models and features |
| Audio Fingerprinting | How TuneCamp deduplicates tracks in the library |
| Payments Security Review | Internal security review findings for the payments flow |
Last updated: June 24, 2026