دليل

خادم موسيقاك الخاص على Raspberry Pi

Raspberry Pi وسيلة هادئة وقليلة الاستهلاك للطاقة لحفظ مجموعتك الموسيقية كاملة في المنزل والاستماع إليها من أي مكان. يشرح هذا الدليل إعداد جهاز منه مع Navidrome، وهو خادم موسيقى مجاني ومفتوح المصدر يعمل بسلاسة على Pi، ثم ربط Audex به. خصّص نحو 30 دقيقة، يذهب معظمها في انتظار التنزيلات.

نحو 30 دقيقة Raspberry Pi 3 أو 4 أو 5 Navidrome + Docker

ما تحتاج إليه

  • جهاز Raspberry Pi 4 أو 5 (ويعمل Pi 3 أيضًا). يحتاج Navidrome إلى القليل جدًا، و2 غيغابايت من الذاكرة أكثر من كافية.
  • بطاقة microSD بسعة 16 غيغابايت أو أكثر، ومحوّل الطاقة الخاص بـ Pi. ولمجموعة كبيرة، يكون قرص SSD عبر USB أفضل من البطاقة.
  • اتصال بالشبكة. الكابل إلى جهاز التوجيه هو الأكثر موثوقية، ويعمل Wi-Fi أيضًا.
  • حاسوب لتجهيز البطاقة ونسخ موسيقاك، على الشبكة نفسها التي يتصل بها Pi.
  • ملفات موسيقاك (MP3 وFLAC وM4A وOGG وOpus ونحوها) وتطبيق Audex على هاتفك.

تفضّل المشاهدة أولًا؟

يعرض هذا الفيديو إعداد Navidrome على Raspberry Pi 5، ثم تصحيح وسوم الأغاني وإضافة راديو الإنترنت. تتبع الخطوات المكتوبة أدناه طريقة Docker الرسمية لـ Navidrome، لذا تختلف الأوامر قليلًا عن الفيديو، وكلتاهما تنتهي بالخادم نفسه. (الفيديو بالإنجليزية.)

يُثبَّت Navidrome بدءًا من الدقيقة 4:29. الفيديو من Jeffs Pi in the Sky، ولا علاقة له بـ Audex. لا يُحمَّل شيء من YouTube قبل أن تضغط تشغيل. شاهده على YouTube

1. إعداد Raspberry Pi

  1. ثبّت Raspberry Pi OS على البطاقة

    ثبّت Raspberry Pi Imager على حاسوبك واختر طراز Pi الخاص بك، ثم Raspberry Pi OS Lite (64-bit) من «Raspberry Pi OS (other)». لن تحتاج إلى سطح مكتب على خادم.

    نزّل Raspberry Pi Imager
  2. املأ الإعدادات قبل الكتابة على البطاقة

    حين يعرض Imager تخصيص النظام، اختر اسم مضيف مثل audex-pi، واسم مستخدم وكلمة مرور، وشبكة Wi-Fi إن لم تستخدم كابلًا، وفعّل SSH مع تسجيل الدخول بكلمة مرور. ثم اكتب البطاقة، وضعها في Pi وشغّله. يستغرق التشغيل الأول بضع دقائق.

  3. اتصل بـ Pi من حاسوبك

    افتح نافذة طرفية (PowerShell على ويندوز، أو Terminal على macOS أو لينكس) وسجّل الدخول باسم المستخدم الذي اخترته:

    ssh yourname@audex-pi.local

    إن لم يُعثر على audex-pi.local، فاستخدم عنوان IP الخاص بـ Pi من قائمة الأجهزة في جهاز التوجيه.

  4. حدّث النظام
    sudo apt update && sudo apt full-upgrade -y

2. تثبيت Navidrome

  1. ثبّت Docker

    يشغّل Docker خادم Navidrome داخل حاوية يسهل تحديثها. تستخدم هذه الأوامر سكربت التثبيت الرسمي من Docker، ثم تتيح لمستخدمك تشغيله دون sudo:

    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    sudo usermod -aG docker $USER

    اكتب exit ثم سجّل الدخول مجددًا عبر ssh ليسري التغيير.

  2. أنشئ مجلدات لـ Navidrome ولموسيقاك
    mkdir -p ~/navidrome/data ~/music
  3. انسخ موسيقاك إلى Pi

    من نافذة طرفية على حاسوبك (لا على Pi)، انسخ مجلد موسيقى إليه. كرر ذلك لكل مجلد، أو انسخ مكتبتك كاملة دفعة واحدة:

    scp -r "Path/To/Your Music Folder" yourname@audex-pi.local:music/

    لنسخ مكتبة كبيرة، يكون النقل من قرص USB موصول بـ Pi أسرع. احتفظ بمجلد لكل فنان أو ألبوم، فـ Navidrome يقرأ الوسوم داخل الملفات في كل الأحوال.

  4. صِف الخادم في ملف Compose

    على Pi مجددًا، افتح ملفًا جديدًا:

    nano ~/navidrome/compose.yaml

    الصق هذا، ثم احفظ بـ Ctrl+O ثم Enter، وأغلق بـ Ctrl+X:

    services:
      navidrome:
        image: navidrome/navidrome:latest
        user: 1000:1000
        ports:
          - "4533:4533"
        restart: unless-stopped
        volumes:
          - ./data:/data
          - ../music:/music:ro

    1000:1000هو أول مستخدم في Raspberry Pi OS، أي المستخدم الذي أنشأته. ويُربط مجلد الموسيقى للقراءة فقط، فلا يمكن لـ Navidrome تغيير ملفاتك أبدًا.

  5. شغّله
    cd ~/navidrome
    docker compose up -d

    ينزّل التشغيل الأول Navidrome. ويعيد restart: unless-stopped تشغيله تلقائيًا كلما أُعيد تشغيل Pi.

  6. أنشئ حسابك في Navidrome

    في متصفح على حاسوبك، افتح http://audex-pi.local:4533 وأنشئ أول مستخدم، وسيصبح المسؤول. ثم يفحص Navidrome مجلد موسيقاك من تلقاء نفسه، فتظهر الألبومات في غضون دقائق.

  7. امنح Pi عنوانًا ثابتًا

    اعرف عنوان Pi بالأمر hostname -I، ثم احجزه في إعدادات جهاز التوجيه (يُسمّى غالبًا حجز DHCP أو عنوانًا ثابتًا). وبذلك لا يتغير العنوان الذي تعطيه لـ Audex أبدًا.

