SSD Nodes Learn 🎉 VPS $5.50/महिन्यापासून
मार्गदर्शक Matt Connorद्वारे Matt Connor

VPS वर स्वतःचे म्युझिक स्ट्रीमिंग सर्व्हर कसे सेट करावे

VPS वर Navidrome वापरून स्वतःचे म्युझिक लायब्ररी स्ट्रीमिंग कसे सुरू करावे ते शिका. यामध्ये स्टोरेज नियोजन, Subsonic क्लायंट, TLS सुरक्षा आणि डेटा बॅकअपची सविस्तर माहिती दिली आहे.

VPS वर self-hosted म्युझिक स्ट्रीमिंगचे फायदे

VPS वर म्युझिक स्ट्रीमिंग चालवणे म्हणजे तुम्ही स्वतःचे म्युझिक प्लेयर चालवता आणि म्युझिक फाईल्स पुरवता. सर्व्हरवर तुमच्या मालकीच्या फाईल्स असतात आणि इंटरनेटद्वारे कोणत्याही फोनवरून सामान्य लॉगिन वापरून तुम्ही त्या ॲक्सेस करू शकता. सुरुवात करण्यापूर्वी एक गोष्ट लक्षात घ्या: हे स्ट्रीमिंग सेवेच्या प्लेयरची जागा घेते, त्यांच्या कॅटलॉगची नाही. जोपर्यंत तुम्ही नवीन गाणी विकत घेत नाही किंवा रिप करत नाही आणि ती सर्व्हरवर कॉपी करत नाही, तोपर्यंत तुमच्या लायब्ररीमध्ये काहीही नवीन येणार नाही.

व्हिडिओच्या तुलनेत ऑडिओसाठी सर्व्हरवर खूप कमी ताण येतो. फाईल्स लहान असतात, फोन कोणत्याही मदतीशिवाय सामान्य फॉरमॅट्स डिकोड करू शकतात आणि एक श्रोता व्हिडिओ कॉलपेक्षा कमी बँडविड्थ वापरतो. CPU चा वापर येथे नगण्य असतो. डिस्क स्पेस हीच खरी मर्यादा आहे. हे सेटअप यशस्वी होईल की नाही हे दोन गोष्टींवर अवलंबून असते: तुमच्या फाईल्सचे टॅग्स किती अचूक आहेत आणि तुमचे फोन ॲप ऑफलाइन वापरासाठी म्युझिक डाउनलोड करू शकते का.

Navidrome हा तुमचा प्राधान्यक्रम फक्त ऑडिओ असेल तर सर्वोत्तम पर्याय आहे. हे एका कंटेनरमधील एक Go बायनरी आहे आणि ती आपली स्थिती एकाच SQLite डेटाबेसमध्ये साठवते. हे Subsonic API ला प्रतिसाद देते, ज्यामुळेच अनेक थर्ड-पार्टी फोन ॲप्स उपलब्ध आहेत. ऑगस्ट 2026 मध्ये आवृत्ती 0.63.2 ही लेटेस्ट होती. हा प्रकल्प Raspberry Pi Zero सारख्या कमी क्षमतेच्या हार्डवेअरवरही उत्तम चालतो, त्यामुळे सर्व्हर सॉफ्टवेअरसाठी तुम्हाला खर्च करावा लागत नाही.

Jellyfin चा वापर तेव्हाच करा जर तुम्ही आधीच व्हिडिओसाठी VPS वर Jellyfin चालवत असाल. याची म्युझिक लायब्ररी कार्यक्षम आहे आणि Finamp हे Android आणि iOS साठी एक Jellyfin म्युझिक ॲप आहे, जे ऑफलाइन ऐकण्यासाठी ट्रॅक डाउनलोड करण्याची सुविधा देते. याची मर्यादा API मध्ये आहे. Jellyfin मध्ये इन-बिल्ट Subsonic एंडपॉईंट नाही आणि ते जोडणारा कम्युनिटी प्लगइन 2022 पासून अपडेट झालेला नाही, त्यामुळे Subsonic ॲप इकोसिस्टम यासाठी बंद आहे. तुम्हाला त्याऐवजी Jellyfin चे स्वतःचे API वापरणारी ॲप्स वापरावी लागतात, ज्यांची संख्या कमी आहे.

