
مدیا سرور Navidrome یک راهکار خیلی ساده و کاربر پسند برای self-host کردن آرشیو آهنگ های دانلود شده هست.
Navidrome به صورت متن باز در گیت هاب قرار داده شده.
بعد از نصب و راه اندازی، میتونی ازش روی شبکه محلی خونه (LAN) خودت و اعضای خانواده استفاده کنید، یا با یکم زحمت بیشتر از راه دور دسترسی داشته باشی.
پیش نیاز این قدم، نصب بودن docker و فعال بودن سرویسش هست
# docker-compose.yml services: navidrome: image: deluan/navidrome:latest ports: - "0.0.0.0:4533:4533" # Access from LAN volumes: - /path/to/your/music:/music - ./data:/data environment: ND_LOGLEVEL: info
کانفیگ بالا رو درون فایل docker-compose.yml ذخیره کنید، مقدار "path/to/your/music" رو با مسیر فولدر آرشیو موزیک عوض کنید.
برای شخصی سازی بیشتر، به عنوان مثال می تونید موارد زیر رو به environment اضافه کنید:
ND_UIWELCOMEMESSAGE: "آرشیو موزیک" ND_DEFAULTLANGUAGE: "fa" ND_DEFAULTTHEME: "Spotify-ish"
برای transcoding روی سرور ضعیف، ND_TRANSCODINGCACHESIZE رو محدود کنید
اگه آرشیو بزرگه، ND_SCANSCHEDULE رو تنظیم کنید که مدام اسکن نکنه
بعد با دستور زیر ایمیج pull خواهد شد و سرویس شما راه اندازی میشه:
docker-compose up -d
میرور های داخلی برای داکر (محتوای زیر رو داخل فایل مسیر etc/docker/daemon.json/ ذخیره کنید):
{ "registry-mirrors": [ "https://docker.arvancloud.ir", "https://mirror-docker.runflare.com", "https://docker.iranserver.com", "https://registry.docker.ir", "https://focker.ir", "https://docker.haiocloud.com", "https://docker.mobinhost.com" ] }
همین حالا می تونید از طریق IP محلی دستگاه میزبان و پورت ۴۵۳۳ که ست کردیم روی مرورگر دسترسی داشته باشید. توجه داشته باشید که دستگاه های دیگه باید همه روی یک شبکه محلی باشند. دسترسی از بیرون رو در ادامه بررسی خواهیم کرد.
در صورتی که فایروال سیستم شما فعال هست، حتما یه rule برای باز کردن مسیرش ایجاد کنید
پس از اولین بازدید از شما خواسته میشه که حساب ادمین ایجاد کنید. از طریق حساب ادمین حساب های دیگر از قسمت Users میتونید درست کنید.
برای دریافت IP محلی:
ip add show
برای این مورد، باید به تنظیمات مودم تون مراجعه کنید و از قسمت Port Forwarding یا Virtual Server پورت رو به بیرون باز کنید.
در ادامه یه نمونه از مودم UTEL رو بررسی میکنیم:

داخل فیلد WAN Port: شماره پورت که به بیرون باز میشه
داخل فیلد LAN Port: شماره پورت که روی LAN باز کردید
فیلد LAN IP Address: آیپی محلی شما
دکمه Apply رو بزنید و بررسی کنید که در جدول Forwarding مودم شما قرار گرفته باشه.
حالا باید IP واقعی خودتون رو پیدا کنید.
تمام :)
از اینجا حالا میتونید با استفاده از یه reverse-proxy (مثلا nginx) ، تهیه IP ثابت و یک دامنه به صورت خونگی Navidrome رو هاست کنید.
این مدیا سرور از API Subsonic پشتیبانی میکنه و کلاینت های زیادی براش روی اندروید / IOS هست.
یه نمونه Symfonium هست که میتونید از منابع داخلی دانلود کنید. از صفحه اول گزینه Subsonic رو برای تنظیم انتخاب کنید. با استفاده از کلاینت دیگه نیازی نیست هر دفعه به مرورگر مراجعه داشته باشید.