<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home-Server on FahdLABs | مختّبر فهد</title><link>https://blog.fahdlabs.com/tags/home-server/</link><description>Recent content in Home-Server on FahdLABs | مختّبر فهد</description><generator>Hugo -- gohugo.io</generator><language>ar</language><lastBuildDate>Sat, 07 Feb 2026 10:00:00 +0300</lastBuildDate><atom:link href="https://blog.fahdlabs.com/tags/home-server/index.xml" rel="self" type="application/rss+xml"/><item><title>شرح Dockge بالعربي: إدارة Docker Compose بسهولة على Raspberry Pi</title><link>https://blog.fahdlabs.com/p/dockge-docker-compose-manager/</link><pubDate>Sat, 07 Feb 2026 10:00:00 +0300</pubDate><guid>https://blog.fahdlabs.com/p/dockge-docker-compose-manager/</guid><description>&lt;img src="https://blog.fahdlabs.com/" alt="Featured image of post شرح Dockge بالعربي: إدارة Docker Compose بسهولة على Raspberry Pi" /&gt;&lt;p&gt;هذا الدليل هو نسخة مكتوبة وموسعة من الفيديو:
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/ZXCYEMIl71c" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;إذا تستخدم Docker Compose وتبغى إدارة أسهل من التيرمنال، Dockge يعطيك لوحة بسيطة وسريعة بدون تعقيد.&lt;/p&gt;
&lt;h2 id="ما-هو-dockge"&gt;ما هو Dockge؟
&lt;/h2&gt;&lt;p&gt;Dockge أداة مفتوحة المصدر لإدارة مشاريع &lt;code&gt;docker-compose&lt;/code&gt; من واجهة ويب.&lt;/p&gt;
&lt;p&gt;تقدر من خلالها:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;إنشاء Stack جديد.&lt;/li&gt;
&lt;li&gt;تشغيل/إيقاف/تحديث الخدمات.&lt;/li&gt;
&lt;li&gt;تعديل &lt;code&gt;compose.yaml&lt;/code&gt; مباشرة.&lt;/li&gt;
&lt;li&gt;قراءة Logs من نفس الواجهة.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;متى يكون Dockge مناسب لك؟&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;عندك سيرفر واحد أو بيئة منزلية صغيرة.&lt;/li&gt;
&lt;li&gt;تستخدم &lt;code&gt;docker-compose&lt;/code&gt; بشكل يومي.&lt;/li&gt;
&lt;li&gt;تبغى واجهة بسيطة بدون تعقيد أدوات أكبر.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="قبل-التثبيت"&gt;قبل التثبيت
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Docker + Docker Compose يجب أن يكونا جاهزين.&lt;/li&gt;
&lt;li&gt;يفضل أن يكون الراسبيري باي له IP ثابت.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;إذا لم تجهّزها بعد:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.fahdlabs.com/post/raspberry-pi-5-setup-ssh-docker/" &gt;إعداد Raspberry Pi + Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.fahdlabs.com/post/raspberry-pi-static-ip-networkmanager/" &gt;تثبيت IP ثابت&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="1-إنشاء-مجلد-العمل"&gt;1) إنشاء مجلد العمل
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p ~/dockge
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/dockge
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="2-إنشاء-ملف-composeyaml-لـ-dockge"&gt;2) إنشاء ملف compose.yaml لـ Dockge
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nano compose.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ضع هذا المحتوى:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;dockge&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;louislam/dockge:latest&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;dockge&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unless-stopped&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;5001:5001&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/var/run/docker.sock:/var/run/docker.sock&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;./data:/app/data&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/full/path/to/folder/stacks:/full/path/to/folder/stacks&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;DOCKGE_STACKS_DIR=/full/path/to/folder/stacks&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ثم احفظ الملف من خلال الضغط على&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ctrl+x&lt;/li&gt;
&lt;li&gt;y&lt;/li&gt;
&lt;li&gt;enter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ملاحظة مهمة:&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;لازم المسار الي فيه ال ستاكس يكون مسار كامل مسار الداتا عادي يكون نسبي&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;نسبي مثل: ./data&lt;/li&gt;
&lt;li&gt;كامل مثل: /home/fahdlabs/dockge/stacks&lt;/li&gt;
&lt;li&gt;ومسار الستاكس لازم اليمين يكون نفس اليسار&lt;/li&gt;
&lt;li&gt;مسار &lt;code&gt;DOCKGE_STACKS_DIR&lt;/code&gt; لازم يطابق المسار المربوط في &lt;code&gt;volumes&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="ملف compose.yaml الخاص بـ Dockge قبل التشغيل" class="gallery-image" data-flex-basis="397px" data-flex-grow="165" height="586" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-01-dockge-compose-yaml.png" srcset="https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-01-dockge-compose-yaml_hu_abb16e3122391931.png 800w, https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-01-dockge-compose-yaml.png 971w" width="971"&gt;&lt;/p&gt;
&lt;h2 id="3-تجهيز-المجلدات-المطلوبة"&gt;3) تجهيز المجلدات المطلوبة
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p data stacks
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="4-تشغيل-dockge"&gt;4) تشغيل Dockge
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;تحقق:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker ps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img alt="تشغيل Dockge عبر docker compose up -d" class="gallery-image" data-flex-basis="1335px" data-flex-grow="556" height="174" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-02-docker-compose-up-d.png" srcset="https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-02-docker-compose-up-d_hu_cee9c7fca96c87c6.png 800w, https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-02-docker-compose-up-d.png 968w" width="968"&gt;&lt;/p&gt;
&lt;h2 id="5-فتح-الواجهة-وإنشاء-حساب-admin"&gt;5) فتح الواجهة وإنشاء حساب Admin
&lt;/h2&gt;&lt;p&gt;من المتصفح:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://RASPBERRY_PI_IP:5001
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;أول دخول سيطلب إنشاء حساب مدير.&lt;/p&gt;
&lt;p&gt;&lt;img alt="إنشاء حساب المدير عند أول دخول إلى Dockge" class="gallery-image" data-flex-basis="492px" data-flex-grow="205" height="314" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-03-dockge-admin-account.png" width="645"&gt;&lt;/p&gt;
&lt;h2 id="6-إنشاء-أول-stack-تجريبي-whoami"&gt;6) إنشاء أول Stack تجريبي (whoami)
&lt;/h2&gt;&lt;p&gt;من داخل Dockge:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;اضغط &lt;code&gt;+ Compose&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;سمّ الـ Stack: &lt;code&gt;whoami&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;ألصق ملف Compose التالي:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;whoami&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;traefik/whoami&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;whoami&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unless-stopped&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;8080:80&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start="4"&gt;
&lt;li&gt;احفظ.&lt;/li&gt;
&lt;li&gt;اضغط &lt;code&gt;Start&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;اختبر الخدمة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://RASPBERRY_PI_IP:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ليش &lt;code&gt;whoami&lt;/code&gt;؟ لأنها خدمة اختبار خفيفة جدًا وتأكد بسرعة أن مسار Dockge كامل شغال من البداية للنهاية.&lt;/p&gt;
&lt;p&gt;&lt;img alt="إنشاء وتشغيل Stack whoami من واجهة Dockge" class="gallery-image" data-flex-basis="408px" data-flex-grow="170" height="401" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/dockge-docker-compose-manager/step-04-create-whoami-stack.png" width="683"&gt;&lt;/p&gt;
&lt;h2 id="7-أهم-المميزات-العملية-في-dockge"&gt;7) أهم المميزات العملية في Dockge
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Logs&lt;/code&gt;: لمتابعة مشاكل التشغيل بسرعة.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Edit&lt;/code&gt;: تعديل Compose بدون الرجوع للتيرمنال.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Stop/Start/Restart&lt;/code&gt;: إدارة سريعة لكل Stack.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Update&lt;/code&gt;: سحب أحدث صورة وإعادة التشغيل.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="هيكلة-منظمة-مقترحة-لمشاريعك"&gt;هيكلة منظمة مقترحة لمشاريعك
&lt;/h2&gt;&lt;p&gt;داخل &lt;code&gt;~/dockge/stacks/&lt;/code&gt; اجعل كل خدمة في مجلد مستقل:&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;دوكجي يسويها لك بهذا الشكل من نفسه&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;stacks/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; adguard/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; compose.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; immich/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; compose.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; uptime-kuma/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; compose.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;هذا يسهل النسخ الاحتياطي والمتابعة.&lt;/p&gt;
&lt;h2 id="أخطاء-شائعة-وحلولها"&gt;أخطاء شائعة وحلولها
&lt;/h2&gt;&lt;h3 id="1-docker-permission-denied"&gt;1. &lt;code&gt;docker: permission denied&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;أضف المستخدم لمجموعة docker:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo usermod -aG docker &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ثم أعد تسجيل الدخول.&lt;/p&gt;
&lt;h3 id="2-no-such-file-or-directory-composeyaml"&gt;2. &lt;code&gt;no such file or directory: compose.yaml&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;شغّلت الأمر من مجلد غير صحيح.
الحل: ادخل &lt;code&gt;~/dockge&lt;/code&gt; ثم أعد التنفيذ.&lt;/p&gt;
&lt;h3 id="3-stack-لا-يظهر-في-dockge"&gt;3. Stack لا يظهر في Dockge
&lt;/h3&gt;&lt;p&gt;تأكد أن:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;قيمة &lt;code&gt;DOCKGE_STACKS_DIR&lt;/code&gt; نفس المسار الكامل الذي اخترته للـ stacks.&lt;/li&gt;
&lt;li&gt;مثال صحيح:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/home/USERNAME/dockge/stacks:/home/USERNAME/dockge/stacks&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;DOCKGE_STACKS_DIR=/home/USERNAME/dockge/stacks&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="faq"&gt;FAQ
&lt;/h2&gt;&lt;h3 id="هل-dockge-بديل-كامل-لـ-portainer"&gt;هل Dockge بديل كامل لـ Portainer؟
&lt;/h3&gt;&lt;p&gt;ليس نفس الفلسفة. Dockge أخف ومركز على Docker Compose بشكل مباشر وبسيط.&lt;/p&gt;
&lt;p&gt;قاعدة سريعة:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;إذا تريد إدارة Compose بسرعة وبشكل واضح: Dockge ممتاز.&lt;/li&gt;
&lt;li&gt;إذا تريد إدارة أوسع (Swarm/Features كثيرة): فكر لاحقًا بأدوات أكبر.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="هل-ينفع-على-سيرفر-واحد-منزلي"&gt;هل ينفع على سيرفر واحد منزلي؟
&lt;/h3&gt;&lt;p&gt;نعم، وهذه أفضل حالة استخدام له.&lt;/p&gt;
&lt;h3 id="هل-يدعم-العربية"&gt;هل يدعم العربية؟
&lt;/h3&gt;&lt;p&gt;نعم، يوجد دعم واجهة عربي ويمكن تغييره من الإعدادات.&lt;/p&gt;
&lt;h2 id="المصادر-الرسمية-للتحديثات"&gt;المصادر الرسمية (للتحديثات)
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Dockge Official Website: &lt;a class="link" href="https://dockge.kuma.pet/" target="_blank" rel="noopener"
 &gt;https://dockge.kuma.pet/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dockge GitHub: &lt;a class="link" href="https://github.com/louislam/dockge" target="_blank" rel="noopener"
 &gt;https://github.com/louislam/dockge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Docker Compose Documentation: &lt;a class="link" href="https://docs.docker.com/compose/" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/compose/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="الخلاصة"&gt;الخلاصة
