Konfigurasjon
Hvor Antimatter lagrer innstillingene, de tre måtene å endre dem på (Systemkonsoll, miljøvariabler, amctl) og hvor loggene havner.
Hvor innstillingene ligger
Hver serverinnstilling har et navn bestående av en seksjon og en nøkkel, for eksempel ServiceSettings.SiteURL eller EmailSettings.SMTPServer. Sammen danner de én konfigurasjon, som lagres på ett av to steder:
- I databasen. Stedets compose-fil setter
AM_CONFIGtil PostgreSQL-forbindelses-URL-en, slik at konfigurasjonen er en rad i databasen og beholderen ikke lagrer noe på disken. Flere servere som deler én database, deler også konfigurasjonen sin. - I en fil. Uten
AM_CONFIGleser serverenconfig/config.jsonved siden avbin/-mappen (/antimatter/config/config.jsoni Docker-bildet). Utgavearkivet og produksjonscompose-filene i antimatter-docker fungerer på denne måten, og det samme gjør .deb- og .rpm-pakkene, hvis fil er/etc/antimatter/config/config.json. Hold denne filen kun lesbar for serverens bruker: den inneholder passord og nøkler.
AM_CONFIG (eller --config-flagget til antimatter-kommandoen) godtar enten en filsti eller en postgres://-URL. Innstillinger du utelater, får standardverdien.
For å flytte en eksisterende konfigurasjon fra en fil til databasen, kjør dette på serveren, og start deretter serveren med AM_CONFIG satt til samme URL:
amctl --local config migrate /opt/antimatter/config/config.json \
"postgres://antimatter:PASSWORD@localhost:5432/antimatter?sslmode=disable&connect_timeout=10"
Miljøvariabler
Enhver innstilling kan også gis som en miljøvariabel. Variablene har forrang over den lagrede konfigurasjonen, noe som gjør dem velegnet for det som hører til utrollingen: databasen, stedets URL, filopplagringen og portene.
Navngivningsregel
Skriv AM_, deretter seksjonen, deretter nøkkelen, i store bokstaver og separert med understreker. Ordene i en seksjons- eller nøkkelnavn er ikke separert:
| Innstilling | Variabel |
|---|---|
ServiceSettings.SiteURL | AM_SERVICESETTINGS_SITEURL |
SqlSettings.DataSource | AM_SQLSETTINGS_DATASOURCE |
EmailSettings.SMTPServer | AM_EMAILSETTINGS_SMTPSERVER |
PrivacySettings.EnableUserBlocking | AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING |
- Innstillinger som er sanne eller falske, tar
trueellerfalse; tall er vanlige tall. - Listeinnstillinger tar verdiene sine separert med mellomrom, for eksempel
AM_SERVICESETTINGS_TRUSTEDPROXYIPHEADER="X-Forwarded-For X-Real-IP". - Innstillinger som er objekter, tar JSON. Den eneste slike variabelen for apper er
AM_PLUGINSETTINGS_PLUGINS, og den erstatter innstillingene for alle apper samtidig: sett appinnstillingene i Systemkonsollen eller medamctli stedet (se nedenfor). - Tidligere Mattermost-installasjoner bruker prefikset
MM_, for eksempelMM_SQLSETTINGS_DATASOURCE. Det fungerer fortsatt som et arvelig alias. Når begge er satt, vinnerAM_-variabelen.
En innstilling som er gitt av en variabel er låst i Systemkonsollen, med merknaden «Denne innstillingen er satt gjennom en miljøvariabel. Den kan ikke endres gjennom Systemkonsollen.» Den skrives ikke til den lagrede konfigurasjonen: fjern variabelen, og den lagrede verdien gjelder igjen.
Med Docker Compose
Legg til variabler under environment: for antimatter-tjenesten, eller i en compose.override.yaml ved siden av compose.yaml (Compose leser den automatisk, og den overlever oppdateringer av den nedlastede filen):
services:
antimatter:
environment:
AM_EMAILSETTINGS_SMTPSERVER: smtp.example.com
AM_EMAILSETTINGS_SMTPPORT: "587"
AM_LOGSETTINGS_CONSOLELEVEL: INFO
Bruk docker compose up -d for å anvende endringer, noe som lager containeren på nytt.
Variabler som leses av appene
Noen variabler er ikke innstillinger og har ingen felt i Systemkonsollen: AM_CONFIG (hvor konfigurasjonen ligger), og AM_AI_ENCRYPTION_KEY og AM_AI_ENCRYPTION_PREVIOUS_KEYS, nøkkelen som krypterer API-nøklene for modelltilkoblinger (se AI).
Noen apper leser sine egne variabler, som er satt på antimatter-tjenesten: Calls-appen leser AM_CALLS_* (se Samtaler og tale), og GIFs-appen leser AM_GIFS_SERVICE_URL, AM_GIFS_API_KEY og AM_GIFS_UPLOAD_KEY (se Inkluderte apper).
Systemkonsollen
Systemkonsollen er administrasjonsområdet i nettappen, for systemadministratorer. For å åpne den, klikk på bildet ditt øverst i appens sidefelt og velg Systemkonsoll, eller gå til https://chat.example.com/admin_console. Sidefeltet har en Finn innstillinger-boks som søker på alle sider.

