خصم 50% جميع الخطط، لفترة محدودة. تبدأ من $2.48/mo
يأجوج

يأجوج

Gogs هي خدمة Git مستضافة ذاتيًا وغير مؤلمة. أخف من Gitea وGitLab، المكتوب باللغة Go، ويعمل بشكل مريح على خادم VPS بسعة 512 ميجابايت أو حتى Raspberry Pi. لا يزال خادم Git الأصلي المستند إلى Go، وهو سلف Gitea، يتم صيانته بشكل نشط للمستخدمين الذين يفضلون مساحة سطح أصغر.

إصدار

0.14.2

نظام التشغيل

Ubuntu Server 24.04 LTS

دقيقة. كبش

1 GB

أنواع IP

IPV4، IPV6

وصول

  • افتح متصفحك وزُر: https://<SERVER_IP>
  • تحذير SSL من المتصفح متوقع (شهادة موقعة ذاتيًا)
  • تسجيل حساب جديد
  • أول حساب مسجل يصبح المسؤول

تعطيل التسجيل الذاتي (اختياري)

بشكل افتراضي، يتم تمكين التسجيل الذاتي للمستخدم.

1. قم بتحرير ملف التكوين: /etc/gogs/conf/app.ini

2. تحت [auth] القسم، التغيير: DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

3. إعادة تشغيل Gogs:

systemctl restart gogs

الملفات والمجلدات المهمة

  • مجلد التثبيت: /opt/gogs
  • ملف التكوين: /etc/gogs/conf/app.ini
  • بيانات التطبيق: /var/lib/gogs
  • المستودعات: /var/lib/gogs/repositories
  • السجلات: /var/log/gogs
  • خدمة النظام: /etc/systemd/system/gogs.service
  • إعدادات Nginx: /etc/nginx/sites-available/gogs.conf
  • شهادات TLS: /etc/nginx/ssl/

استخدام جيت

HTTPS (شهادة موقعة ذاتيًا):

GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git

SSH (خادم مدمج):

git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git

إدارة الخدمة

جوج:

systemctl status gogs
systemctl restart gogs

نجينكس:

systemctl status nginx
systemctl restart nginx

بوستجري إس كيو إل:

systemctl status postgresql
systemctl restart postgresql

ملحوظات

  • يقع ملف التكوين الرئيسي في /etc/gogs/conf/app.ini. بعد تعديل ملف التكوين، قم بإعادة تشغيل الخدمة باستخدام systemctl restart gogs.
  • تم تحديد حد تحميل Nginx في /etc/nginx/sites-available/gogs.conf استخدام client_max_body_size. قم بزيادة هذه القيمة للمستودعات الكبيرة وأعد تشغيل Nginx.
  • بالنسبة لعمليات النشر الكبيرة، يمكنك إلغاء التعليق LimitMEMLOCK=infinity و LimitNOFILE=65535 in /etc/systemd/system/gogs.service، ثم تشغيل systemctl daemon-reload وأعد تشغيل Gogs.
  • يتم تعريف بيانات اعتماد قاعدة البيانات في /etc/gogs/conf/app.ini.
  • بالنسبة للاستخدام الإنتاجي، يوصى باستبدال الشهادة الموقعة ذاتيًا بشهادة Let's Encrypt صالحة.
  • في حالة استخدام شهادة موقعة ذاتيًا، يتطلب استنساخ HTTPS GIT_SSL_NO_VERIFY=true.

تفعيل SSL مع نطاق

1. وجِّه نطاقك إلى IP الخادم.

2. تحديث تكوين Gogs (/etc/gogs/conf/app.ini):

EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com

3. أعد تشغيل خدمة Gogs لتطبيق التغييرات:

systemctl restart gogs

3. قم بتحرير تكوين Nginx واستبدال كليهما server_name <IP>; بنطاقك (<your-domain>) لكلا كتلتي HTTP (المنفذ 80) وHTTPS (المنفذ 443):

vim /etc/nginx/sites-available/gogs.conf

4. تثبيت سيرتبوت:

apt install -y certbot python3-certbot-nginx

5. قم بتشغيل الأمر التالي لإنشاء شهادة Let's Encrypt صالحة:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

6. استبدل مسارات SSL في تكوين Nginx:

vim /etc/nginx/sites-available/gogs.conf
# Before:
    # ssl_certificate /etc/nginx/ssl/gogs.crt;
    # ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

7. أعد تشغيل Nginx لتطبيق التغييرات:

systemctl restart nginx

8. افتح متصفحك وقم بزيارة: https://yourdomain.com

المزيد في أدوات DevOps

تطبيقات ذات صلة.

قم بنشر Gogs الآن. تبدأ من 2.48 $/شهر.