Funkwhale हा फेडरेटेड पर्याय आहे आणि याची आवृत्ती 2.0 मार्च 2026 मध्ये रिलीज झाली होती. Funkwhale सर्व्हरला 'पॉड' (pod) म्हणतात. पॉड्स ActivityPub (Mastodon च्या मागे असलेले प्रोटोकॉल) द्वारे फेडरेट होतात आणि एका पॉडवरील वापरकर्ता दुसऱ्या पॉडवरील सार्वजनिक लायब्ररी फॉलो करू शकतो. हे देखील Subsonic API च्या काही भागाला प्रतिसाद देते, परंतु एक महत्त्वाचा फरक लक्षात घ्या: प्रत्येक वापरकर्ता त्यांच्या स्वतःच्या सेटिंग्जमध्ये एक वेगळा Subsonic पासवर्ड सेट करतो, कारण Subsonic प्रोटोकॉलला असा पासवर्ड हवा असतो जो सर्व्हर वाचू शकेल. Funkwhale इन्स्टॉल करणे अधिक जड आहे, कारण वेब ॲपसोबतच त्याला PostgreSQL आणि टास्क क्यूची आवश्यकता असते.

जर तुम्हाला फेडरेशन नको असेल किंवा Jellyfin आधीच सुरू नसेल, तर Navidrome निवडा. या मार्गदर्शिकेचा उर्वरित भाग Docker सह Navidrome सेटअप करण्यावर आधारित आहे.

Subsonic API तुमच्या फोनवर कोणते अॅप असेल हे कसे ठरवते

Subsonic हा एक म्युझिक सर्व्हर होता ज्याचे HTTP API हे self-hosted ऑडिओसाठी एक सामान्य भाषा बनले आहे, आणि OpenSubsonic हा त्यामध्ये सातत्याने सुधारणा करणारा कम्युनिटी प्रकल्प आहे. याच इतिहासामुळे तुमच्या फोनवर अनेक पर्याय उपलब्ध आहेत. Navidrome स्वतःचे कोणतेही मोबाइल अॅप देत नाही आणि त्याची गरजही नाही, कारण कोणताही Subsonic क्लायंट सर्व्हरचा पत्ता आणि तुमच्या खात्याच्या तपशीलांसह लॉग इन करू शकतो.

ऑफलाइन सिंकसाठी हे सर्वात महत्त्वाचे आहे, कारण हीच ती सुविधा आहे जी तुमचा सेटअप दैनंदिन वापरासाठी योग्य आहे की नाही हे ठरवते. बोगद्यात असताना फोन तुमच्या सर्व्हरपर्यंत पोहोचू शकत नाही, त्यामुळे क्लायंटने फाइल्स आधीच स्थानिक स्टोरेजमध्ये कॉपी करणे आवश्यक असते. प्रत्येक क्लायंट स्ट्रीमिंग करतो. फक्त काहीच डाउनलोड करण्याची सुविधा देतात. navidrome.org/apps वरील क्लायंट डिरेक्टरीमध्ये कोणत्या अॅप्समध्ये ही सुविधा आहे हे दिले आहे, आणि दोन्ही प्लॅटफॉर्मवर याचे अनेक पर्याय उपलब्ध आहेत: Android वर Substreamer आणि Ultrasonic, तर iOS वर Amperfy आणि play:Sub. अनेक उत्तम क्लायंट हे सशुल्क (paid) अॅप्स आहेत आणि Android वर Symfonium हे नाव लोक सर्वाधिक घेतात. कोणताही निर्णय घेण्यापूर्वी दोन अॅप्स इन्स्टॉल करून पहा, कारण सिस्टमचा हा भाग तुम्ही दररोज वापरणार आहात.

म्युझिक लायब्ररीसाठी किती स्टोरेजची आवश्यकता असते?

ChartStorage per 1,000 albums by audio format
The data behind this chart
[
  {
    "label": "Opus 128k",
    "kbps": 128,
    "gb_per_1000_albums": 43
  },
  {
    "label": "MP3 320k",
    "kbps": 320,
    "gb_per_1000_albums": 108
  },
  {
    "label": "FLAC 16/44.1",
    "kbps": 900,
    "gb_per_1000_albums": 304
  },
  {
    "label": "FLAC 24/96",
    "kbps": "3,000",
    "gb_per_1000_albums": "1,013"
  }
]

हे आकडे बिटरेटवरून काढलेले अंदाजे प्रमाण आहेत, प्रत्यक्ष संग्रहाचे मोजमाप नाहीत. हे गणित तुम्ही तुमच्या स्वतःच्या फाइल्सवरून सहज तपासू शकता. एक अल्बम 45 मिनिटांचा, म्हणजेच 2,700 सेकंदांचा धरा. किलोबिट्स प्रति सेकंद (kbps) मधील बिटरेटला 2,700 ने गुणा आणि त्यानंतर 8,000 ने भागल्यास मेगाबाइट्स (MB) मिळतील. 320 kbps वर एका अल्बमसाठी 108 MB लागतात, त्यामुळे एक हजार अल्बम्ससाठी सुमारे 108 GB जागा लागते.

लॉसलेस (Lossless) फॉरमॅटमुळे हे उत्तर बदलते. सामान्य ऑडिओसाठी CD क्वालिटी FLAC चा सरासरी बिटरेट 900 kbps असतो, त्यामुळे त्याच एक हजार अल्बम्ससाठी सुमारे 304 GB जागा लागते. 24-बिट, 96 kHz लायब्ररीसाठी साधारणपणे 1,013 GB जागा लागते, म्हणजेच कागदावर यादी करता येईल इतक्या संग्रहासाठी पूर्ण एक टेराबाइट जागा लागते. फोनसाठी सोयीस्कर असलेल्या 128 kbps च्या Opus कॉपीमध्ये तेच एक हजार अल्बम्स 43 GB मध्ये मावतात. तुमच्याकडे आधीच असलेल्या लायब्ररीवर du -sh /path/to/music चालवा, कारण प्लॅन निवडताना तुमचा स्वतःचा सरासरी बिटरेट हाच एकमेव महत्त्वाचा आकडा असतो.

बँडविड्थ हा खर्चाचा लहान भाग आहे. 320 kbps चा स्ट्रीम म्हणजे 40 किलोबाइट्स प्रति सेकंद, त्यामुळे एक तास ऐकल्यास सुमारे 144 MB डेटा खर्च होतो. महिन्यातून शंभर तास ऐकल्यास सुमारे 14 GB डेटा खर्च होतो, ज्याची नोंद कोणत्याही VPS ट्रान्सफर अलाउन्समध्ये होत नाही. अपवाद म्हणजे फोनचे पहिले ऑफलाइन सिंक, जे एका संध्याकाळात कित्येक गिगाबाइट्स डेटा वापरू शकते.

स्टोरेज टियर की कॉम्प्युट टियर?

