Deploy Navidrome | Open Source Music Server, Spotify Alternative
Self-host Navidrome. Stream your music from any device, FLAC support
Navidrome
Just deployed
/data

Deploy and Host Navidrome on Railway
Deploy Navidrome on Railway to self-host your personal music streaming server. Navidrome is a lightweight, open-source music server written in Go that indexes your digital music collection and makes it available through a modern web player and any Subsonic-compatible client app. Run Navidrome on Railway with a single click — this template pre-configures the deluan/navidrome:latest Docker image with persistent storage, automatic library scanning, and a public domain ready for streaming from any device.
Getting Started with Navidrome on Railway
Once deployed, open your Railway-generated public URL in a browser. Navidrome will prompt you to create an admin account on first visit — choose a strong password as this protects your entire music library. After account creation, you'll land on the Navidrome dashboard. Upload music files to the /data/music directory using railway shell or SFTP, then Navidrome will automatically scan and index your library (scans run hourly by default). Connect mobile apps like Symfonium, play:Sub, or substreamer using the Subsonic API endpoint at https://your-domain.up.railway.app/rest.

About Hosting Navidrome
Navidrome is a personal music streaming service — the self-hosted alternative to Spotify, Apple Music, and YouTube Music. It gives you full ownership of your music library with zero subscription fees or privacy concerns.
- Subsonic API compatible — works with 20+ mature client apps across iOS, Android, desktop, and web
- Multi-user support — each user gets their own playlists, favorites, and play history
- On-the-fly transcoding — streams MP3, OPUS, AAC, FLAC, and more via built-in ffmpeg
- Smart playlists — auto-generated playlists based on genre, rating, play count, and custom rules
- Last.fm and ListenBrainz scrobbling — track your listening history across platforms
- Gapless playback — seamless transitions between tracks in the web player
- Embedded SQLite — no external database required, minimal operational overhead
Why Deploy Navidrome on Railway
Railway makes self-hosting Navidrome effortless:
- One-click deploy with persistent volume for music and database storage
- Public HTTPS domain out of the box — stream from anywhere
- ~50 MB RAM idle footprint keeps Railway costs minimal
- No database service to manage — SQLite runs embedded
- Scale up storage as your music collection grows
Common Use Cases for Self-Hosted Navidrome
- Replace Spotify/Apple Music — stream your own FLAC and high-bitrate music collection from any device without subscription fees
- Family music server — create separate accounts for family members with individual playlists and listening history
- DJ/Producer library — organize and stream large lossless music collections while on the go
- Podcast and audiobook server — Navidrome can index and stream any audio file format supported by ffmpeg
Dependencies for Navidrome on Railway
- Navidrome —
deluan/navidrome:latest(v0.61.2) — the music server itself - Volume — persistent storage at
/datafor SQLite database, cache, and music files
Environment Variables Reference for Navidrome
| Variable | Description | Default |
|---|---|---|
PORT | HTTP server listening port | 4533 |
ND_MUSICFOLDER | Path to music files directory | /data/music |
ND_SCANSCHEDULE | How often to scan for new music | 1h |
ND_LOGLEVEL | Log verbosity (debug, info, warn, error) | info |
RAILWAY_RUN_UID | Run container as root for volume permissions | 0 |
Deployment Dependencies
- Runtime: Go binary, single container
- Docker Hub: deluan/navidrome
- GitHub: navidrome/navidrome
- Docs: navidrome.org/docs
Hardware Requirements for Self-Hosting Navidrome
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 core | 2 cores (for transcoding) |
| RAM | 50 MB | 256 MB |
| Storage | 100 MB + music library | 1 GB + music library |
| Runtime | Docker or native binary | Docker recommended |
Navidrome is exceptionally lightweight — it runs comfortably on a Raspberry Pi Zero. Transcoding multiple simultaneous streams is the only operation that demands meaningful CPU, at roughly 0.5 cores per stream.
Self-Hosting Navidrome with Docker
Run Navidrome locally with Docker Compose:
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "4533:4533"
environment:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_MUSICFOLDER: /data/music
volumes:
- navidrome_data:/data
volumes:
navidrome_data:
Or with a single docker run command:
docker run -d \
--name navidrome \
-p 4533:4533 \
-v navidrome_data:/data \
-e ND_MUSICFOLDER=/data/music \
-e ND_SCANSCHEDULE=1h \
deluan/navidrome:latest
Is Navidrome Free to Self-Host?
Navidrome is 100% free and open source under the GNU GPL v3 license. There are no paid tiers, no premium features behind a paywall, and no telemetry. When self-hosting on Railway, your only cost is Railway infrastructure usage — typically under $5/month for a personal music server given Navidrome's ~50 MB RAM footprint. You can optionally donate to support Navidrome's development via their GitHub Sponsors page.
Navidrome vs Jellyfin vs Plex for Music
| Feature | Navidrome | Jellyfin | Plex |
|---|---|---|---|
| Focus | Music only | All media | All media |
| License | GPL v3 | GPL v2 | Proprietary |
| RAM Usage | ~50 MB | ~500 MB+ | ~500 MB+ |
| Client Apps | 20+ (Subsonic API) | Finamp + web | Plexamp ($) |
| Transcoding | Built-in ffmpeg | Built-in | Built-in |
| Cost | Free | Free | Plex Pass $5/mo |
| Database | Embedded SQLite | Embedded | Embedded |
Navidrome wins for music-focused self-hosting: it's 10x lighter, has the broadest client ecosystem via the mature Subsonic API, and costs nothing.
FAQ
What is Navidrome and why should I self-host it? Navidrome is an open-source, self-hosted music streaming server. Self-hosting gives you full control over your music library — no subscription fees, no DRM, no algorithmic playlists you didn't ask for, and complete privacy over your listening data.
What does this Railway template deploy for Navidrome?
This template deploys a single Navidrome container with the deluan/navidrome:latest Docker image, a persistent volume at /data for your music files and SQLite database, automatic hourly library scanning, and a public HTTPS domain for streaming access.
How do I upload music to self-hosted Navidrome on Railway?
Use railway shell --service to access the container, then transfer files to /data/music/ using standard Linux commands. Alternatively, use railway volume commands or mount external storage. Navidrome scans for new files every hour by default.
What music client apps work with Navidrome's Subsonic API? Any app supporting the Subsonic or OpenSubsonic API works — popular choices include Symfonium (Android), play:Sub (iOS), Sonixd (desktop), and the built-in Navidrome web player. Over 20 clients are available across all major platforms.
Can multiple users stream from the same Navidrome instance on Railway? Yes. Navidrome supports multi-user with separate accounts, playlists, favorites, and play history. Each user can connect their own client apps independently. Create additional users from the admin panel after initial setup.
What audio formats does self-hosted Navidrome support? Navidrome supports MP3, FLAC, AAC, OGG, OPUS, WMA, WAV, AIFF, and any other format supported by ffmpeg. It can transcode on-the-fly to lower bitrates for mobile streaming over slower connections.
Template Content
Navidrome
deluan/navidrome:latest