اجرای سرور
این راهنما برای مدیران سیستمی است که سرور Antimatter را نصب و اجرا میکنند. فرض بر این است که با Linux، Docker و reverse proxy آشنا هستید، اما با Antimatter نه.
اجزای یک استقرار
Antimatter یک چت تیمی self-hosted و یک fork از Mattermost است. یک استقرار کامل از این اجزا تشکیل شده است. فقط سه مورد اول الزامی هستند.
| اجزا | عملکرد | الزامی |
|---|---|---|
| سرور Antimatter | یک برنامه Go (antimatter) که وباپ، API و websockets را روی پورت 8065 ارائه میدهد، اپهای همراه (plugins) را اجرا میکند و رسانه مکالمات را روی پورت 8443 منتقل میسازد. ابزار خط فرمان amctl آن را مدیریت میکند. | بله |
| PostgreSQL | پایگاه داده: پیامها، کاربران، جوامع و در تنظیمات پیشنهادی، پیکربندی سرور. نسخه 15 یا جدیدتر. | بله |
| ذخیره سازی فایل | فایلها، تصاویر و اپهای نصبشده که بارگذاری شدهاند: یک سرویس سازگار با S3 (فایل compose از RustFS استفاده میکند) یا یک دایرکتوری محلی. | بله |
| یک reverse proxy | HTTPS در جلوی سرور: پروفایل Caddy در فایل compose یا nginx اختصاصی شما. | برای تولید |
سرویس GIF (gifs-server) | GIF و استیکر برای انتخابگر GIF، از کاتالوگ اختصاصی شما. این سرویس با API Tenor ارتباط برقرار میکند. | خیر |
| یک push proxy | اعلانها را از طریق Apple و Google به اپ موبایل ارسال میکند. | برای اعلانهای موبایل |
| rtcd, یک سرور TURN | یک سرور رسانه جداگانه برای مکالمات متعدد و یک relay برای افرادی که پشت فایروالهای سختگیرانه قرار دارند. | خیر |
| پایانههای AI | مدلهای پشت بازنویسیهای ویرایشگر، خلاصهسازی، ترجمه، خواندن با صدای بلند، عوامل هوش مصنوعی و متننویسی مکالمه، که به عنوان اتصالات مدل اضافه شدهاند: یک ارائهدهنده ابری یا سرورهایی که خودتان اجرا میکنید. | خیر |
Antimatter لایسنس یا ویرایشه پولی ندارد: single sign-on، LDAP، high availability، خروجیهای compliance، نگهداری داده و سایر ویژگیهایی که Mattermost برای پلنهای پولی خود نگه داشته است، همه در این نسخه گنجانده شدهاند.
پیشنیازها
- یک سرور Linux،
amd64یاarm64، با 2 هسته CPU و 4 گیگابایت حافظه یا بیشتر برای چند صد نفر، و فضای دیسک برای فایلهایی که افراد بارگذاری میکنند. - موتور Docker با افزونه Compose (
docker compose) برای نصب توصیهشده. یا برای بستهها، یک سرور سازگار با Debian، Ubuntu، Fedora یا RHEL همراه با systemd. - برای تولید: یک نام دامنه که به سرور اشاره میکند و پورتهای 80 و 443 برای HTTPS باز باشند.
- برای مکالمات: پورت 8443، UDP و TCP، باید برای افرادی که مکالمه میکنند قابل دسترس باشد.
- برای ایمیل: یک سرور SMTP که Antimatter بتواند از طریق آن ارسال کند.
شروع سریع
mkdir antimatter && cd antimatter
curl -fsSLO https://antimatter.chat/compose.yaml
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)
AM_AI_ENCRYPTION_KEY=$(openssl rand -base64 32)
EOF
docker compose up -d
سپس آدرس وبسایت را باز کنید و حساب خود را بسازید: اولین حساب، مدیر سیستم میشود. نصب هر مرحله و سایر روشهای نصب را توضیح میدهد.
در این راهنما
- نصب: Docker Compose، ایمیجها، اولین مدیر، بستههای .deb و .rpm، و آرشیو نسخه.
- پیکربندی: تنظیمات در پایگاه داده یا فایل، متغیرهای محیطی
AM_، کنسول سیستم،amctl، لاگها. - دامنه و HTTPS: آدرس وبسایت، Caddy، nginx، آدرسهای کلاینت.
- مکالمات و صدا: پورتها، NAT، TURN، rtcd، متننویسی و زیرنویس.
- ایمیل و اعلانهای push: SMTP، پروکسی push و اپلیکیشن موبایل.
- اپلیکیشنهای همراه: کدام اپلیکیشنها فعال هستند، تنظیمات آنها، نصب اپلیکیشنهای دیگر.
- هوش مصنوعی: اتصالات مدل، ویژگیهای هوش مصنوعی داخلی، عوامل، گفتار و ترجمه، کلید رمزنگاری، و اینکه دادهها کجا ذخیره میشوند.
- ورود و حسابها: ثبتنام، رمزهای عبور، MFA، ورود یکپارچه، LDAP، مهمانها، نشستها.
- پشتیبانگیری و ارتقاء: پشتیبانگیری، بازیابی، ارتقاء، مهاجرت از Mattermost.
- عملیات: پایش، مقیاسپذیری، نگهداری داده، انطباق، عیبیابی.
- امنیت: چکلیست تقویت امنیت و اتصالات خارجی.
- استقرار اپلیکیشن دسکتاپ: فایل MSI، Group Policy و Intune، پروفایلهای macOS و فایل سیاستگذاری Linux.
جوامع را به جای سرور (کانالها، نقشها، مدیریت) اداره میکنید؟ اداره یک جامعه را ببینید. در حال ساخت یکپارچهسازی هستید؟ ساخت روی Antimatter را ببینید.
ساعت اول شما
- نصب کنید و بلافاصله حساب مدیر را بسازید.
- سرور را با HTTPS روی دامنه اختصاصی قرار دهید.
- SMTP را پیکربندی کنید و یک ایمیل آزمایشی ارسال کنید.
- پورت مکالمه را باز کنید. برای شرکتها، نوع جوامع جدید را روی فضای کاری تنظیم کنید تا مکالمهها در کانالها فعال باشند.
- تعیین کنید چه کسانی میتوانند ثبتنام کنند و MFA را فعال کنید.
- اتصالات خارجی را در امنیت بررسی کنید.
- پشتیبانگیری روزانه را تنظیم کنید. قبل از افزودن اتصالات مدل هوش مصنوعی، کلید رمزنگاری هوش مصنوعی را تنظیم کنید.
دریافت کمک
سؤالات خود را در گفتگوهای جامعه بپرسید و باگها را در مخزن جامعه گزارش کنید. مشکلات امنیتی را بهصورت خصوصی گزارش کنید، همانطور که در سیاست امنیتی توضیح داده شده است.