شروع کنید

Antimatter را روی سرور خودتان اجرا کنید

یک فایل، سه دستور، حدود ده دقیقه: Antimatter همراه با پایگاه داده، فضای ذخیره‌سازی فایل و سرویس گیفش، روی هر سرور لینوکسی که Docker دارد.

راه‌اندازی در ده دقیقه

به یک سرور لینوکس با Docker و افزونهٔ Compose آن، و دست‌کم ۲ هستهٔ پردازنده و ۴ گیگابایت حافظه نیاز دارید.

۱. فایل compose را دانلود کنید

$ 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)
EOF

SITE_URL را روی نشانی‌ای بگذارید که کاربران از آن استفاده خواهند کرد، مثلاً http://192.168.1.20:8065 در یک شبکهٔ محلی.

۳. اجرایش کنید

$ docker compose up -d

اجرای نخست یکی دو دقیقه طول می‌کشد تا پایگاه داده ساخته شود. سپس SITE_URL را در مرورگر باز کنید و حسابتان را بسازید: نخستین حساب، مدیر سیستم می‌شود و راه‌اندازی، شما را در ساخت نخستین جامعه‌تان راهنمایی می‌کند.

با دامنهٔ خودتان و HTTPS

یک رکورد DNS از دامنه‌تان را به سرور اشاره دهید، پورت‌های ۸۰ و ۴۴۳ را باز کنید و دامنه را به .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: سرویس گیف و استیکر Antimatter، با یک بستهٔ استیکر آغازین.
  • https: Caddy، فقط با پروفایل https.

پایگاه داده، فضای ذخیره‌سازی و سرویس گیف در یک شبکهٔ خصوصی قرار دارند که فقط Antimatter به آن دسترسی دارد.

اگر انتخابگر گیف خالی ماند، کنسول سیستم › افزونه‌ها › GIFs را باز کنید، نشانی سرویس را 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 روی ۸۴۴۳) تا صدا و تصویر به سرور برسد.
  • ایمیل: SMTP را برای دعوت‌نامه‌ها و اعلان‌ها پیکربندی کنید.
  • هوش مصنوعی: در تنظیمات Agents یک مدل اضافه کنید؛ هر API سازگار با OpenAI کار می‌کند، از جمله سروری که خودتان اجرا می‌کنید.
  • گفتار و ترجمه: متن‌نویسی تماس‌ها، خواندن با صدای بلند و ترجمهٔ خودکار را به مدل‌های گفتار به متن، متن به گفتار و ترجمه‌ای که خودتان اجرا می‌کنید وصل کنید.