دليل النشر

كيفية استضافة TREK على خادم VPS

انشر على VPS Cloud ←

دليل عملي

كيفية استضافة TREK على خادم VPS

الاستضافة الذاتية4 دقائق للقراءةعدد الخطوات: 4

TREK منصة إدارة مشاريع مفتوحة المصدر (AGPL-3.0) تمنحك التحكم الكامل في بياناتك. لوحات Kanban، تتبّع التذاكر، المعالم، دعوات الفريق — كل ذلك في حاوية Docker واحدة مع قاعدة بيانات SQLite مُدمجة، دون الحاجة لـ PostgreSQL أو خدمة سحابية. إنها البديل المستضاف ذاتياً لـ Linear أو Plane الذي تنشره في خمس دقائق على خادم VPS بسعة 1 جيجابايت من الذاكرة.

المحتويات· لماذا استضافة مدير المشاريع بنفسك1/6
  1. 01لماذا استضافة مدير المشاريع بنفسك
  2. 02ما الذي تحصل عليه مع TREK المستضاف ذاتيًا
  3. 03المتطلبات الأساسية
  4. 04تثبيت TREK
  5. 05تكوين نطاق وخادم nginx
  6. 06النسخ الاحتياطي والصيانة

لماذا استضافة مدير المشاريع بنفسك

Linear وAsana وMonday.com — أدوات إدارة المشاريع SaaS تفرض رسوماً على كل مستخدم وترفع الأسعار بانتظام. TREK يعكس النموذج: تستضيف التطبيق على خادمك الخاص، لا تغادر بياناتك بنيتك التحتية أبداً، والتكلفة الشهرية هي تكلفة الخادم لا الاشتراكات.

مع أكثر من 14 ألف نجمة GitHub ورخصة AGPL-3.0، TREK مشروع مجتمعي نشط. الإصدار 4.3.3 مستقر وأصيل في Docker، ولا يحتاج قاعدة بيانات خارجية: SQLite مُدمج في الصورة.

ما الذي تحصل عليه مع TREK المستضاف ذاتيًا

  • لوحات Kanban غير محدودة — أنشئ ما تشاء من المشاريع والأعمدة دون قيود على عدد المستخدمين.
  • المعالم والسبرينت — خطط بدورات منتظمة وتابع التقدم في لوحة التحكم.
  • إدارة الفريق — ادعُ أعضاء وحدد أدواراً (مدير، عضو، مراقب) لكل مشروع.
  • واجهة REST API — ادمج خطوط CI/CD لإنشاء التذاكر أو تحديث الحالات تلقائياً.
  • OIDC / SSO — وصّل Authentik أو Pocket ID أو Keycloak لتسجيل دخول مركزي.
  • مرفقات الملفات — ارفع الملفات ولقطات الشاشة مباشرة على التذاكر.
  • SQLite مدمج — لا قاعدة بيانات خارجية، والنسخ الاحتياطي بأمر واحد.

المتطلبات الأساسية

تحتاج إلى خادم VPS Ubuntu 24.04 بـ 1 جيجابايت من الذاكرة على الأقل و1 جيجابايت مساحة تخزين. Docker والإضافة Compose يجب أن يكونا مثبَّتين:

curl -fsSL https://get.docker.com | sh

لا يلزم اسم نطاق للتثبيت الأولي — يمكن الوصول إلى TREK عبر نفق SSH.

تثبيت TREK

  1. إنشاء الدليل وملف Compose

    على الخادم، أنشئ دليلاً مخصصاً:

    mkdir -p /opt/trek && cd /opt/trek

    أنشئ /opt/trek/docker-compose.yml:

    services:
      trek:
        image: mauriceboe/trek:4.3.3
        restart: unless-stopped
        ports:
          - "127.0.0.1:3000:3000"
        environment:
          NODE_ENV: production
          ENCRYPTION_KEY: "استبدل-بسلسلة-عشوائية-32-حرفا"
          ADMIN_EMAIL: [email protected]
          ADMIN_PASSWORD: "كلمةمرورقوية42!"
          TRUST_PROXY: "1"
        volumes:
          - trek-data:/app/data
          - trek-uploads:/app/uploads
    
    volumes:
      trek-data: {}
      trek-uploads: {}

    ⚠️ في بيئة الإنتاج، استبدل ENCRYPTION_KEY بسلسلة عشوائية لا تقل عن 32 حرفاً واختر كلمة مرور قوية للمسؤول.

  2. تشغيل TREK

    شغّل الحاوية:

    docker compose up -d

    يُنزّل TREK الصورة (نحو 462 ميغابايت)، ويهيّئ قاعدة SQLite ثم يشغّل Node.js. تُنفَّذ هجرات Drizzle ORM عند أول تشغيل. انتظر من 30 إلى 45 ثانية قبل الوصول إلى الواجهة.

    تحقق من بدء التشغيل:

    docker compose logs -f trek

    ابحث عن السطر Server listening on port 3000، فهو الإشارة إلى أن TREK أصبح جاهزاً.

  3. الوصول إلى الواجهة

    افتح نفقاً SSH من جهازك المحلي:

    ssh -L 3000:127.0.0.1:3000 root@<ip-vps>

    ثم افتح http://localhost:3000 في متصفحك. تظهر صفحة تسجيل الدخول إلى TREK. سجّل الدخول بـ [email protected] وكلمة المرور التي حددتها في ADMIN_PASSWORD.

  4. إنشاء مشروعك الأول

    بعد تسجيل الدخول:
    1. انقر على مساحة عمل جديدة ← وامنحها اسماً.
    2. انقر على مشروع جديد ← واختر قالب Kanban.
    3. أضف أول تذكرة في عمود قيد الانتظار.

    أصبحت جاهزاً للعمل. ادعُ زملاءك من الإعدادات ← الأعضاء.

تكوين نطاق وخادم nginx

للوصول إلى TREK من أي جهاز دون نفق SSH، أضف نطاقاً وهيّئ nginx كوكيل عكسي. مثال على كتلة خادم nginx لـ HTTPS:

server {
    listen 443 ssl;
    server_name trek.your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

أضف بعد ذلك APP_URL: https://trek.your-domain.com إلى متغيرات بيئة خدمة TREK ليتم استخدام الرابط الصحيح في روابط الدعوة وإشعارات OIDC.

النسخ الاحتياطي والصيانة

يخزّن TREK بياناته في حجمَين Docker: trek-data (قاعدة SQLite) وtrek-uploads (المرفقات). احفظ نسخة احتياطية من كليهما:

# Database
docker run --rm -v trek_trek-data:/data -v /backup:/backup alpine \
  tar czf /backup/trek-data-$(date +%Y%m%d).tar.gz -C /data .

# Uploads
docker run --rm -v trek_trek-uploads:/data -v /backup:/backup alpine \
  tar czf /backup/trek-uploads-$(date +%Y%m%d).tar.gz -C /data .

لتحديث TREK إلى إصدار جديد، عدّل وسم الصورة في docker-compose.yml ثم شغّل:

docker compose pull && docker compose up -d

تُطبَّق هجرات SQLite تلقائياً عند بدء التشغيل.

انشر مدير مشاريعك على خادم VPS

يكفي خادم ServOrbit VPS بنظام Ubuntu 24.04 و1 جيجابايت من الذاكرة لتشغيل TREK في بيئة الإنتاج.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة