Konfiguration
Var Antimatter lagrar sina inställningar, de tre sätten att ändra dem (Systemkonsolen, miljövariabler, amctl) och var loggarna hamnar.
Var inställningarna finns
Varje serverinställning har ett namn som består av en sektion och en nyckel, till exempel ServiceSettings.SiteURL eller EmailSettings.SMTPServer. Tillsammans bildar de en konfiguration som lagras på ett av två ställen:
- I databasen. Webbplatsens compose-fil anger
AM_CONFIGtill PostgreSQL:ans anslutnings-URL, så konfigurationen är en rad i databasen och behållaren lagrar inget på disken. Flera servrar som delar en databas delar också sin konfiguration. - I en fil. Utan
AM_CONFIGläser servernconfig/config.jsonbredvid sinbin/-mapp (/antimatter/config/config.jsoni Docker-bilden). Releasearkivet och produktionscompose-filerna i antimatter-docker fungerar så, liksom .deb- och .rpm-pakkarna, vars fil är/etc/antimatter/config/config.json. Se till att denna fil endast är läsbar för serverns användare: den innehåller lösenord och nycklar.
AM_CONFIG (eller flaggan --config för kommandot antimatter) accepterar antingen en filväg eller en postgres://-URL. Inställningar som du inte anger får sitt standardvärde.
För att flytta en befintlig konfiguration från en fil till databasen, kör detta på servern och starta sedan servern med AM_CONFIG satt till samma URL:
amctl --local config migrate /opt/antimatter/config/config.json \
"postgres://antimatter:PASSWORD@localhost:5432/antimatter?sslmode=disable&connect_timeout=10"
Miljövariabler
Varje inställning kan också anges som en miljövariabel. Variabler har företräde framför den lagrade konfigurationen, vilket gör dem väl lämpade för det som hör till utrollningen: databasen, webbplatsens URL, filarkivet och portarna.
Namngivningsregel
Skriv AM_, sedan sektionen, sedan nyckeln, i versaler och med understreck som avgränsare. Orden inom ett sektion- eller nyckelnamn avgränsas inte:
| Inställning | Variabel |
|---|---|
ServiceSettings.SiteURL | AM_SERVICESETTINGS_SITEURL |
SqlSettings.DataSource | AM_SQLSETTINGS_DATASOURCE |
EmailSettings.SMTPServer | AM_EMAILSETTINGS_SMTPSERVER |
PrivacySettings.EnableUserBlocking | AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING |
- Inställningar för sant och falskt tar
trueellerfalse; tal är enkla tal. - Listinställningar tar sina värden åtskilda med mellanslag, till exempel
AM_SERVICESETTINGS_TRUSTEDPROXYIPHEADER="X-Forwarded-For X-Real-IP". - Inställningar som är objekt tar JSON. Den enda sådana variabeln för appar är
AM_PLUGINSETTINGS_PLUGINS, och den ersätter inställningarna för alla appar på en gång: ange appinställningar i Systemkonsolen eller medamctlistället (se nedan). - Äldre Mattermost-installationer använder prefixet
MM_, till exempelMM_SQLSETTINGS_DATASOURCE. Det fungerar fortfarande som ett legacy-alias. Om båda är inställda har variabelnAM_företräde.
En inställning som anges via en variabel är låst i Systemkonsolen, med anteckningen "Denna inställning har satts via en miljövariabel. Den kan inte ändras i Systemkonsolen." Den skrivs inte till den lagrade konfigurationen: ta bort variabeln så att det lagrade värdet gäller igen.
Med Docker Compose
Lägg till variabler under environment: för tjänsten antimatter, eller i en compose.override.yaml bredvid compose.yaml (Compose läser den automatiskt, och den kvarstår vid uppdateringar av den nedladdade filen):
services:
antimatter:
environment:
AM_EMAILSETTINGS_SMTPSERVER: smtp.example.com
AM_EMAILSETTINGS_SMTPPORT: "587"
AM_LOGSETTINGS_CONSOLELEVEL: INFO
Tillämpa ändringar med docker compose up -d, vilket återskapar containern.
Variabler som läses av apparna
Några variabler är inte inställningar och har inget fält i Systemkonsolen: AM_CONFIG (var konfigurationen finns), samt AM_AI_ENCRYPTION_KEY och AM_AI_ENCRYPTION_PREVIOUS_KEYS, nyckeln som krypterar API-nycklarna för modellanslutningar (se AI).
Några appar läser egna variabler, inställda på tjänsten antimatter: appen Samtal läser AM_CALLS_* (se Samtal och röst), och appen GIF läser AM_GIFS_SERVICE_URL, AM_GIFS_API_KEY och AM_GIFS_UPLOAD_KEY (se Inbyggda appar).
Systemkonsolen
Systemkonsolen är administrationsområdet i webbappen, för systemadministratörer. För att öppna den, klicka på din bild i toppen av appens sidofält och välj Systemkonsol, eller gå till https://chat.example.com/admin_console. I dess sidofält finns en Sökinställningar-ruta som söker i alla sidor.

