الأدلة
الاستضافة الذاتية باستخدام Docker
شغّل إصدار المجتمع على بنيتك التحتية الخاصة.
إصدار المجتمع (AGPL-3.0) هو منصة محادثة كاملة يمكنك تشغيلها في أي مكان يعمل فيه Docker. توجد الإضافات المؤسسية في مستودع خاص منفصل محمي بمفتاح ترخيص.
المتطلبات المسبقة
- Docker 24+ و docker compose v2
- 2 vCPU و4 GB من الذاكرة كحد أدنى (يُوصى بـ 8 GB)
- نطاق يشير إلى خادمك (من أجل TLS)
التثبيت
git clone https://github.com/singlink/singlink
cd singlink
cp .env.example .env
# edit .env: AUTH_SECRET, DATABASE_URL, REDIS_URL, S3_*
docker compose up -dبشكل افتراضي، يؤدي هذا إلى تشغيل Postgres (مع pgvector) و Redis و MinIO و web و ws و worker. شغّل docker compose ps للتحقق من أن جميع الحاويات الخمس في حالة سليمة.
الإعداد الأولي
docker compose exec web pnpm db:migrate deploy
docker compose exec web pnpm db:seed # optional demo tenantالوكيل العكسي
ضع nginx (أو Caddy) في المقدمة. يحتاج كل من /api/* و /v1/ws إلى الوصول إلى نفس الأصل لمشاركة ملفات تعريف الارتباط. تتطلب نقطة نهاية WS رؤوس upgrade:
location /v1/ws {
proxy_pass http://ws:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
}النسخ الاحتياطية
- Postgres —
pg_dumpيوميًا؛ يشمل هذا كل شيء باستثناء مرفقات S3 - S3 / MinIO — استخدم إصدار الحاوية (bucket versioning) أو
rclone syncإلى منطقة أخرى - Redis — مؤقت (طوابير)، لا حاجة للنسخ الاحتياطي؛ تُعاد المهام عند إعادة التشغيل
الترقيات
git fetch && git checkout v0.x.y
docker compose pull
docker compose up -d
docker compose exec web pnpm db:migrate deployعمليات الترحيل متوافقة مع الأمام؛ لن نُعطّل مثيلًا قيد التشغيل بتغيير غير متوافق في schema دون رفع إصدار رئيسي.