Deploy Tunecamp
Template for Tunecamp a self-hosted music streaming platform.
scobru/tunecamp
Just deployed
/data
Deploy and Host Tunecamp on Railway
Tunecamp is a decentralized, self-hosted music streaming platform designed for independent artists and record labels. It features a modern web interface, Subsonic API compatibility for mobile apps, built-in HLS live streaming, and decentralized federation via ActivityPub and Zen signaling, allowing you to control and monetize your catalog.
About Hosting Tunecamp
Deploying Tunecamp on Railway is fast and secure. The template sets up a Node.js-based environment using the official Dockerfile. It automates container building, environment configuration, and exposes the app on port 1970. To ensure your database and music catalog persist across redeployments, the template mounts a persistent volume to the /data directory. You will configure critical environment variables like TUNECAMP_JWT_SECRET for secure authentication, and direct your media uploads to the persistent /data/music directory. Optional features like Telegram bots, Stripe payments, and Base network crypto transactions can be enabled instantly via variables.
Why Deploy?
By deploying Tunecamp on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Common Use Cases
- Self-hosted streaming server: Stream your personal music catalog to your web browser or any Subsonic-compatible mobile app (like DSub, Symfonium, or Tempo).
- Decentralized music publication: Build a federated profile, connect with the Fediverse (via ActivityPub), and distribute your releases directly to fans.
- Monetized independent store: Sell your digital music using either Stripe credit card checkouts or on-chain crypto transactions (USDC/ETH on Base).
Dependencies for Tunecamp Hosting
- Persistent Volume: A Railway volume mounted at
/datais required to store the SQLite database and your media/downloads catalog. - FFmpeg, Python, and Chromium: These are pre-installed in the Docker image during the build process to handle on-the-fly audio transcoding, waveform generation, and scraper integration.
Deployment Dependencies
Implementation Details
The template builds TuneCamp directly from source using a multi-stage Dockerfile. It compiles the React (Vite) frontend web app, builds the TypeScript/Node.js backend server, and bundles the runtime utilities. It includes built-in concurrency controls for audio processing to prevent CPU saturation:
TUNECAMP_PORT=1970
TUNECAMP_MAX_LIVE_TRANSCODES=8
TUNECAMP_TRANSCODE_CACHE_MAX_BYTES=2147483648
Template Content
scobru/tunecamp
scobru/tunecamp