3. ربط Audex

  1. أضف الخادم

    في Audex، افتح الإعدادات ← خوادم الوسائط ← إضافة خادم واختر Subsonic / OpenSubsonic / Navidrome. (تظهر خوادم Jellyfin وEmby وKodi من تلقاء نفسها تحت على هذه الشبكة؛ أما Navidrome فلا يعلن عن نفسه على الشبكة، لذا تضيفه بعنوانه.)

  2. أدخل عنوانه وبيانات دخولك

    استخدم عنوان Pi ومنفذه، مثل http://192.168.1.50:4533، مع اسم المستخدم وكلمة المرور اللذين أنشأتهما للتو في Navidrome. يختبر Audex الاتصال قبل الحفظ، فتعرف فورًا أنه يعمل.

  3. فعّل «البث بالجودة الأصلية»

    في النموذج نفسه (أو لاحقًا من صفحة الخادم في الإعدادات ← خوادم الوسائط)، فعّل البث بالجودة الأصلية. يرسل Pi حينها ملفاتك كما هي بدلًا من تحويلها، فيبقى باردًا وسريعًا. ويستهلك ذلك بيانات جوال أكثر خارج المنزل، فاتركه معطّلًا إن كانت باقة بياناتك صغيرة.

  4. شغّل شيئًا

    اختر الخادم من محدد المصادر أعلى المكتبة. تظهر الألبومات والفنانون والأنواع وقوائم التشغيل كما ينظّمها Navidrome، ويمكن تنزيل أي شيء للاستماع دون اتصال.

اختياري: الاستماع خارج المنزل

لا يمكن الوصول إلى Pi إلا من شبكة منزلك حتى تضيف طريقًا إليه من الخارج. وأبسط طريق آمن هو شبكة VPN خاصة مثل Tailscale، لا تتطلب أي تغيير في جهاز التوجيه:

  1. ثبّت Tailscale على Pi وسجّل الدخول
    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up

    افتح الرابط الذي يظهر لتسجيل الدخول، ثم ثبّت تطبيق Tailscale على هاتفك بالحساب نفسه.

    احصل على Tailscale
  2. أضفه عنوانًا ثانيًا للخادم

    عدّل الخادم في Audex وضع عنوان Tailscale الخاص بـ Pi (يبدأ بـ 100. مع :4533) في عنوان ثانٍ (اختياري). في المنزل يستخدم Audex عنوان المنزل، وحين يتعذر الوصول إليه ينتقل إلى العنوان الثاني تلقائيًا.

تستخدم HTTPS بشهادة ذاتية التوقيع؟ يعرض Audex في المرة الأولى تفاصيل الشهادة وبصمتها SHA-256 لتثق بهذه الشهادة تحديدًا. وإن تغيّرت يومًا، يتوقف Audex ويسألك قبل الاتصال من جديد.

إن لم يعمل شيء ما

يفتح Navidrome، لكن المكتبة فارغة
لا يستطيع Navidrome قراءة مجلد الموسيقى. اجعل مستخدمك مالكه، ثم أعد تشغيل Navidrome:
sudo chown -R 1000:1000 ~/music ~/navidrome/data
cd ~/navidrome && docker compose restart
لا يستطيع Audex الاتصال بالخادم
تأكد من أن هاتفك على شبكة Wi-Fi نفسها التي يتصل بها Pi، وأن العنوان في Audex يتضمن :4533. وعلى Pi، يجب أن يُظهر الأمر docker compose ps (داخل ~/navidrome) أن Navidrome يعمل. وإن تغيّر عنوان Pi، فاحجزه في جهاز التوجيه كما في الخطوة 2.
كيف أحدّث Navidrome لاحقًا؟
على Pi:
cd ~/navidrome
docker compose pull && docker compose up -d
يُحفظ حسابك وإعداداتك في ~/navidrome/data ويبقيان كما هما.
هل يمكنني استخدام Jellyfin على Pi بدلًا منه؟
نعم. يعمل Jellyfin جيدًا للموسيقى على Pi 4 أو 5، ويتصل به Audex بالطريقة نفسها (المنفذ 8096)، ويجده غالبًا من تلقاء نفسه تحت على هذه الشبكة. وللفيديو، احفظ الملفات بصيغ تشغّلها أجهزتك مباشرةً، لأن Pi لا يحوّل الفيديو بسرعة. ويبقى Navidrome الخيار الأخف إن كنت تحتاج إلى الموسيقى فقط.

ما زلت عالقًا؟ راسلنا على support@shafralabs.com، فكل رسالة يقرؤها شخص حقيقي.