म्युझिक सर्व्हर म्हणजे 'कोल्ड डेटा'चा मोठा साठा आहे, ज्यावर नगण्य प्रक्रिया (computation) केली जाते. 40 किलोबाइट्स प्रति सेकंद या वेगाने फाईल वाचताना कोणतीही डिस्क रिकामीच असते आणि लायब्ररी स्कॅन किंवा ट्रान्सकोडिंग करतानाच CPU वापरला जातो, जे तुम्ही सहसा करणार नाही. त्यामुळे कॉम्प्युट प्लॅनमध्ये मिळणारे वेगवान NVMe इथे काहीही फायदा देत नाही, उलट त्याच्या प्रति गिगाबाइट किमतीमुळे तुम्ही FLAC प्रती अपलोड करण्यापासून रोखले जाता. अशा वेळी स्टोरेज VPS हा सामान्य VPS पेक्षा सरस ठरतो, कारण या प्लॅनची किंमत प्रति कोअरऐवजी प्रति टेराबाइट आकारली जाते.

मेमरीची गरज मर्यादित आहे. Navidrome काहीशे मेगाबाइट्समध्ये वैयक्तिक लायब्ररी सर्व्ह करू शकते आणि प्लेबॅकपेक्षा स्कॅन करतानाच मेमरीचा वापर सर्वाधिक होतो. सर्व्हरला 1 GB किंवा 2 GB RAM द्या आणि उरलेले बजेट डिस्कसाठी वापरा.

Docker Compose वापरून Navidrome इन्स्टॉल करा

प्रथम डिरेक्टरीज तयार करा, ज्यांची मालकी ज्या युजर आयडीने कंटेनर चालणार आहे त्याच्याकडे असावी. जर तुम्ही Compose मध्ये नवीन असाल, तर VPS वर Docker Compose मध्ये या फाईलसाठी आवश्यक असलेल्या गोष्टींची माहिती दिली आहे.

sudo install -d -m 755 -o 1000 -g 1000 /srv/navidrome /srv/music

docker-compose.yml ही फाईल इतर कोणत्याही फाईल्सशिवाय, तिच्या स्वतःच्या डिरेक्टरीमध्ये तयार करा:

services:
  navidrome:
    image: deluan/navidrome:0.63.2
    user: "1000:1000"
    ports:
      - "127.0.0.1:4533:4533"
    restart: unless-stopped
    environment:
      ND_LOGLEVEL: "info"
      ND_SESSIONTIMEOUT: "24h"
      ND_SCANNER_SCHEDULE: "@every 24h"
      ND_BACKUP_PATH: "/data/backup"
      ND_BACKUP_SCHEDULE: "0 4 * * *"
      ND_BACKUP_COUNT: "7"
    volumes:
      - /srv/navidrome:/data
      - /srv/music:/music:ro
docker compose up -d
docker compose ps

docker compose ps कमांड चालवल्यावर सर्व्हिस 'running' स्थितीत दिसली पाहिजे, 'restarting' नाही. जर कंटेनर सतत रीस्टार्ट होत असेल, तर ते बहुतेक वेळा /srv/navidrome वरील परवानग्यांची समस्या असते आणि docker compose logs navidrome मध्ये ती फाईल दर्शवली जाते जिथे कंटेनरला लिहिता येत नाही.

या फाईलमधील चार तपशील समजून घेणे महत्त्वाचे आहे. पोर्ट फक्त 127.0.0.1 वर पब्लिश केला आहे, जेणेकरून सर्व्हर फक्त रिव्हर्स प्रॉक्सीद्वारे उपलब्ध होईल आणि उघड्या इंटरनेटवरून 4533 पोर्टवर थेट प्रवेश मिळणार नाही: Docker स्वतःचे फायरवॉल नियम लिहितो, त्यामुळे ufw ने सर्व काही नाकारले (denied) असे दाखवले तरीही एक साधा 4533:4533 उघडा राहू शकतो. म्युझिक व्हॉल्यूम 'read only' मोडमध्ये आहे, याचा अर्थ स्कॅनरमधील त्रुटीमुळे तुमची मूळ फाईल डिलीट होऊ शकत नाही. ND_SCANNER_SCHEDULE डीफॉल्टनुसार बंद (disabled) आहे आणि Navidrome 0.55 पूर्वी लिहिलेल्या मार्गदर्शकांमध्ये याला ND_SCANSCHEDULE असे म्हटले आहे, जे नाव आता अस्तित्वात नाही. तीन बॅकअप सेटिंग्ज इन-बिल्ट डेटाबेस बॅकअप सुरू करतात, ज्यावर खालील बॅकअप विभाग अवलंबून आहे.

