Share
March 10, 2026

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