Dess sektioner är:
- Rapporter: statistik och serverloggarna.
- Hantera användare: användare, grupper, communityer (listade som team), kanaler, behörigheter och delegerad administration.
- Systemattribut: anpassade profilattribut och attributbaserad åtkomst.
- Miljö: webbserver, databas, filarkiv, bildproxy, SMTP, pushaviseringar, hastighetsbegränsning, loggning, sessionstider och prestandaövervakning.
- Site-konfiguration: varumärkesanpassning, användare och team, aviseringar, inlägg, fildelning och andra serveromfattande inställningar.
- Autentisering: registrering, inloggning med e-post och lösenord, MFA, AD/LDAP, SAML 2.0, OAuth 2.0, OpenID Connect och gäståtkomst.
- AI: modellanslutningar och inbyggda AI-funktioner (omskrivning, sammanfattningar, automatisk översättning, text till tal). Se AI.
- Plugins: apphantering och inställningar för varje installerad app.
- Integrationer: webhooks, snedstreckskommandon, botkonton, GIF, text till tal, CORS.
- Efterlevnad: databevarande, export och övervakning för efterlevnad, revisionsloggning och anpassade användarvillkor.
- Experimentell: funktioner som kan ändras.
I denna guide anges en inställning som dess sökväg i Systemkonsolen, sedan dess etikett, sedan dess konfigurationsnyckel, till exempel Systemkonsol › Site-konfiguration › Användare och team › Aktivera ignorera, blockera och meddelandeförfrågningar (PrivacySettings.EnableUserBlocking).
De flesta ändringar gäller så snart du klickar på Spara. Vissa (lyssnande adress, vissa databas- och cacheinställningar) kräver en omstart, och det anges på sidan.
Arbetsplats eller community
Varje community har en typ, som anger vissa av dess standardinställningar:
- Community, för en offentlig eller hobby-community: samtal är avstängda i dess kanaler (personer pratar i röstkanaler), och endast dess administratörer, och de roller som hanterar kanaler, arkiverar kanaler.
- Arbetsplats, för ett företag eller en organisation: samtal är aktiverade i dess kanaler, och kanalens administratörer (den som skapade den, och de de gjort till administratörer) arkiverar den också.
Systemkonsol › Site-konfiguration › Användare och team › Typ av nya communities (TeamSettings.DefaultCommunityKind, AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND) är typen för de communities som skapas från och med nu: community (standard) eller workplace. En layoutmall som väljs när en community skapas anger dess egen typ. Varje communitys administratörer kan ändra dess typ senare, i Teaminställningar › Kanaler › Typ av community.
Kommandoradsverktyget amctl
amctl hanterar en server från kommandoraden: användare, community, kanaler, appar, konfiguration, jobb och mer. Det kommunicerar med servern på ett av två sätt.
Lokalt läge, på servern
Lokalt läte låter amctl kommunicera med servern via en Unix-socket, utan inloggning. Det är aktiverat i Docker-bilden och i .deb- och .rpm-pakkagen. På en server installerad från ett arkiv, aktivera det med ServiceSettings.EnableLocalMode (AM_SERVICESETTINGS_ENABLELOCALMODE=true). Socketen är /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å värdmaskinen, har fullständiga systemadministratörsrättigheter.Fjärr, med ett konto
Från valfri maskin, logga in med ett systemadministratörskonto (eller ett personligt åtkomsttoken) och kör sedan kommandon mot den servern:
amctl auth login https://chat.example.com --name prod --username admin
amctl system status
Konfigurationskommandon
| Kommando | Vad den gör |
|---|---|
amctl config get ServiceSettings.SiteURL | Visar en inställning. |
amctl config set TeamSettings.EnableOpenServer false | Ändrar en inställning. Listinställningar tar flera värden. |
amctl config patch settings.json | Slår ihop en JSON-fil med inställningar i konfigurationen. |
amctl config show | Visar hela konfigurationen som JSON. |
amctl config edit | Öppnar konfigurationen i din editor ($EDITOR). |
amctl config reset | Återställer inställningar till sina standardvärden. |
amctl config reload | Läser in konfigurationen från där den lagras, efter en ändring som gjorts utanför servern. |
Appinställningar finns under PluginSettings.Plugins.<app id>, med nycklar i gemina bokstäver. Till exempel, för att ställa in GIF-appens tjänst-URL och nyckel från Docker-värden:
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
Andra användbara kommandon: amctl user create, amctl user deactivate, amctl team create, amctl plugin list, amctl plugin enable, amctl system supportpacket och amctl logs. Kör amctl help <command> för respektive kommandos alternativ.
Loggar
Servern skriver loggen till två platser, var och en med sin egen nivå (DEBUG, INFO, WARN eller ERROR), som anges i Systemkonsol › Miljö › Loggning:
| Mål | Inställningar | Standardvärden |
|---|---|---|
| Konsolen (standardutmatning) | Skicka loggar till konsolen (LogSettings.EnableConsole), Loggnivå för konsol (LogSettings.ConsoleLevel), Output console logs som JSON (LogSettings.ConsoleJson) | på, DEBUG, JSON |
En fil, antimatter.log | Filnamn på loggfil (LogSettings.EnableFile), Lognivå (LogSettings.FileLevel), Filkatalogen för loggar (LogSettings.FileLocation) | på, INFO, mappen logs/ intill bin/ |
Loggfiler roteras vid 100 MB och de gamla komprimeras.
Webbplatsens compose-fil stänger av filloggning (AM_LOGSETTINGS_ENABLEFILE=false), så loggarna finns endast i behållarens utmatning:
docker compose logs -f antimatter
docker compose logs --since 1h antimatter | grep -i error
Konsollnivån är som standard DEBUG, vilket är detaljerat. På en travig server, sätt AM_LOGSETTINGS_CONSOLELEVEL=INFO. config.json i releasearkivet och i pakkagen är redan inställd på INFO. Med ett releasearkiv under systemd, går konsollutmatningen till journalen (journalctl -u antimatter) och filen till /opt/antimatter/logs/antimatter.log. Pakkagen stänger av filloggning, så deras loggar finns bara i journalen.
När filloggning är påslaget kan systemadministratörer också läsa de senaste loggraderna i Systemkonsol › Rapportering › Serverloggar, eller med amctl logs.