&lt;/h2&gt;&lt;p&gt;Dockge يعطيك طريقة سريعة ومرتبة لإدارة &lt;code&gt;docker-compose&lt;/code&gt; في الهوم لاب. وهو تجهيز ممتاز قبل تشغيل خدمات مثل AdGuard Home.&lt;/p&gt;</description></item><item><title>إعداد Raspberry Pi 5 من الصفر: تثبيت النظام + SSH + Docker خطوة بخطوة</title><link>https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/</link><pubDate>Sat, 31 Jan 2026 10:00:00 +0300</pubDate><guid>https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/</guid><description>&lt;img src="https://blog.fahdlabs.com/" alt="Featured image of post إعداد Raspberry Pi 5 من الصفر: تثبيت النظام + SSH + Docker خطوة بخطوة" /&gt;&lt;p&gt;هذا الدليل هو نسخة مكتوبة وموسعة من الفيديو:
&lt;div class="video-wrapper"&gt;
 &lt;iframe loading="lazy" 
 src="https://www.youtube.com/embed/QtXd0aZN1po" 
 allowfullscreen 
 title="YouTube Video"
 &gt;
 &lt;/iframe&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;إذا هدفك تحوّل الراسبيري باي إلى سيرفر منزلي (Homelab)، فهذا هو المسار الصحيح للبداية.&lt;/p&gt;