Seksjonene er:
- Rapportering: statistikk og serverlogger.
- Brukeradministrasjon: brukere, grupper, samfunn (listet som team), kanaler, tillatelser og delegert administrasjon.
- Systemattributter: egendefinerte profilattributter og attributtbasert tilgang.
- Miljø: webserver, database, filopplagring, bildeproxy, SMTP, pushvarsler, hastighetsbegrensning, logging, sessjonslengder og ytelsesovervåking.
- Nettstedsoppsett: merkevare, brukere og team, varsler, innlegg, fildeling og andre serveromfattende oppførsler.
- Autentisering: registrering, pålogging med e-post og passord, MFA, AD/LDAP, SAML 2.0, OAuth 2.0, OpenID Connect og gjestetilgang.
- AI: modelltilkoblinger og innebygde AI-funksjoner (omskrivning, oppsummeringer, automatisk oversettelse, tekst til tale). Se AI.
- Plugins: appadministrasjon og innstillingene for hver installert app.
- Integrasjoner: webhooks, skråstrek-kommandoer, bot-kontoer, GIF-er, tekst til tale, CORS.
- Samsvar: dataoppbevaring, samsvarseksport og -overvåking, revisjonslogging og egendefinerte vilkår og betingelser.
- Eksperimentell: funksjoner som kan endres.
I denne veiledningen skrives en innstilling som stien i Systemkonsollen, deretter etiketten, deretter konfigurasionstasten, for eksempel Systemkonsoll › Nettstedsoppsett › Brukere og team › Aktiver ignorering, blokkering og meldingsforespørsler (PrivacySettings.EnableUserBlocking).
De fleste endringene gjelder så snart du klikker på Lagre. Noen (lytteadressen, noen database- og cacheinnstillinger) krever en omstart, og siden sier dette.
Arbeidsplass eller fellesskap
Hvert fellesskap har en type, som setter noen av standardinnstillingene:
- Fellesskap, for et offentlig eller hobbyfellesskap: samtaler er slått av i kanalene (folk snakker i talekanaler), og bare administratorne, og rollene som administrerer kanaler, arkiverer kanaler.
- Arbeidsplass, for et selskap eller en organisasjon: samtaler er slått på i kanalene, og kanalens administratorer (den som opprettet den, og de de har gjort til administratorer) arkiverer den også.
Systemkonsoll › Nettstedsoppsett › Brukere og team › Type for nye fellesskap (TeamSettings.DefaultCommunityKind, AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND) er typen for fellesskapene som opprettes fra nå av: community (standard) eller workplace. Et layoutforvalg valgt når et fellesskap opprettes, setter sin egen type. Hvert fellesskaps administratorer kan endre typen senere, i Teaminnstillinger › Kanaler › Type for fellesskap.
Kommandolinjeværktøyet amctl
amctl administrerer en server fra kommandolinjen: brukere, samfunn, kanaler, apper, konfigurasjon, jobber og mer. Den kommuniserer med serveren på én av to måter.
Lokal modus, på serveren
Lokal modus lar amctl snakke med serveren gjennom en Unix-socket, uten å logge inn. Den er aktiv i Docker-bildet og i .deb- og .rpm-pakkene. På en server installert fra et arkiv, aktiveres den med ServiceSettings.EnableLocalMode (AM_SERVICESETTINGS_ENABLELOCALMODE=true). Socketen er /var/tmp/antimatter_local.socket som standard (ServiceSettings.LocalModeSocketLocation).
# with Docker Compose
docker compose exec antimatter amctl --local system status
# with a release archive
sudo -u antimatter /opt/antimatter/bin/amctl --local system status
# with the .deb or .rpm package
sudo -u antimatter amctl --local system status
docker compose exec på vertsmaskinen, har full systemadministratorrett.Fjern, med en konto
Fra en hvilken som helst maskin, logg inn med en systemadministrator-konto (eller et personlig tilgangstoken), og kjør deretter kommandoer mot den serveren:
amctl auth login https://chat.example.com --name prod --username admin
amctl system status
Konfigurasjonskommandoer
| Kommando | Hva det gjør |
|---|---|
amctl config get ServiceSettings.SiteURL | Skriver ut én innstilling. |
amctl config set TeamSettings.EnableOpenServer false | Endrer én innstilling. Listeinnstillinger tar flere verdier. |
amctl config patch settings.json | Slår sammen en JSON-fil med innstillinger i konfigurasjonen. |
amctl config show | Skriver ut hele konfigurasjonen som JSON. |
amctl config edit | Åpner konfigurasjonen i editor din ($EDITOR). |
amctl config reset | Tilbakestiller innstillingene til standardverdiene. |
amctl config reload | Laster inn konfigurasjonen fra der den er lagret, etter en endring gjort utenfor serveren. |
Appinnstillinger ligger under PluginSettings.Plugins.<app id>, med nøkler i små bokstaver. For eksempel, for å sette GIFs-appens tjeneste-URL og nøkkel fra Docker-verten:
docker compose exec -T antimatter amctl --local config patch /dev/stdin <<'EOF'
{"PluginSettings": {"Plugins": {"com.antimatterchat.gifs": {
"serviceurl": "http://gifs:8080/v2",
"apikey": "the GIFS_API_KEY of your .env"
}}}}
EOF
Andre nyttige kommandoer: amctl user create, amctl user deactivate, amctl team create, amctl plugin list, amctl plugin enable, amctl system supportpacket og amctl logs. Kjør amctl help <command> for hver sin valgmulighet.
Logger
Serveren skriver loggen sin til to steder, der hvert har sitt eget nivå (DEBUG, INFO, WARN eller ERROR), som settes i Systemkonsoll › Miljø › Logging:
| Mål | Innstillinger | Standardverdier |
|---|---|---|
| Konsollen (standardutdata) | Skriv ut logger til konsoll (LogSettings.EnableConsole), Konsollloggnivå (LogSettings.ConsoleLevel), Skriv ut konsolllogger som JSON (LogSettings.ConsoleJson) | på, DEBUG, JSON |
En fil, antimatter.log | Skriv ut logger til fil (LogSettings.EnableFile), Filloggnivå (LogSettings.FileLevel), Filloggmappe (LogSettings.FileLocation) | på, INFO, logs/-mappen ved siden av bin/ |
Loggfiler roteres ved 100 MB, og de gamle komprimeres.
Nettstedets compose-fil slår av fillogging (AM_LOGSETTINGS_ENABLEFILE=false), så loggene finnes bare i containerens utdata:
docker compose logs -f antimatter
docker compose logs --since 1h antimatter | grep -i error
Konsollnivået er DEBUG som standard, som er detaljert. På en travl server, sett AM_LOGSETTINGS_CONSOLELEVEL=INFO. config.json i utgavearkivet og i pakkene er allerede satt til INFO. Med et utgavearkiv under systemd, går konsollutskriften til journalen (journalctl -u antimatter) og filen til /opt/antimatter/logs/antimatter.log. Pakkene slår av fillogging, så loggene deres finnes bare i journalen.
Når fillogging er slått på, kan systemadministratorer også lese de siste logglinjene i Systemkonsoll › Rapportering › Serverlogger, eller med amctl logs.