Aan de slag

Draai Antimatter op je eigen server

Eén bestand, drie opdrachten, ongeveer tien minuten: Antimatter met de database, de bestandsopslag en de GIF-service, op elke Linux-server met Docker.

Binnen tien minuten in de lucht

Je hebt een Linux-server nodig met Docker en de Compose-plugin, 2 CPU-kernen en minstens 4 GB geheugen.

1. Download het compose-bestand

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

2. Maak de instellingen aan, met willekeurige wachtwoorden

$ 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

Zet SITE_URL op het adres dat mensen gaan gebruiken, bijvoorbeeld http://192.168.1.20:8065 op een lokaal netwerk.

3. Start Antimatter

$ docker compose up -d

De eerste keer opstarten duurt een minuut of twee, terwijl de database wordt aangemaakt. Open daarna SITE_URL in je browser en maak je account aan: het eerste account wordt de systeembeheerder, en de installatiewizard helpt je je eerste community aan te maken.

Met je eigen domein en HTTPS

Laat een DNS-record van je domein naar de server wijzen, open de poorten 80 en 443, en voeg het domein toe aan .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 haalt een certificaat op bij Let's Encrypt en vernieuwt het automatisch.

Wat er draait

  • antimatter: de server, met zijn apps (notities, whiteboards, spraakkanalen, gesprekken, peilingen en de rest). Hij slaat niets op schijf op: de instellingen staan in de database en de bestanden in de opslagdienst, dus de container kan op elk moment worden vervangen.
  • postgres: de database.
  • files: RustFS, S3-compatibele opslag voor geüploade bestanden.
  • gifs: de GIF- en stickerservice van Antimatter, met een startpakket stickers.
  • https: Caddy, alleen met het profiel https.

De database, de opslag en de GIF-service zitten op een privénetwerk dat alleen Antimatter kan bereiken.

Blijft de GIF-kiezer leeg? Open dan Systeemconsole › Plugins › GIFs, zet de service-URL op http://gifs:8080/v2 en de API-sleutel op de GIFS_API_KEY uit je .env.

Updates en back-ups

# bijwerken naar de nieuwste images
$ docker compose pull && docker compose up -d
# back-up van de database maken
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql

Maak ook een back-up van het volume files, of repliceer de opslag met een willekeurige S3-tool. Voor een opstelling met nginx en je eigen certificaten, zie de productiebestanden in antimatter-docker.

Met een release-archief

  1. Maak een PostgreSQL-database en -gebruiker aan.
  2. Pak het archief (antimatter-<os>-<arch>.tar.gz) uit, bijvoorbeeld in /opt/antimatter, en laat SqlSettings.DataSource in config/config.json (of de omgevingsvariabele AM_SQLSETTINGS_DATASOURCE) naar de database wijzen.
  3. Start de server met bin/antimatter, als gebruiker zonder extra rechten, en open http://localhost:8065. Het eerste account dat je aanmaakt, wordt de systeembeheerder.

Met bin/amctl beheer je een draaiende server vanaf de opdrachtregel (bin/amctl --local op de server zelf, met ServiceSettings.EnableLocalMode).

Volgende stappen

  • Gesprekken: open de poort voor gesprekken (standaard UDP en TCP 8443), zodat spraak en video de server bereiken.
  • E-mail: stel SMTP in voor uitnodigingen en meldingen.
  • AI: voeg een model toe in de instellingen van Agents; elke OpenAI-compatibele API werkt, ook een server die je zelf draait.
  • Spraak en vertaling: laat de transcriptie van gesprekken, het voorlezen en de automatische vertaling verwijzen naar spraak-naar-tekst-, tekst-naar-spraak- en vertaalmodellen die je zelf draait.