&lt;h2 id="لماذا-اخترنا-raspberry-pi-os-lite-بدل-desktop"&gt;لماذا اخترنا Raspberry Pi OS Lite بدل Desktop؟
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;لأننا نبني &lt;strong&gt;سيرفر&lt;/strong&gt; وليس جهاز استخدام يومي بواجهة رسومية.&lt;/li&gt;
&lt;li&gt;نسخة Lite تستهلك RAM أقل، وهذا يعطي موارد أكثر للخدمات مثل Docker.&lt;/li&gt;
&lt;li&gt;التحديثات غالبًا أخف وأسرع.&lt;/li&gt;
&lt;li&gt;إدارة السيرفر عبر SSH تكفي في أغلب سيناريوهات Homelab.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ماذا-ستتعلم-في-هذا-الشرح"&gt;ماذا ستتعلم في هذا الشرح؟
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;تفليش نظام Raspberry Pi OS Lite بالطريقة الصحيحة.&lt;/li&gt;
&lt;li&gt;تجهيز الإعدادات قبل التشغيل الأول (Wi-Fi + Username + SSH).&lt;/li&gt;
&lt;li&gt;الدخول على الجهاز عبر SSH.&lt;/li&gt;
&lt;li&gt;تحديث النظام بدون أخطاء شائعة.&lt;/li&gt;
&lt;li&gt;تثبيت Docker وDocker Compose وتشغيل أول حاوية للتأكد أن كل شيء يعمل.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="المتطلبات"&gt;المتطلبات
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Raspberry Pi 5 (وأي موديل حديث غالبًا يمشي بنفس الخطوات).&lt;/li&gt;
&lt;li&gt;بطاقة microSD جيدة.&lt;/li&gt;
&lt;li&gt;قارئ بطاقة على الكمبيوتر.&lt;/li&gt;
&lt;li&gt;إنترنت.&lt;/li&gt;
&lt;li&gt;راوتر منزلي.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="1-تنزيل-raspberry-pi-imager-وتثبيت-النظام"&gt;1) تنزيل Raspberry Pi Imager وتثبيت النظام
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;ادخل موقع Raspberry Pi الرسمي وحمّل &lt;a class="link" href="https://www.raspberrypi.com/software/" target="_blank" rel="noopener"
 &gt;Raspberry Pi Imager&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;افتح البرنامج واختر:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Choose Device&lt;/code&gt;: اختر جهازك (مثل Raspberry Pi 5).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Choose OS&lt;/code&gt;: اختر &lt;code&gt;Raspberry Pi OS (other)&lt;/code&gt; ثم &lt;code&gt;Raspberry Pi OS Lite (64-bit)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Choose Storage&lt;/code&gt;: اختر بطاقة الذاكرة الصحيحة.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;نسخة Lite مناسبة للسيرفر لأنها أخف من نسخة سطح المكتب.&lt;/p&gt;
