Початок роботи

Запустіть Antimatter на власному сервері

Один файл, три команди, близько десяти хвилин: Antimatter із базою даних, файловим сховищем і сервісом GIF на будь-якому Linux-сервері з Docker.

Запуск за десять хвилин

Вам знадобиться Linux-сервер із Docker і плагіном Compose, щонайменше 2 ядрами процесора та 4 ГБ пам’яті.

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 і власними сертифікатами знайдете серед production-файлів у репозиторії 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 для запрошень і сповіщень.
  • ШІ: додайте модель у налаштуваннях агентів; підійде будь-який OpenAI-сумісний API, зокрема сервер, який ви розгортаєте самі.
  • Мовлення й переклад: під’єднайте транскрипцію дзвінків, озвучення та автоматичний переклад до власних моделей розпізнавання й синтезу мовлення та перекладу.