Membuat Server Musik Sendiri Ala-Ala Spotify dengan Docker
Di era sekarang, layanan streaming musik seperti Spotify, Apple Music, atau YouTube Music sudah sangat populer. Tapi pernah kepikiran nggak untuk punya server musik sendiri yang bisa diakses dari mana saja?
Saya sempat iseng mencoba membuat self-hosted music server, yang fungsinya kurang lebih seperti Spotify pribadi. Semua koleksi lagu disimpan di server sendiri, lalu bisa diakses dari desktop maupun smartphone.
Menariknya, setup ini cukup ringan dan fleksibel — apalagi kalau kalian sudah familiar dengan Docker, networking, dan VPN.
Di artikel ini saya akan memberikan gambaran singkat setup-nya, tanpa terlalu masuk ke detail teknis yang panjang.
Konsep Singkat Arsitektur
Stack yang saya gunakan:
Server:
- Navidrome → backend music server
Client:
- Feishin → desktop client
- Substreamer → Android client
- Amperfy → iOS client
Navidrome sendiri adalah server musik open-source yang kompatibel dengan API Subsonic, jadi banyak aplikasi client yang bisa langsung terhubung tanpa konfigurasi aneh-aneh.
Kenapa Membuat Music Server Sendiri?

Ada beberapa benefit yang cukup menarik:
1. Koleksi Musik Milik Sendiri
Tidak bergantung pada katalog streaming service.
Kalau suatu lagu tidak ada di Spotify, di server sendiri tetap bisa disimpan.
2. Tidak Ada Subscription
Sekali setup, selanjutnya tinggal tambah koleksi lagu saja.
3. Cross Platform



Client yang tersedia cukup banyak:
Desktop:
- Feishin
Mobile:
- Substreamer (Android)
- Amperfy (iOS)
Semua client tersebut bisa membaca library yang sama dari server.
4. Bisa Diakses dari Mana Saja
Kalau digabung dengan:
- VPN
- reverse proxy
- atau tunnel
Server musik bisa diakses dari luar rumah seperti streaming service biasa.
Setup Navidrome Menggunakan Docker
Buat yang sudah familiar dengan Docker, setup Navidrome sangat sederhana.
Contoh docker-compose.yml:
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
ports:
- "4533:4533"
environment:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
- ./data:/data
- ./music:/music
Penjelasan Volume
Ada dua volume penting di sini:
/data
./data:/data
Digunakan Navidrome untuk menyimpan:
- database
- metadata
- cache
- konfigurasi
/music
./music:/music
Folder ini berisi koleksi lagu kalian.
Semua file musik seperti:
- mp3
- flac
- m4a
- ogg
akan discan oleh Navidrome dan dimasukkan ke library.
Cara Mengisi Koleksi Musik
Ada beberapa metode tergantung bagaimana server kalian berjalan.
1. Menggunakan FTP
Kalau server berbasis Linux, kalian bisa install FTP server seperti:
- vsftpd
- proftpd
Lalu upload lagu langsung ke folder /music.
2. Menggunakan Samba
Alternatif yang sering dipakai di home server adalah Samba share.
Dengan Samba, folder musik bisa diakses seperti network drive dari Windows.
Contoh mount di Windows:
\\ip-server\music
3. Jika Menggunakan Docker Desktop
Kalau Navidrome dijalankan lewat Docker Desktop di PC pribadi, cara paling simpel adalah:
Mount folder lokal saja.
Contoh:
D:\Music
di-mount ke:
/music
Jadi setiap file baru yang dimasukkan ke folder tersebut akan otomatis muncul di Navidrome setelah proses scan.
Menghubungkan Client ke Server
Setelah Navidrome berjalan, buka web UI:
http://ip-server:4533
Buat akun admin, lalu login.
Kemudian di client cukup masukkan:
Server URL:
http://ip-server:4533
Username dan password yang sudah dibuat.
Client seperti Feishin, Substreamer, dan Amperfy biasanya akan langsung:
- membaca library
- download metadata
- menampilkan album dan artist
Pengalaman Menggunakan
Setelah semuanya jalan, rasanya memang cukup mirip dengan Spotify:
- browsing album
- search artist
- membuat playlist
- streaming langsung dari server
Bedanya, semua lagu berasal dari koleksi sendiri.
Bonus: Setup yang Lebih Ideal
Kalau ingin setup yang lebih rapi dan fleksibel, biasanya saya kombinasikan dengan:
- domain
- tunnel
- reverse proxy
Contohnya:
music.domainkalian.com
Dengan setup seperti ini, server musik bisa diakses dari mana saja tanpa perlu membuka port secara langsung.
Disclaimer
Artikel ini hanya memberikan gambaran singkat tentang bagaimana membuat server musik pribadi menggunakan Navidrome.
Tutorial ini juga diasumsikan untuk pembaca yang sudah familiar dengan:
- Docker
- networking dasar
- konsep server
Kalau kalian ingin tutorial yang lebih detail seperti:
- setup dari nol
- konfigurasi reverse proxy
- setup domain + tunnel
- optimasi library musik
silakan tinggalkan komentar di artikel ini atau hubungi admin.
Kalau banyak yang tertarik, saya akan buatkan artikel lanjutan yang lebih lengkap.
Featured Image is from unsplash.com
