Начало работы

Запустите 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 для приглашений и уведомлений.
  • ИИ: добавьте модель в настройках агентов; подойдёт любой API, совместимый с OpenAI, в том числе на вашем собственном сервере.
  • Речь и перевод: подключите транскрипцию звонков, озвучивание и автоматический перевод к моделям распознавания речи, синтеза речи и перевода, которые вы запускаете сами.