يقوم هذا البرنامج النصي بتكوين وكيل Traefik عكسي مع Letsencrypt Certs لـ WebApps العامة الخاصة بك. في المثال الخاص بي ، قمت بإعداد dokuwiki (نص عادي ممتاز مع تطبيق Wiki Markdown.) أثناء القيام بذلك ، شعرت أنه لا يوجد دليل بسيط حقًا لتحقيق هذه النتيجة ، وقد يكون مربكًا بعض الشيء بالنسبة للأشخاص الآخرين ، لذلك أنت هنا.
ملاحظة: هذا يعمل حاليًا مع Traefik V1. دعم V2 ليأتي قريبًا.
لقد اشتريت نطاقي من خلال NameCheap. أيا كان مسجل المجال الذي تمر به ، ستحتاج إلى إعداد سجلات DNS بشكل صحيح من خلالها. أوصي NameCheap بسبب بساطة الأمر ، لكنهم كل شيء على وشك الشيء نفسه. طالما أن المزود يسمح بسجلات DNS Wildcard ، يجب أن تكون جيدًا للذهاب. في علامة التبويب "DNS المتقدمة" في NameCheap ، أضفت هذا فقط ، قم بتغيير قيمة IP-Address إلى عنوان IP العام للخادم الخاص بك:
| يكتب | يستضيف | قيمة | TTL |
|---|---|---|---|
| سجل | * | IP-Address | تلقائي |
استنساخ repo: git clone https://github.com/Starttoaster/docker-traefik.git
دليل التغيير: cd docker-traefik
قم بتشغيل البرنامج النصي: ./docker-traefik.sh
دليل التغيير: cd /opt/traefik
بمجرد الإجابة على سؤالين ، يجب أن يكتمل البرنامج النصي. إذا كنت تعمل على VPS (الخادم السحابي) ، فيجب أن تكون جاهزًا لتشغيل docker-compose up -d وإحضار تطبيقاتك. إذا كنت تستضيف ذاتيًا من المنزل ، فانتقل إلى الأقسام التالية للشبكات المنزلية. إذا كنت ترغب في إضافة المزيد أو تطبيقات أخرى إلى ملف Docker-Compose ، فأنت ببساطة بحاجة إلى إضافة قسم التسميات إلى كل خدمة وتغيير نطاق الفرع إلى ما تريد أن يكون عنوان URL الخاص به.
إذا قمت بهذا الدليل على خادم باستخدام عنوان IP خاص (خلف نوع من جهاز التوجيه) ، فتأكد أيضًا من فتح صفحة تكوين جهاز التوجيه الخاص بك وإعادة توجيه المنافذ 80 و 443 إلى عنوان IP الخاص للخادم الخاص بك. لا يمكنني تعليمات حول كيفية القيام بذلك لأن كل جهاز توجيه لديه صفحات تكوين مختلفة ، ولكن فقط ابحث عن Google عن جهاز التوجيه الخاص بك + "إعادة توجيه المنفذ". أثناء تواجدك هنا ، تأكد أيضًا من أن الخادم الخاص بك لديه عنوان IP خاص مخصص بشكل ثابت. سيوفر هذا قدرًا كبيرًا من الصداع إذا تم إعادة تشغيل الخادم الخاص بك وتعيين عنوان IP جديد من مجموعة DHCP الخاصة بك.
إعداد DNS الديناميكي اختياري تماما. لا يقوم مقدمو خدمات الإنترنت عادة بتعيين عناوين IP عامة ثابتة لمستخدمي المنازل السكنية. قد تجد يومًا ما أنه تمت إعادة تعيين مودم/جهاز التوجيه الكابل لسبب ما. بعد أن عاد مودم/جهاز التوجيه عبر الإنترنت ، من المحتمل أن يتم تعيين عنوان IP عام جديد من قبل DHCP الخاص بمزود خدمة الإنترنت. في هذه الحالة ، لديك خياران:
ابحث يدويًا عن عنوان IP العام الجديد الخاص بك ، (انتقل إلى: https://diagnostic.opendns.com/myip) ، وقم بتغيير أقسام IP-Address لتتناسب مع عنوان IP الجديد على DNS الخاص بك سجلات مع كل من هو مزود DNS الخاص بك. منجم كونه DNS الأساسي في NameCheap.
إعداد DNS ديناميكية (DDNs). تقوم DDNS بتشغيل الحد الأدنى من تطبيق ويب من داخل خادم منزلك يرسل بشكل دوري تحديثًا لما عنوان IP الذي تستخدمه حاليًا إلى مزود DNS الخاص بك. إنه مصادقة على مزود DNS عبر مفتاح المرور (S) الذي تم تعيينه بواسطة مزود DNS ، وإذا قام عنوان IP الخاص بك بتغيير موفر DNS ، فسيقوم موفر DNS بتحديث سجلاتهم تلقائيًا. أوصي باتباع تعليمات الإعداد هنا: https://github.com/qdm12/ddns updater
تدعم الحاوية NameCheap و Cloudflare و Godaddy و Duckdns و Dreamhost. تأكد من أن لديك جميع المعلمات اللازمة عندما يسأل البرنامج النصي عنهم باتباع التعليمات مع مالك الحاوية. إذا قمت بإعداد CloudFlare ، يرجى الاطلاع على مكالمات CloudFlare API هنا.
هذا اختياري تماما. تقدم لوحة معلومات Traefik بعض المعلومات حول التطبيقات وراء وكيل الويب الخاص بك. لقد أضفت شرطية تتيح لك أتمتة تكوين لوحة معلومات الويب. ستحتاج إلى "htpasswd" الذي قمت بتضمين قسم أدناه حول كيفية الحصول على قسم. htpasswd هو مجرد اسم مستخدم مع كلمة مرور. انظر "لإنشاء htpasswd" أدناه. عند تكوين لوحة معلومات Traefik ، ستحتاج فقط إلى إدخال اسم المستخدم وكلمة المرور في مربع الحوار الذي يظهر على https://dash.YOUR-DOMAIN.TLD
هذا اختياري تماما. إذا كنت ترغب في الحصول على طبقة حماية إضافية من الحماية ، فيمكنك تكوين htpasswd في ملف trafik.toml. htpasswd هو مجرد اسم مستخدم مع كلمة مرور. لقد أضفت مشروطًا في البرنامج النصي الذي سيقوم بتكوين هذا لك. كل ما تحتاجه هو "htpasswd" للدخول عندما يسأل البرنامج النصي. عندما ترغب في زيارة أحد WebApps ، ستحتاج إلى إدخال اسم المستخدم وكلمة المرور التي اخترتها في مربع الحوار الذي يظهر.
htpasswd -nb user passwordالتأكد من استبدال المستخدم باسم المستخدم المطلوب وكلمة المرور بكلمة المرور المطلوبة ؛ أو
http://www.htaccesstools.com/htpasswd-generator/ما عليك سوى إدخال اسم المستخدم وكلمة المرور المطلوبة ، ثم نسخ هذه السلسلة وأدخلها في البرنامج النصي عند طلبها.
ل github user QDM12 لصالح صورة DNS الديناميكية الخفيفة. QDM12/DDNS-Updater
ل github user szepeviktor لمساهماتهم في هذا البرنامج النصي.
إلى Miroslav Prasil للحصول على أفضل صورة Dokuwiki Docker على Docker Hub.