Antimatter را روی سرور خودتان اجرا کنید
یک فایل، سه دستور، حدود ده دقیقه: Antimatter همراه با پایگاه داده، فضای ذخیرهسازی فایل و سرویس گیفش، روی هر سرور لینوکسی که Docker دارد.
راهاندازی در ده دقیقه
به یک سرور لینوکس با Docker و افزونهٔ Compose آن، و دستکم ۲ هستهٔ پردازنده و ۴ گیگابایت حافظه نیاز دارید.
۱. فایل compose را دانلود کنید
$ curl -fsSLO https://antimatter.chat/compose.yaml
۲. تنظیمات آن را با گذرواژههای تصادفی بسازید
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 در یک شبکهٔ محلی.
۳. اجرایش کنید
اجرای نخست یکی دو دقیقه طول میکشد تا پایگاه داده ساخته شود. سپس SITE_URL را در مرورگر باز کنید و حسابتان را بسازید: نخستین حساب، مدیر سیستم میشود و راهاندازی، شما را در ساخت نخستین جامعهتان راهنمایی میکند.
با دامنهٔ خودتان و HTTPS
یک رکورد DNS از دامنهتان را به سرور اشاره دهید، پورتهای ۸۰ و ۴۴۳ را باز کنید و دامنه را به .env اضافه کنید:
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: سرویس گیف و استیکر Antimatter، با یک بستهٔ استیکر آغازین.
- https: Caddy، فقط با پروفایل
https.
پایگاه داده، فضای ذخیرهسازی و سرویس گیف در یک شبکهٔ خصوصی قرار دارند که فقط Antimatter به آن دسترسی دارد.
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 ببینید.
با بستهٔ انتشار
- یک پایگاه دادهٔ PostgreSQL و یک کاربر برای آن آماده کنید.
- بسته (
antimatter-<os>-<arch>.tar.gz) را، برای نمونه در/opt/antimatter، از حالت فشرده خارج کنید وSqlSettings.DataSourceرا درconfig/config.json(یا متغیر محیطیAM_SQLSETTINGS_DATASOURCE) به پایگاه داده اشاره دهید. - سرور را با
bin/antimatterو با یک کاربر بدون دسترسی ویژه اجرا کنید وhttp://localhost:8065را باز کنید. نخستین حسابی که ساخته شود، مدیر سیستم میشود.
bin/amctl سرورِ در حال اجرا را از خط فرمان مدیریت میکند (bin/amctl --local روی خود سرور، با ServiceSettings.EnableLocalMode).
گامهای بعدی
- تماسها: پورت تماسها را باز کنید (بهطور پیشفرض UDP و TCP روی ۸۴۴۳) تا صدا و تصویر به سرور برسد.
- ایمیل: SMTP را برای دعوتنامهها و اعلانها پیکربندی کنید.
- هوش مصنوعی: در تنظیمات Agents یک مدل اضافه کنید؛ هر API سازگار با OpenAI کار میکند، از جمله سروری که خودتان اجرا میکنید.
- گفتار و ترجمه: متننویسی تماسها، خواندن با صدای بلند و ترجمهٔ خودکار را به مدلهای گفتار به متن، متن به گفتار و ترجمهای که خودتان اجرا میکنید وصل کنید.