ابدأ الآن

شغّل Antimatter على خادمك الخاص

ملف واحد، وثلاثة أوامر، ونحو عشر دقائق: Antimatter مع قاعدة بياناته ومساحة تخزين ملفاته وخدمة GIF الخاصة به، على أي خادم Linux مثبّت عليه Docker.

جاهز للعمل في عشر دقائق

تحتاج إلى خادم Linux مثبّت عليه Docker مع إضافة Compose، وإلى معالج بنواتين و4 GB من الذاكرة على الأقل.

1. نزّل ملف compose

$ mkdir antimatter && cd antimatter
$ curl -fsSLO https://antimatter.chat/compose.yaml

2. أنشئ ملف الإعدادات، مع كلمات مرور عشوائية

$ cat > .env <<EOF
SITE_URL=http://localhost:8065
POSTGRES_PASSWORD=$(openssl rand -hex 24)
S3_SECRET_KEY=$(openssl rand -hex 24)
GIFS_API_KEY=$(openssl rand -hex 24)
EOF

اضبط SITE_URL على العنوان الذي سيستخدمه الناس، مثل http://192.168.1.20:8065 على شبكة محلية.

3. شغّله

$ docker compose up -d

يستغرق التشغيل الأول دقيقة أو دقيقتين ريثما تُنشأ قاعدة البيانات. بعد ذلك افتح SITE_URL في متصفحك وأنشئ حسابك: يصبح الحساب الأول حساب مدير النظام، ويرشدك الإعداد إلى إنشاء مجتمعك الأول.

مع نطاقك الخاص وHTTPS

وجّه سجل DNS لنطاقك إلى الخادم، وافتح المنفذين 80 و443، ثم أضف النطاق إلى .env:

$ cat >> .env <<EOF
DOMAIN=chat.example.com
EOF
$ sed -i 's|^SITE_URL=.*|SITE_URL=https://chat.example.com|' .env
$ docker compose --profile https up -d

يحصل Caddy على شهادة من Let's Encrypt ويجدّدها تلقائيًا.

ما الذي يعمل

  • antimatter: الخادم مع تطبيقاته (الملاحظات والسبورات البيضاء والقنوات الصوتية والمكالمات والاستطلاعات وغيرها). لا يحفظ شيئًا على القرص: إعداداته في قاعدة البيانات وملفاته في خدمة التخزين، لذا يمكن استبدال الحاوية في أي وقت.
  • postgres: قاعدة البيانات.
  • files: RustFS، تخزين متوافق مع S3 للملفات المرفوعة.
  • gifs: خدمة صور GIF والملصقات في Antimatter، مع حزمة ملصقات أولية.
  • https: Caddy، مع ملف التعريف https فقط.

تقع قاعدة البيانات وخدمة التخزين وخدمة GIF على شبكة خاصة لا يصل إليها سوى Antimatter.

إذا بقي منتقي صور GIF فارغًا، فافتح وحدة التحكم بالنظام › الإضافات › GIFs واضبط عنوان URL للخدمة على http://gifs:8080/v2 ومفتاح API على قيمة GIFS_API_KEY في ملف .env لديك.

الترقيات والنسخ الاحتياطي

# الترقية إلى أحدث الصور
$ docker compose pull && docker compose up -d
# نسخ احتياطي لقاعدة البيانات
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql

انسخ وحدة التخزين files احتياطيًا أيضًا، أو كرّر محتوى التخزين بأي أداة S3. ولإعداد يعتمد على nginx وشهاداتك الخاصة، راجع ملفات بيئة الإنتاج في antimatter-docker.

باستخدام أرشيف إصدار

  1. جهّز قاعدة بيانات PostgreSQL ومستخدمًا لها.
  2. فكّ ضغط الأرشيف (antimatter-<os>-<arch>.tar.gz)، في /opt/antimatter مثلًا، ووجّه SqlSettings.DataSource في config/config.json (أو متغير البيئة AM_SQLSETTINGS_DATASOURCE) إلى قاعدة البيانات.
  3. شغّل الخادم بالأمر bin/antimatter باستخدام مستخدم غير ذي صلاحيات مرتفعة، ثم افتح http://localhost:8065. يصبح أول حساب يُنشأ حساب مدير النظام.

تتيح الأداة bin/amctl إدارة خادم قيد التشغيل من سطر الأوامر (bin/amctl --local على الخادم نفسه، مع تفعيل ServiceSettings.EnableLocalMode).

الخطوات التالية

  • المكالمات: افتح منفذ المكالمات (UDP وTCP على المنفذ 8443 افتراضيًا) ليصل الصوت والفيديو إلى الخادم.
  • البريد الإلكتروني: اضبط SMTP لإرسال الدعوات والإشعارات.
  • الذكاء الاصطناعي: أضف نموذجًا في إعدادات Agents؛ تعمل أي واجهة API متوافقة مع OpenAI، بما في ذلك خادم تشغّله بنفسك.
  • الكلام والترجمة: اربط نسخ المكالمات نصيًا والقراءة بصوت عالٍ والترجمة التلقائية بنماذج تحويل الكلام إلى نص وتحويل النص إلى كلام والترجمة التي تشغّلها بنفسك.