&lt;p&gt;&lt;img alt="اختيار النظام من Raspberry Pi Imager" class="gallery-image" data-flex-basis="339px" data-flex-grow="141" height="543" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/step-01-imager-device-os-storage.png" width="768"&gt;&lt;/p&gt;
&lt;h2 id="2-الإعدادات-المهمة-قبل-التفليش-os-customization"&gt;2) الإعدادات المهمة قبل التفليش (OS Customization)
&lt;/h2&gt;&lt;p&gt;قبل ما تضغط &lt;code&gt;Write&lt;/code&gt;، فعّل هذه الخيارات:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Hostname&lt;/code&gt;: مثل &lt;code&gt;fahdlabs&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;ملاحظة الهوست نيم تقدر تستخدمه لما تدخل على الباي عن طريق هذا العنوان بدال الايبي:
HOSTNAME.local
بس تضيف على الاسم الي اخترته &amp;ldquo;.local&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Username/Password&lt;/code&gt;: حساب الدخول.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Configure wireless LAN&lt;/code&gt;: إذا كنت تستخدم Wi-Fi.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Set locale settings&lt;/code&gt;: المنطقة الزمنية ولوحة المفاتيح.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Enable SSH&lt;/code&gt;: واختر &lt;code&gt;Use password authentication&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذه الخطوة تختصر عليك توصيل شاشة/كيبورد للراسبيري.&lt;/p&gt;
&lt;p&gt;&lt;img alt="هنا نحط معلومات شبكة الوايفاي المنزلية الي بيتصل فيهاالباي" class="gallery-image" data-flex-basis="340px" data-flex-grow="141" height="539" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/step-02-os-customization-ssh-wifi.png" width="765"&gt;&lt;/p&gt;
&lt;h2 id="3-الإقلاع-الأول-ومعرفة-ip-الجهاز"&gt;3) الإقلاع الأول ومعرفة IP الجهاز
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;افصل البطاقة من الكمبيوتر.&lt;/li&gt;
&lt;li&gt;ركبها في Raspberry Pi وشغّل الجهاز.&lt;/li&gt;
&lt;li&gt;انتظر من دقيقة إلى 5 دقائق.&lt;/li&gt;
&lt;li&gt;ادخل صفحة الراوتر وابحث عن الجهاز في DHCP clients أو DHCP leases.&lt;/li&gt;
&lt;li&gt;انسخ عنوان الـ IP.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="نطلع اي بي الباي من الراوتر" class="gallery-image" data-flex-basis="380px" data-flex-grow="158" height="409" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/step-03-router-dhcp-ip.png" width="649"&gt;&lt;/p&gt;
&lt;h2 id="4-الدخول-عبر-ssh"&gt;4) الدخول عبر SSH
&lt;/h2&gt;&lt;p&gt;من التيرمنال في جهازك:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh USERNAME@IP_ADDRESS
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;مثال:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh fahad@192.168.1.21
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;أول مرة سيطلب تأكيد البصمة الأمنية، اكتب:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;yes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ثم أدخل كلمة المرور.&lt;/p&gt;
&lt;p&gt;لو كان &lt;code&gt;hostname.local&lt;/code&gt; يعمل عندك، تستطيع الدخول أيضًا بهذه الطريقة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh USERNAME@HOSTNAME.local
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img alt="اول تسجيل دخول عن طريق الـ SSH" class="gallery-image" data-flex-basis="431px" data-flex-grow="179" height="485" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/step-04-ssh-login-terminal.png" srcset="https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/step-04-ssh-login-terminal_hu_5a08c7f5dbdaf3ca.png 800w, https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/step-04-ssh-login-terminal.png 871w" width="871"&gt;&lt;/p&gt;
&lt;h2 id="5-تحديث-النظام"&gt;5) تحديث النظام
&lt;/h2&gt;&lt;p&gt;بعد تسجيل الدخول:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt upgrade -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;هذه خطوة أساسية قبل تثبيت أي خدمة.&lt;/p&gt;
&lt;h2 id="6-تثبيت-docker--docker-compose"&gt;6) تثبيت Docker + Docker Compose
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://docs.docker.com/engine/install/debian/" target="_blank" rel="noopener"
 &gt;رابط شرح التثبيت من موقع دوكر الرسمي&lt;/a&gt;.
