Opengist هو خادم Gist خفيف الوزن يتم استضافته ذاتيًا على Github لنظام Linux. وعلى عكس الحلول الأخرى، فإنه يستفيد من ميزات Git المحددة لتحميل ملفات النصوص واستعراضها ومراجعتها بسرعة. هنا، نعرض لك كيفية تثبيت واستضافة خادم Opengist الخاص بك على Ubuntu Linux.
لماذا تستضيف خادم Gist الخاص بك مع Opengist
واحدة من أكبر نقاط البيع لـ الخميرة المفتوحة إنها خدمة شبيهة بـ Pastebin تستخدم Git في الواجهة الخلفية. وهذا يجعل من السهل اختيار Opengist واستضافته على Linux لأي شخص على دراية بالخدمات الشبيهة بـ Git مع دعم Gist مثل Github وGitlab.
تتمثل إحدى نقاط القوة في Opengist في قدرته على تتبع عمليات اللصق الخاصة بالمستخدم وتوفير عناصر تحكم لإدارة إمكانية رؤية اللصق. ونتيجة لذلك، يمكن أن يكون Opengist بمثابة مركز مُستضاف ذاتيًا لمشاركة النص بين مجموعتك الصغيرة من الأقران.
أخيرًا، لا يتطلب Opengist تكاليف إضافية لتشغيله. يعتمد تكوينه الافتراضي فقط على حاوية Docker واحدة ومخزن بيانات، يمكنك تعيينهما إما كمجلد داخلي أو كربط بنظام الملفات الخاص بك. وهذا يعني أنه يمكنك تشغيل Opengist حتى على الأنظمة منخفضة الأداء دون الكثير من الموارد الاحتياطية.
جيد ان تعلم: تعرف على أساسيات إدارة الكود المصدر من خلال قراءة دليل Git الشامل للمبتدئين.
إعداد النظام لـ Opengist
افتراض: تم تنفيذ هذا البرنامج التعليمي على خادم VPS يعمل بنظام Ubuntu 24.04 مع ذاكرة وصول عشوائي (RAM) بسعة 2 غيغابايت على الأقل ومساحة قرص تبلغ 25 غيغابايت. كما يفترض البرنامج أنك تمتلك حاليًا اسم نطاق وأنك تستطيع إضافة سجل DNS “A” إليه.
ملحوظة: يركز هذا القسم على تثبيت Docker على الأنظمة المستندة إلى Ubuntu. لتثبيته على توزيع مختلف، راجع دليلنا العام لتثبيت Docker على Linux.
الخطوة الأولى في نشر Opengist على جهازك هي الحصول على Docker وNginx وCertbot وتثبيتهما. للقيام بذلك، قم أولاً بجلب مفتاح التوقيع لمشروع Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
قم بإنشاء ملف مستودع جديد تحت “/etc/apt/sources.list.d/”:
sudo nano /etc/apt/sources.list.d/docker.list
قم بلصق سطر التعليمات البرمجية التالي داخل ملف المستودع الجديد الخاص بك:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable
احفظ ملف المستودع الخاص بك، ثم قم بتحديث وترقية جميع الحزم الموجودة في نظامك:
sudo apt update && sudo apt upgrade
احصل على ملف Docker الثنائي مع مكون Compose الخاص به والتبعيات:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
تأكد من أن حزمة snap “core” موجودة في نظامك:
قم بتثبيت حزمة Certbot snap من Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
تثبيت وتشغيل Opengist
قم بإنشاء مجلد جديد لـ Opengist في دليل المستخدم الحالي، ثم انتقل إلى داخله:
mkdir -p ~/opengist/data && cd ~/opengist
استخدم محرر النصوص المفضل لديك لإنشاء ملف “docker-compose.yml” جديد داخل مجلد Opengist الخاص بك:
nano ./docker-compose.yml
قم بلصق كتلة التعليمات البرمجية التالية داخل ملف التأليف الجديد الخاص بك:
services: opengist: image: ghcr.io/thomiceli/opengist:1.7 container_name: opengist restart: unless-stopped ports: - "6157:6157" - "2222:2222" volumes: - ./data:/opengist"
احفظ ملف “docker-compose.yml”، ثم قم بتشغيل الأمر التالي لبناء Opengist وتثبيته على نظامك:
تأكد من تشغيل Opengist عن طريق إدراج جميع حاويات Docker النشطة في جهازك:
في ملحوظة جانبية: تعرف على كيفية نقل حاويات Docker الخاصة بك إلى مضيف جديد.
إنشاء وكيل عكسي SSL لـ Opengist
في هذه المرحلة، لديك الآن نسخة Opengist تعمل جزئيًا على المنفذ 6157. لاستخدامها بأمان عبر الإنترنت، تحتاج إلى تمريرها عبر وكيل عكسي SSL باستخدام Nginx.
للقيام بذلك، قم بإنشاء سجل DNS “A” جديد على اسم المجال الخاص بك يشير إلى عنوان IPv4 لجهاز Opengist الخاص بك.
ارجع إلى محطة الخادم لديك، ثم قم بإنشاء ملف تكوين موقع جديد لـ Opengist:
sudo nano /etc/nginx/sites-available/opengist
قم بلصق كتلة التعليمات البرمجية التالية داخل ملف التكوين الجديد الخاص بك:
server { server_name SUBDOMAIN.YOUR-ROOT.DOMAIN; location / { proxy_pass http://127.0.0.1:6157; proxy_http_version 1.1; proxy_redirect off; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; } }
احفظ ملف تكوين موقعك، ثم قم بإنشاء رابط رمزي من “/etc/nginx/sites-available/” إلى “/etc/nginx/sites-enabled/”:
sudo ln -s /etc/nginx/sites-available/opengist /etc/nginx/sites-enabled/
تأكد من أن تكوين Nginx الخاص بك يعمل بشكل صحيح، ثم ابدأ تشغيل خادم الويب باستخدام systemctl:
nginx -t sudo systemctl enable --now nginx.service
قم بتسجيل نظام Opengist الخاص بك باستخدام عنوان بريدك الإلكتروني لدى EFF:
sudo certbot register --agree-tos -m YOUR@EMAIL.ADDRESS
قم بإنشاء شهادة SSL جديدة لاسم المجال الخاص بك باستخدام Certbot:
sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN
تأكد من إمكانية الوصول إلى موقع الويب الخاص بك عبر الإنترنت عن طريق فتح متصفح الويب والانتقال إلى اسم المجال الخاص بك.
نصيحة: تعرف على كيفية عمل التشفير على الإنترنت عن طريق إنشاء شهادات SSL الخاصة بك باستخدام OpenSSL.
إنشاء Gist الأول الخاص بك باستخدام Opengist
افتراضيًا، لا يوفر Opengist حساب مسؤول لنسختك الشخصية. لإنشاء حساب، تحتاج إلى تسجيله أولاً من خلال واجهة الويب الخاصة بنسختك.
ابدأ بالانتقال إلى المجال الفرعي لـ Opengist الخاص بك، ثم انقر فوق يسجل في الزاوية اليمنى العليا من الصفحة.
قم بتوفير اسم مستخدم وكلمة مرور لحساب المسؤول الخاص بك، ثم انقر فوق يسجل لإنشائه.
سيؤدي القيام بذلك إلى تسجيل دخولك تلقائيًا إلى واجهة Opengist ومنحك مطالبة بصفحة gist الأولى الخاصة بك. إما أن تكتب أو تلصق مقتطفًا من النص داخل مربع الإدخال، ثم انقر فوق إنشاء Gist عام لتوليد فكرتك الأولى.
ملحوظة: يمكنك ضبط إعدادات الخصوصية لمدونتك من خلال النقر على السهم للأسفل بجانب إنشاء Gist عام زر.
بإمكانك الآن مشاركة ملف gist الجديد الخاص بك مع أي شخص عن طريق نسخ الرابط الخاص به من شريط عنوان المتصفح الخاص بك وإرساله إلى المستلم.
إنشاء وتحديث Gist باستخدام SSH
بصرف النظر عن واجهة الويب، يدعم Opengist أيضًا إرسال gist وتحريره مباشرةً من عميل Git CLI. وهذا مفيد إذا كنت تعمل على جلسة طرفية فقط وليس لديك إمكانية الوصول إلى واجهة رسومية.
قم بإنشاء مجلد جديد لصفحة gist الخاصة بك في دليل المستخدم الرئيسي الخاص بك:
mkdir ~/my-gist && cd ~/my-gist
إما أن تقوم بنسخ أو إنشاء ملف نصي جديد يحتوي على بيانات gist الخاصة بك، ثم قم بتهيئة مستودع Git جديد داخل المجلد الجديد:
cp ~/my-text-file.txt ~/my-gist/ git init
أضف ملفات المجلد الخاص بك إلى مستودع Git الجديد، ثم قم بإنشاء التزامه الأول:
git add . git commit -m "My first Opengist commit."
قم بتعيين نقطة النهاية البعيدة لمستودع Git المحلي الخاص بك إلى خادم Opengist الخاص بك:
git remote add origin https://SUBDOMAIN.YOUR-ROOT.DOMAIN/init
أرسل مستودعك الجديد إلى خادم Opengist الخاص بك:
git push -u origin master
قم بتقديم بيانات اعتماد Opengist الخاصة بك، ثم اضغط على يدخل لتأكيد أمر الدفع.
انسخ أمر Git الذي يعيده Opengist في جلسة المحطة الطرفية الخاصة بك، ثم قم بتشغيله لتعيين المصدر البعيد الجديد لمستودعك.
تأكد من أنك قمت بحفظ ملخصك بشكل صحيح من خلال النظر إلى واجهة الويب الخاصة بخادمك.
إن استضافة خادم Opengist الخاص بك على Linux وإنشاء صفحات gist شبيهة بـ Github هي مجرد بعض الأشياء التي يمكنك القيام بها باستخدام برامج الاستضافة الذاتية. اكتشف المزيد حول الاستضافة الذاتية من خلال إلقاء نظرة على بعض أفضل البدائل المستضافة ذاتيًا لـ Github اليوم.