तुमचे संगीत सर्व्हरवर कॉपी करा

तुमची लायब्ररी rsync वापरून कॉपी करा. कनेक्शन तुटल्यास हे टूल पुन्हा सुरुवात करण्याऐवजी तिथूनच पुढे सुरू ठेवते.

rsync -av --info=progress2 ~/Music/ user@music.example.com:/srv/music/

सोर्स पाथच्या शेवटी असलेला स्लॅश (trailing slash) महत्त्वाचा आहे. तो न दिल्यास /srv/music/Music अशी स्थिती निर्माण होईल. कॉपी पूर्ण झाल्यावर फाईल्सची मालकी (ownership) दुरुस्त करा:

sudo chown -R 1000:1000 /srv/music
id -u

कंटेनर user id 1000 म्हणून चालतो आणि माउंट read-only असते, त्यामुळे प्रत्येक फाईल त्या id ला वाचता येणे आवश्यक आहे. जर तुमचे SSH खाते VPS वर uid 1000 नसेल, तर कॉपी केलेल्या फाईल्सची मालकी दुसऱ्या कोणाकडे तरी जाईल आणि स्कॅनमध्ये शून्य ट्रॅक दिसतील, तर वेब इंटरफेस रिकामाच राहील. id -u तुमचा खरा id दाखवते आणि Docker कंटेनरमध्ये PUID आणि PGID कसे काम करतात हे या मॅपिंगबद्दल सविस्तर स्पष्टीकरण देते.

रिव्हर्स प्रॉक्सी आणि TLS जेणेकरून फोन कुठूनही काम करेल

VPS कडे निर्देशित करणारा DNS A record सेट करा आणि त्यानंतर Caddy ला खालील तीन ओळी द्या:

music.example.com {
    reverse_proxy 127.0.0.1:4533
}
sudo systemctl reload caddy

Caddy पहिल्या विनंतीवर प्रमाणपत्राची (certificate) मागणी करते. पोर्ट 80 आणि 443 दोन्ही उघडे असणे आवश्यक आहे, कारण ACME (automatic certificate management environment) चॅलेंजला पोर्ट 80 वर उत्तर दिले जाते. Nginx वर, location ब्लॉक मध्ये proxy_buffering off; जोडा: Navidrome प्रगतीचे इव्हेंट्स (progress events) एका दीर्घकाळ टिकणाऱ्या कनेक्शनद्वारे वेब इंटरफेसवर पाठवते आणि बफरिंग सुरू असल्यास, Nginx कडून प्रतिसाद मिळेपर्यंत इंटरफेस थांबून राहतो. जर तुम्ही ते स्वतःच्या सबडोमेनऐवजी /music सारख्या पाथ (path) अंतर्गत सर्व्ह करत असाल, तर ND_BASEURL ला त्याच पाथवर सेट करा, अन्यथा इंटरफेस रिकामा (blank) दिसेल. तीन सामान्य प्रॉक्सींची तुलना Nginx, Caddy and Traefik on a VPS मध्ये केली आहे.

साइट उघडा आणि पहिले खाते तयार करा. कोणताही डीफॉल्ट पासवर्ड नसतो आणि पहिल्या अभ्यागताला ॲडमिन युजर तयार करण्यास सांगितले जाते, त्यामुळे कोणालाही पत्ता देण्यापूर्वी हे काम पूर्ण करा. त्यानंतर फोन क्लायंट वापरत असलेला अचूक पाथ तपासा:

SALT=$(openssl rand -hex 6)
TOKEN=$(printf '%s%s' 'YOUR_PASSWORD' "$SALT" | md5sum | cut -d' ' -f1)
curl -s "https://music.example.com/rest/ping.view?u=YOUR_USER&t=$TOKEN&s=$SALT&v=1.16.1&c=curl&f=json"