حسب الطريقة الرسمية على Debian/Raspberry Pi OS:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -fsSL https://get.docker.com &lt;span class="p"&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo usermod -aG docker &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;بعدها سجّل خروج وادخل مرة ثانية (أو أعد تشغيل الجلسة) لتفعيل صلاحيات مجموعة &lt;code&gt;docker&lt;/code&gt; بدون &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;تحقق أن Docker يعمل:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker ps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="7-اختبار-سريع-تشغيل-أول-حاوية"&gt;7) اختبار سريع: تشغيل أول حاوية
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run --rm hello-world
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;إذا ظهرت رسالة النجاح، فـ Docker شغال بشكل صحيح.&lt;/p&gt;
&lt;p&gt;&lt;img alt="نجاح تشغيل اول حاوية دوكر" class="gallery-image" data-flex-basis="429px" data-flex-grow="179" height="416" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.fahdlabs.com/p/raspberry-pi-5-setup-ssh-docker/step-05-docker-hello-world-success.png" width="745"&gt;&lt;/p&gt;
&lt;h2 id="الأخطاء-الشائعة-وحلولها"&gt;الأخطاء الشائعة وحلولها
&lt;/h2&gt;&lt;h3 id="1-permission-denied-while-trying-to-connect-to-the-docker-daemon"&gt;1. &lt;code&gt;Permission denied while trying to connect to the Docker daemon&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;المشكلة: المستخدم ليس ضمن مجموعة Docker أو لم تُحدّث الجلسة.
الحل:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo usermod -aG docker &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ثم أعد تسجيل الدخول.&lt;/p&gt;
&lt;h3 id="2-ما-أقدر-أدخل-ssh"&gt;2. ما أقدر أدخل SSH
&lt;/h3&gt;&lt;p&gt;تأكد من:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;تفعيل SSH في إعدادات Imager.&lt;/li&gt;
&lt;li&gt;نفس شبكة الراوتر.&lt;/li&gt;
&lt;li&gt;IP صحيح من صفحة الراوتر.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-الجهاز-يعطي-ip-مختلف-بعد-كل-إعادة-تشغيل"&gt;3. الجهاز يعطي IP مختلف بعد كل إعادة تشغيل
&lt;/h3&gt;&lt;p&gt;هذا طبيعي مع DHCP. الحل الكامل هنا:&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://blog.fahdlabs.com/post/raspberry-pi-static-ip-networkmanager/" &gt;شرح تثبيت IP ثابت على Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="faq-أسئلة-شائعة"&gt;FAQ (أسئلة شائعة)
&lt;/h2&gt;&lt;h3 id="هل-لازم-raspberry-pi-5"&gt;هل لازم Raspberry Pi 5؟
&lt;/h3&gt;&lt;p&gt;لا. غالبًا نفس الخطوات تمشي على Pi 4 وPi 3 (مع اختلاف الأداء).&lt;/p&gt;
&lt;h3 id="هل-أستخدم-نسخة-desktop-أو-lite"&gt;هل أستخدم نسخة Desktop أو Lite؟
&lt;/h3&gt;&lt;p&gt;إذا هدفك سيرفر، استخدم &lt;code&gt;Lite&lt;/code&gt; لأنها أخف وأفضل للخدمات.&lt;/p&gt;
&lt;h3 id="هل-أقدر-أبدأ-مباشرة-بـ-docker-مشاريع"&gt;هل أقدر أبدأ مباشرة بـ Docker مشاريع؟
&lt;/h3&gt;&lt;p&gt;نعم، وبعدها تقدر تستخدم Dockge لتسهيل إدارة &lt;code&gt;docker-compose&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://blog.fahdlabs.com/post/dockge-docker-compose-manager/" &gt;شرح Dockge كامل&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="المصادر-الرسمية-للتحديثات"&gt;المصادر الرسمية (للتحديثات)
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Raspberry Pi Imager: &lt;a class="link" href="https://www.raspberrypi.com/software/" target="_blank" rel="noopener"
 &gt;https://www.raspberrypi.com/software/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Raspberry Pi Documentation (Remote Access / SSH): &lt;a class="link" href="https://www.raspberrypi.com/documentation/computers/remote-access.html" target="_blank" rel="noopener"
 &gt;https://www.raspberrypi.com/documentation/computers/remote-access.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Docker Engine on Debian: &lt;a class="link" href="https://docs.docker.com/engine/install/debian/" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/engine/install/debian/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Docker Linux Post-installation: &lt;a class="link" href="https://docs.docker.com/engine/install/linux-postinstall/" target="_blank" rel="noopener"
 &gt;https://docs.docker.com/engine/install/linux-postinstall/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="الخلاصة"&gt;الخلاصة
&lt;/h2&gt;&lt;p&gt;بهذه الخطوات صار عندك Raspberry Pi جاهز كسيرفر أساسي: دخول عن بعد + نظام محدث + Docker يعمل. هذا الأساس الذي تبني عليه باقي السلسلة.&lt;/p&gt;</description></item></channel></rss>