Skip to content

TuneCampFederated Music Platform

Self-hosted streaming for indie artists, labels, and communities β€” with federation, Web3, and Subsonic support.

Documentation ​

πŸš€ Getting Started ​

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.

DocDescription
Getting StartedInstall β†’ first login β†’ add music β†’ listen (start here)
Deploy on RailwayOne-click deploy on Railway β€” no VPS required, HTTPS included
API & Services SetupStep-by-step configuration for Stripe, Google Drive, AI, and other integrations
Nginx ConfigurationReverse proxy setup for SSL, WebSocket, and HLS
Backup & MigrationDatabase backup, restore, and moving your instance

User Guide ​

For listeners and artists using a TuneCamp instance.

DocDescription
Roles & PermissionsWhat each role (Owner, Manager, Curator, Listener) can do
RadioBroadcasting an always-on station from your library (playlists + genre mixes)
Subsonic ProtocolConnecting external clients (DSub, Symfonium, Tempo, Substreamer)
Social & Community FeaturesPosts, comments, and fan interactions
Becoming an Artist & SellingArtist request flow and the can_sell sales gate
Payments & MonetizationStripe checkout, crypto on-ramp, and on-chain purchases

Administrator Guide ​

For people running a TuneCamp instance.

DocDescription
FederationActivityPub and HTTP gossip discovery β€” how instances find each other
Sidecamp DesktopDesktop application for Sidecamp, Soulseek, and Torrents
Monitoring/health endpoint, the admin System Resources panel, Sentry crash reporting, and uptime checks
ScalingSQLite / single-process limits and mitigations
MCP SetupExposing the TuneCamp catalog to AI clients via MCP

Developer Guide ​

For contributors and people building on TuneCamp.

DocDescription
ContributingCode contribution guidelines and pull request process
Development GuideLocal dev environment setup, running, and testing
Backend ArchitectureExpress server, SQLite, ActivityPub, federated discovery, and the full data model / database schema
Webapp ArchitectureReact, Vite, Zustand, and instance discovery in the frontend
API ContractsREST endpoints, authentication, and supported protocols
Lab AppsCreating and submitting experimental audio tools
Lab App: AudiofabricReal-time 3D WebGL music visualizer built-in Lab app
Lab App: 4-Track RecorderBrowser-based 4-track cassette recorder companion package

Integrations ​

Optional third-party services you can connect to your instance.

DocDescription
AI IntegrationsMetadata automation and recommendations via OpenRouter
Smart ContractsSolidity contracts (Factory, NFT, Checkout) on Base
Google DriveCloud storage backend for media files
SidecampP2P acquisition (Soulseek, BitTorrent, yt-dlp) via the desktop companion app
Telegram BotRapid file ingestion and remote management

Reference ​

DocDescription
Project OverviewGoals, tech stack, repository structure, source tree, and webapp component catalog
Status & MaturityHonest maturity level of each area and known limitations
Comparison with FunkwhaleDifferences in models and features
Audio FingerprintingHow TuneCamp deduplicates tracks in the library
Payments Security ReviewInternal security review findings for the payments flow

Last updated: June 24, 2026

Released under the MIT License.