एक यशस्वी प्रतिसाद {"subsonic-response":{"status":"ok" ने सुरू होतो आणि सर्व्हरचा प्रकार म्हणून navidrome चे नाव दर्शवतो. जर प्रतिसादामध्ये "status":"failed" आणि एरर कोड 40 असेल, तर याचा अर्थ प्रॉक्सी व्यवस्थित आहे आणि क्रेडेन्शियल्स चुकीची आहेत. या टप्प्यावर प्रमाणपत्र त्रुटी (certificate error) असल्यास ती सर्वात आधी दुरुस्त करा, कारण बहुतेक फोन क्लायंट चुकीचे प्रमाणपत्र नाकारतात आणि वापरकर्त्याला कोणतीही उपयुक्त माहिती देत नाहीत.

पहिली स्कॅन पूर्ण झाल्यावर तुमची लायब्ररी चुकीची का दिसते

Navidrome फोल्डरऐवजी टॅग्सनुसार ब्राउझिंग करते, त्यामुळे तुम्हाला काय दिसेल हे टॅग्स ठरवतात. ज्या ट्रॅकवर 'album artist' टॅग नसतो, तो ट्रॅक त्याच्या 'track artist' अंतर्गत वर्गीकृत केला जातो. यामुळेच, प्रत्येक ट्रॅकवर वेगळा कलाकार असलेली एकच संकलन (compilation) प्रत्येकी एका ट्रॅकची वीस वेगवेगळी अल्बम्स म्हणून दिसते. हे Navidrome मध्ये न दुरुस्त करता फाईल्समध्येच दुरुस्त करा: MusicBrainz Picard आणि beets हे दोन्ही टूल्स MusicBrainz डेटाबेसमध्ये अल्बम शोधतात आणि त्यावर प्रमाणित टॅग्स पुन्हा लिहितात.

Navidrome 'multi artist' टॅगला स्वतंत्र कलाकारांमध्ये विभागते, त्यामुळे ज्या बँडच्या नावात विभाजक (separator) असतो, तो चुकून विभागला जातो. AC/DC हे याचे सर्वात सामान्य उदाहरण आहे. ND_SCANNER_ARTISTSPLITEXCEPTIONS मध्ये अशी नावे साठवली जातात जी कधीही विभागली जाऊ नयेत.

नवीन फाईल्स सर्व्हरवर आल्यानंतर काही सेकंदातच फाईल वॉचरद्वारे शोधल्या जातात. हा वॉचर कर्नलच्या 'change notifications' वर अवलंबून असतो. दुसऱ्या मशीनवरून माउंट केलेल्या नेटवर्क शेअरवर लिहिलेल्या फाईल्ससाठी अशा सूचना मिळत नाहीत. त्यामुळे अशा सेटअपमध्ये लायब्ररी अद्ययावत ठेवण्यासाठी नियतकालिक ND_SCANNER_SCHEDULE आवश्यक असते. पूर्ण 'rescan' प्रत्येक फाईलचे टॅग्स वाचते, जे मोठ्या लायब्ररीसाठी संथ असते. म्हणूनच खालील डेटाबेस सुरक्षित ठेवणे महत्त्वाचे आहे.

वापरकर्ते, प्लेलिस्ट आणि शेअरिंग

प्रशासक वेब इंटरफेसमध्ये इतर खाती तयार करतो, कारण येथे स्वतःहून साइन-अप करण्याची सोय नाही. प्रत्येक वापरकर्त्याला स्वतंत्र प्ले काउंट, प्लेलिस्ट, आवडी आणि रेटिंग मिळतात, त्यामुळे एका घरातील सर्व सदस्यांची अभिरुची (taste profile) एकत्र होत नाही.

प्लेलिस्ट दोन मार्गांनी येतात. क्लायंटमध्ये तयार केलेली प्लेलिस्ट डेटाबेसमध्ये साठवली जाते. लायब्ररी फोल्डरमध्ये टाकलेली .m3u फाईल स्कॅन दरम्यान इम्पोर्ट केली जाते, जो डेस्कटॉप प्लेयरवरून प्लेलिस्ट आणण्याचा सर्वात सोपा मार्ग आहे. स्मार्ट प्लेलिस्ट या .nsp फाईल्स असतात, ज्या लहान JSON नियम फाईल्स आहेत आणि त्या त्याच पद्धतीने इम्पोर्ट केल्या जातात. लायब्ररीमध्ये बदल झाल्यावर त्या आपोआप अपडेट होतात.

जुलाई 2026 मध्ये रिलीज झालेल्या 0.63.0 आवृत्तीपासून शेअरिंग डीफॉल्टनुसार सुरू असते. हे वापरकर्त्याला अल्बमची एक सार्वजनिक लिंक तयार करण्याची परवानगी देते, जी कोणीही लॉग इन न करता उघडू शकते. जर सर्व्हरवर तुमची संपूर्ण लायब्ररी असेल, तर कदाचित तुम्हाला हे नको असेल. अशा वेळी ND_ENABLESHARING हे false वर सेट केल्यास हे फिचर बंद होते.

डेटाबेसचा बॅकअप म्युझिक फाइल्सपासून वेगळा ठेवा

Navidrome चा स्वतःचा बॅकअप फक्त डेटाबेससाठीच असतो. दस्तऐवजीकरण याबद्दल स्पष्ट आहे: बॅकअप प्रक्रिया केवळ डेटाबेसचा बॅकअप घेते, म्हणजेच वापरकर्ते, प्ले काउंट्स आणि इतर माहिती; ती म्युझिक किंवा कॉन्फिगरेशनचा बॅकअप घेत नाही. ही विभागणी लक्षात ठेवणे योग्य आहे, कारण या दोन्ही गोष्टींचे नुकसान होण्याचे प्रकार वेगळे असतात. म्युझिक फाइल्स तुम्ही ज्या डिस्कवरून रिप केल्या आहेत, तिथून पुन्हा कॉपी करता येतात. मात्र, प्ले काउंट्स, रेटिंग्ज, आवडीच्या गाण्यांची यादी (favourites) आणि प्लेलिस्ट इतर कुठेही नसतात आणि पुन्हा स्कॅन (rescan) केल्याने त्या परत येत नाहीत.

compose फाइल आधीच दररोज एक प्रत /data/backup मध्ये तयार करते आणि अशा सात प्रती जतन करते. अपग्रेड करण्यापूर्वी हाताने एक प्रत काढून ठेवा:

sudo docker compose run --rm navidrome backup create

रिस्टोर करताना सध्याचा डेटाबेस पुसून टाकला जातो आणि बॅकअप त्या जागी कॉपी केला जातो. हे काम Navidrome बंद असतानाच करणे आवश्यक आहे. लाइव्ह सर्व्हरवर रिस्टोर करणे सुरक्षित नसते.

या फाइल्स त्याच VPS वर राहत असल्याने, VPS निकामी झाल्यास त्या सुरक्षित राहत नाहीत. /srv/navidrome ला शेड्यूलनुसार दुसऱ्या मशीनवर किंवा ऑब्जेक्ट स्टोरेजवर पाठवा, ज्यासाठी restic आणि BorgBackup सारखी साधने बनलेली आहेत. संपूर्ण डिरेक्टरी आकाराने लहान असते, सहसा एक गिगाबाइटपेक्षा कमी, त्यामुळे दररोज एनक्रिप्टेड प्रत सर्व्हरच्या बाहेर ठेवणे जवळजवळ मोफत पडते आणि रीस्कॅनने परत न मिळणाऱ्या सर्व गोष्टी सुरक्षित राहतात.

FAQ

मला VPS वर म्युझिक ट्रान्सकोड करण्याची गरज आहे का?

जवळजवळ कधीही नाही. फोन आणि ब्राउझर MP3, AAC, Opus आणि FLAC स्वतःहून डिकोड करतात, त्यामुळे सर्व्हर फाईल जशी आहे तशी पाठवतो आणि CPU चा वापर नगण्य असतो. हे सक्षम करणे एकाच परिस्थितीत फायदेशीर ठरते: जेव्हा FLAC लायब्ररी मोबाईल डेटावर स्ट्रीम केली जाते. अशा वेळी सुमारे 900 kbps वरून Opus च्या 128 kbps वर रूपांतर केल्यास डेटाचा वापर सुमारे सात पटीने कमी होतो. Navidrome हे प्रत्येक वापरकर्ता आणि प्रत्येक प्लेयरसाठी करू शकते आणि तुम्ही ते सुरू करेपर्यंत ते बंदच राहते.

माझे फोन ॲप ऑफलाइन ऐकण्यासाठी गाणी डाउनलोड का करू शकत नाही?

कारण ऑफलाइन स्टोरेज हे क्लायंटचे फिचर आहे, सर्व्हरचे नाही. Subsonic API कोणत्याही क्लायंटला संपूर्ण फाईल मिळवण्याची परवानगी देते, परंतु फोनवर प्रत ठेवायची की नाही हे ॲप ठरवते. navidrome.org/apps वर क्लायंट डिरेक्टरी तपासा आणि ज्याच्या वर्णनात ऑफलाइन डाउनलोड किंवा कॅशिंगचा उल्लेख आहे असे ॲप निवडा. काही क्लायंट फक्त तुम्ही आधी ऐकलेली गाणीच कॅश करतात, जे प्रवासापूर्वी पूर्ण अल्बम सिंक करण्यासारखे नाही.

स्कॅन केल्यानंतर एक अल्बम अनेक अल्बम्समध्ये का विभागला गेला?

ट्रॅक्समध्ये 'album artist' टॅग गहाळ आहे किंवा तो विसंगत आहे. Navidrome फोल्डरऐवजी टॅगनुसार गट करते, त्यामुळे बारा ट्रॅक्स ज्यांचे बारा वेगवेगळे आर्टिस्ट व्हॅल्यू आहेत आणि कोणताही सामायिक 'album artist' नाही, ते बारा वेगळे अल्बम म्हणून दिसतात. अल्बमच्या प्रत्येक ट्रॅकवर 'album artist' टॅग सेट करा (संकलनासाठी सहसा 'Various Artists' वापरा) आणि त्यानंतर पुन्हा स्कॅन करा. MusicBrainz Picard किंवा beets हे संपूर्ण फोल्डरसाठी एकाच वेळी करू शकतात.

सेल्फ-होस्टेड म्युझिक स्ट्रीमिंग Spotify ला पर्याय ठरू शकते का?

हे प्लेयर आणि लायब्ररीला पर्याय आहे, कॅटलॉगला नाही. तुम्हाला प्रत्येक डिव्हाइसवर तुमचा स्वतःचा संग्रह मिळतो, ज्यामध्ये अशा प्लेलिस्ट आणि प्ले काउंट्स असतात जे कोणत्याही परवाना बदलामुळे तुमच्याकडून हिरावून घेतले जाऊ शकत नाहीत. तुम्हाला नवीन रिलीज मिळत नाहीत आणि इतर लोकांच्या ऐकण्यावरून तयार केलेल्या शिफारसीही मिळत नाहीत. जे लोक हे चालवतात, त्यातील बहुतेकजण स्वतःचे संगीत विकत घेतात आणि नवीन गाणी शोधण्यासाठी स्वस्त स्ट्रीमिंग अकाउंट वापरतात.

#navidrome#music#streaming#self-hosting#media-server