Pierwsze kroki

Uruchom Antimatter na własnym serwerze

Jeden plik, trzy polecenia, około dziesięciu minut: Antimatter z bazą danych, magazynem plików i usługą GIF-ów na dowolnym serwerze z Linuksem i Dockerem.

Gotowe w dziesięć minut

Potrzebujesz serwera z Linuksem, Dockerem i jego wtyczką Compose, z co najmniej 2 rdzeniami procesora i 4 GB pamięci.

1. Pobierz plik compose

$ mkdir antimatter && cd antimatter
$ curl -fsSLO https://antimatter.chat/compose.yaml

2. Utwórz plik ustawień z losowymi hasłami

$ 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

W SITE_URL ustaw adres, pod którym użytkownicy będą otwierać czat, na przykład http://192.168.1.20:8065 w sieci lokalnej.

3. Uruchom

$ docker compose up -d

Pierwsze uruchomienie trwa minutę lub dwie, bo w tym czasie tworzona jest baza danych. Następnie otwórz SITE_URL w przeglądarce i załóż konto: pierwsze konto zostaje administratorem systemu, a kreator przeprowadzi Cię przez tworzenie pierwszej społeczności.

Z własną domeną i HTTPS

Skieruj rekord DNS swojej domeny na serwer, otwórz porty 80 i 443 i dodaj domenę do pliku .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 uzyskuje certyfikat od Let's Encrypt i sam go odnawia.

Co zostaje uruchomione

  • antimatter: serwer wraz z aplikacjami (notatki, białe tablice, kanały głosowe, rozmowy, ankiety i pozostałe). Niczego nie przechowuje na dysku: ustawienia trzyma w bazie danych, a pliki w usłudze magazynu, więc kontener można w każdej chwili wymienić.
  • postgres: baza danych.
  • files: RustFS, magazyn zgodny z S3 na przesłane pliki.
  • gifs: usługa GIF-ów i naklejek Antimatter, ze startowym pakietem naklejek.
  • https: Caddy, tylko z profilem https.

Baza danych, magazyn i usługa GIF-ów działają w sieci prywatnej, do której dostęp ma tylko Antimatter.

Jeśli selektor GIF-ów pozostaje pusty, otwórz Konsola systemu › Wtyczki › GIFy i ustaw adres URL usługi na http://gifs:8080/v2, a klucz API na wartość GIFS_API_KEY z Twojego pliku .env.

Aktualizacje i kopie zapasowe

# aktualizacja do najnowszych obrazów
$ docker compose pull && docker compose up -d
# kopia zapasowa bazy danych
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql

Rób też kopię zapasową woluminu files albo replikuj magazyn dowolnym narzędziem do S3. Konfigurację z nginx i własnymi certyfikatami znajdziesz w plikach produkcyjnych w repozytorium antimatter-docker.

Z archiwum wydania

  1. Przygotuj bazę danych PostgreSQL i jej użytkownika.
  2. Rozpakuj archiwum (antimatter-<os>-<arch>.tar.gz), na przykład do /opt/antimatter, i wskaż bazę danych w ustawieniu SqlSettings.DataSource w pliku config/config.json (lub w zmiennej środowiskowej AM_SQLSETTINGS_DATASOURCE).
  3. Uruchom serwer poleceniem bin/antimatter jako użytkownik bez uprawnień administracyjnych i otwórz http://localhost:8065. Pierwsze utworzone konto zostaje administratorem systemu.

bin/amctl pozwala zarządzać działającym serwerem z wiersza poleceń (bin/amctl --local na samym serwerze, przy włączonym ServiceSettings.EnableLocalMode).

Dalsze kroki

  • Rozmowy: otwórz port rozmów (domyślnie 8443, UDP i TCP), aby dźwięk i obraz docierały do serwera.
  • E-mail: skonfiguruj SMTP, aby wysyłać zaproszenia i powiadomienia.
  • AI: dodaj model w ustawieniach wtyczki Agents; zadziała każde API zgodne z OpenAI, także na serwerze, który utrzymujesz samodzielnie.
  • Mowa i tłumaczenie: skieruj transkrypcję rozmów, czytanie na głos i automatyczne tłumaczenie na własne modele zamiany mowy na tekst, tekstu na mowę i tłumaczenia.