Configuració
On Antimatter guarda la seva configuració, les tres maneres de canviar-la (Consola del sistema, variables d'entorn, amctl) i on van els registres.
On viuen els paràmetres
Cada paràmetre del servidor té un nom format per una secció i una clau, com ara ServiceSettings.SiteURL o EmailSettings.SMTPServer. Junts formen una configuració, emmagatzemada en un dels dos llocs següents:
- A la base de dades. El fitxer de composició del lloc estableix
AM_CONFIGa l'URL de connexió de PostgreSQL, de manera que la configuració és una fila a la base de dades i el contenidor no guarda res al disc. Diversos servidors que comparteixen una mateixa base de dades també comparteixen la seva configuració. - Dins d’un fitxer. Sense
AM_CONFIG, el servidor llegeixconfig/config.jsonal costat del seu directoribin/(/antimatter/config/config.jsona la imatge Docker). L’arxiu de la versió i els fitxers compose de producció d’antimatter-docker funcionen així, i també els paquets .deb i .rpm, el fitxer dels quals és/etc/antimatter/config/config.json. Mantén aquest fitxer llegible només per l’usuari del servidor: conté contrasenyes i claus.
AM_CONFIG (o el paràmetre --config de la comanda antimatter) accepta una ruta de fitxer o una URL postgres://. Els paràmetres que ometeu prenen el seu valor per defecte.
Per moure una configuració existent d'un fitxer a la base de dades, executeu això al servidor i, a continuació, inicieu el servidor amb AM_CONFIG establert a la mateixa URL:
amctl --local config migrate /opt/antimatter/config/config.json \
"postgres://antimatter:PASSWORD@localhost:5432/antimatter?sslmode=disable&connect_timeout=10"
Variables d'entorn
Qualsevol paràmetre també es pot donar com a variable d'entorn. Les variables tenen prioritat sobre la configuració emmagatzemada, cosa que les fa adequades per al que pertany a la implementació: la base de dades, l'URL del lloc, l'emmagatzematge de fitxers, els ports.
Regla de nomenament
Escriviu AM_, després la secció, després la clau, en majúscules i separades per guions baixos. Les paraules dins d'un nom de secció o clau no es separen:
| Paràmetre | Variable |
|---|---|
ServiceSettings.SiteURL | AM_SERVICESETTINGS_SITEURL |
SqlSettings.DataSource | AM_SQLSETTINGS_DATASOURCE |
EmailSettings.SMTPServer | AM_EMAILSETTINGS_SMTPSERVER |
PrivacySettings.EnableUserBlocking | AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING |
- Els paràmetres de veritat i fals prenen
trueofalse; els números són números senzills. - Els paràmetres de llista prenen els seus valors separats per espais, per exemple
AM_SERVICESETTINGS_TRUSTEDPROXYIPHEADER="X-Forwarded-For X-Real-IP". - Els paràmetres que són objectes prenen JSON. L'única variable d'aquest tipus per a les aplicacions és
AM_PLUGINSETTINGS_PLUGINS, i substitueix els paràmetres de totes les aplicacions alhora: establiu els paràmetres de l'aplicació a la Consola del sistema o ambamctlen lloc d'això (vegeu més avall). - Les instal·lacions antigues de Mattermost utilitzen el prefix
MM_, per exempleMM_SQLSETTINGS_DATASOURCE. Encara funciona com a alias de llegat. Quan es defineixen ambdós, la variableAM_té prioritat.
Una configuració definida per una variable queda bloquejada al Consola del sistema, amb la nota «Aquesta configuració s'ha establert mitjançant una variable d'entorn. No es pot canviar des de la Consola del sistema». No s'escriu a la configuració emmagatzemada: si elimineu la variable, s'aplica de nou el valor emmagatzemat.
Amb Docker Compose
Afegiu les variables sota environment: del servei antimatter, o bé en un compose.override.yaml al costat de compose.yaml (Compose el llegeix automàticament i sobreviu a les actualitzacions del fitxer descarregat):
services:
antimatter:
environment:
AM_EMAILSETTINGS_SMTPSERVER: smtp.example.com
AM_EMAILSETTINGS_SMTPPORT: "587"
AM_LOGSETTINGS_CONSOLELEVEL: INFO
Apliqueu els canvis amb docker compose up -d, que recrea el contenidor.
Variables lligues per les aplicacions
Algunes variables no són configuracions i no tenen cap camp a la Consola del sistema: AM_CONFIG (on es troba la configuració), i AM_AI_ENCRYPTION_KEY i AM_AI_ENCRYPTION_PREVIOUS_KEYS, la clau que xifra les claus d’API de les connexions de models (vegeu IA).
Algunes aplicacions llegeixen les seves pròpies variables, establertes al servei antimatter: l'aplicació de trucades llegeix AM_CALLS_* (vegeu Trucades i veu), i l'aplicació de GIFs llegeix AM_GIFS_SERVICE_URL, AM_GIFS_API_KEY i AM_GIFS_UPLOAD_KEY (vegeu Aplicacions integrades).
La Consola del sistema
La Consola del sistema és l’àrea d’administració de l’aplicació web, destinada als administradors del sistema. Per obrir-la, feu clic a la vostra imatge a la part superior de la barra lateral de l’aplicació i trieu Consola del sistema, o aneu a https://chat.example.com/admin_console. La seva barra lateral té una caixa Troba configuracions que busca a totes les pàgines.

Les seves seccions són:
- Informes: estadístiques i els registres del servidor.
- Gestió d'usuaris: usuaris, grups, comunitats (llistades com a Equips), canals, permisos i administració delegada.
- Attributs del sistema: atributs de perfil personalitzats i accés basat en atributs.
- Entorn: servidor web, base de dades, emmagatzematge de fitxers, proxy d'imatges, SMTP, notificacions push, limitació de freqüència, registres, durada de les sessions i monitoratge de rendiment.
- Configuració del lloc: marca, usuaris i equips, notificacions, publicacions, compartició de fitxers i altres comportaments de tot el servidor.
- Autenticació: registre, inici de sessió amb correu i contrasenya, MFA, AD/LDAP, SAML 2.0, OAuth 2.0, OpenID Connect i accés d'invitats.
- IA: connexions de models i les funcions d’IA integrades (reescriptura, resums, traducció automàtica, text a veu). Vegeu IA.
- Connectors: gestió d’aplicacions i configuració de cada aplicació instal·lada.
- Integracions: webhooks, comandes amb barra, comptes de bot, GIFs, text a veu, CORS.
- Conformitat: retenció de dades, exportació i supervisió de la conformitat, registres d'auditoria i condicions d'ús personalitzades.
- Experimental: funcions que poden canviar.
En aquesta guia, una configuració s’escriu com el seu camí a la Consola del sistema, després la seva etiqueta i, finalment, la seva clau de configuració, per exemple Consola del sistema › Configuració del lloc › Usuaris i equips › Activa ignorar, bloquejar i sol·licituds de missatge (PrivacySettings.EnableUserBlocking).
La majoria de canvis s'apliquen en clicar Desa. Pocs (l'adreça d'escolta, algunes configuracions de base de dades i memòria cau) requereixen un reinici, i la pàgina ho indica.
Gremi o espai de treball
Cada comunitat té un tipus, que estableix alguns dels seus valors per defecte:
- Gremi, per a una comunitat pública o d’aficionats: les trucades estan desactivades als seus canals (la gent parla als canals de veu) i només els seus administradors i els rols que gestionen canals poden arxivar-los.
- Espai de treball, per a una empresa o una organització: les trucades estan activades als seus canals i els administradors d’un canal (qui l’ha creat i qui han nomenat administradors) també l’arxiven.
Consola del sistema › Configuració del lloc › Usuaris i equips › Tipus de les noves comunitats (TeamSettings.DefaultCommunityKind, AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND) defineix el tipus de les comunitats creades a partir d’aleshores: Gremi (l’opció predeterminada) o Espai de treball; la configuració continua emmagatzemant i llegint els valors antics community i workplace. Un predefinit de disseny triat en crear una comunitat en defineix el tipus propi. Els administradors de cada comunitat poden canviar-ne el tipus més tard, a Configuració de l’equip › General. Els gremis nous afegeixen tothom a tots els canals (TeamSettings.AllChannelsMembershipForNewTeams) és el valor predeterminat només per als gremis nous: els espais de treball mai comencen així (vegeu Tothom a tots els canals).
Missatges que s'eliminen en llegir-los
Les persones poden enviar missatges que s'eliminen un temps després que cada lector els obri (vegeu Missatges que s’esborren en llegir-los). La configuració es troba a Consola del sistema › Configuració del lloc › Publicacions, dins de Missatges que s’esborren en llegir-los:
| Paràmetre | Clau i variable | Valor per defecte |
|---|---|---|
| Activa els missatges que s’eliminen en llegir-los | ServiceSettings.EnableBurnOnRead, AM_SERVICESETTINGS_ENABLEBURNONREAD | activat |
| Durada dels missatges que s’eliminen en llegir-los: el temps que dura un missatge un cop obert, quan el remitent no n'ha triat cap durada | ServiceSettings.BurnOnReadDurationSeconds, AM_SERVICESETTINGS_BURNONREADDURATIONSECONDS | 600 (10 minuts) |
| Durada més llarga que poden triar els remitenets: d'1 hora a 7 dies; si se'n tria una de més llarga, es redueix a aquest valor | ServiceSettings.BurnOnReadMaximumDurationSeconds, AM_SERVICESETTINGS_BURNONREADMAXIMUMDURATIONSECONDS | 86400 (1 dia) |
| Durada màxima d’existència dels missatges que s’eliminen en llegir-los: el missatge s'elimina aquest temps després d'haver estat enviat, encara que no l'hagin llegit totes les persones | ServiceSettings.BurnOnReadMaximumTimeToLiveSeconds, AM_SERVICESETTINGS_BURNONREADMAXIMUMTIMETOLIVESECONDS | 604800 (7 dies) |
La durada més llarga es torna a comprovar quan es llegeix un missatge, per tant, si es redueix, també es redueix la durada dels missatges ja enviats.
L'eina de línia d'ordres amctl
amctl gestiona un servidor des de la línia d'ordres: usuaris, comunitats, canals, aplicacions, configuració, tasques i més. Es comunica amb el servidor de dues maneres.
Mode local, al servidor
El mode local permet que amctl es comuniqui amb el servidor a través d'un socket Unix, sense haver d'iniciar sessió. Està activat a la imatge de Docker i amb els paquets .deb i .rpm. En un servidor instal·lat des d'un arxiu, activeu-lo amb ServiceSettings.EnableLocalMode (AM_SERVICESETTINGS_ENABLELOCALMODE=true). El socket és /var/tmp/antimatter_local.socket per defecte (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 a l'amfitrió, té drets complets d'administrador del sistema.Remot, amb un compte
Des de qualsevol màquina, inicia sessió amb un compte d'administrador del sistema (o un token d'accés personal) i, a continuació, executa ordres contra aquest servidor:
amctl auth login https://chat.example.com --name prod --username admin
amctl system status
Ordres de configuració
| Ordre | Què fa |
|---|---|
amctl config get ServiceSettings.SiteURL | Imprimeix una configuració. |
amctl config set TeamSettings.EnableOpenServer false | Canvia una configuració. Les llistes de configuració accepten un valor o diversos. |
amctl config patch settings.json | Fusiona un fitxer JSON de configuracions a la configuració. |
amctl config show | Imprimeix tota la configuració com a JSON. |
amctl config edit | Obre la configuració al teu editor ($EDITOR). |
amctl config reset | Restableix les configuracions als valors per defecte. |
amctl config reload | Recarrega la configuració des del lloc on està emmagatzemada, després d'un canvi fet fora del servidor. |
Les configuracions de les aplicacions es troben sota PluginSettings.Plugins.<app id>, amb claus en minúscules. Per exemple, per establir l'URL del servei i la clau de l'aplicació GIFs des de l'amfitrió Docker:
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
Altres ordres útils: amctl user create, amctl user deactivate, amctl team create, amctl plugin list, amctl plugin enable, amctl system supportpacket i amctl logs. Executa amctl help <command> per veure les opcions de cadascuna.
Registres
El servidor escriu el seu registre en dos llocs, cadascun amb el seu propi nivell (DEBUG, INFO, WARN o ERROR), configurat a Consola del sistema › Entorn › Registre:
| Destinació | Configuració | Valors per defecte |
|---|---|---|
| La consola (sortida estàndard) | Emissió dels registres a la consola (LogSettings.EnableConsole), Nivell de registre de consola (LogSettings.ConsoleLevel), Emissió dels registres de la consola en format JSON (LogSettings.ConsoleJson) | activat, DEBUG, JSON |
Un fitxer, antimatter.log | Sortida dels registres a fitxer (LogSettings.EnableFile), Nivell de registre de fitxer (LogSettings.FileLevel), Directori de registres de fitxer (LogSettings.FileLocation) | activat, INFO, el directori logs/ al costat de bin/ |
Els fitxers de registre es roden a 100 MB i els antics es comprimeixen.
El fitxer compose del lloc desactiva el registre en fitxer (AM_LOGSETTINGS_ENABLEFILE=false), de manera que els registres només es troben a la sortida del contenidor:
docker compose logs -f antimatter
docker compose logs --since 1h antimatter | grep -i error
El nivell de la consola és DEBUG per defecte, que és molt detallat. En un servidor amb molta activitat, establiu AM_LOGSETTINGS_CONSOLELEVEL=INFO. El config.json de l'arxiu de la versió i dels paquets ja l'estableix a INFO. Amb un arxiu de la versió sota systemd, la sortida de la consola va al diari (journalctl -u antimatter) i el fitxer a /opt/antimatter/logs/antimatter.log. Els paquets desactiven l'enregistrament en fitxer, de manera que els seus registres només es troben al diari.
Els fitxers de registre i d’auditoria han de romandre dins de l’arrel de registre: AM_LOG_PATH (l’antic MM_LOG_PATH continua funcionant) si està definit, o bé la carpeta logs. Això s’aplica per defecte: un Directori de registres de fitxer, una destinació de registre avançada o una ruta de registre d’auditoria fora de l’arrel aturen el servidor en iniciar-lo, i es rebutja en desar la configuració. Desactiveu l’aplicació amb AM_FEATUREFLAGS_ENFORCELOGPATHROOT=false. Amb AM_LOG_PATH definit i Directori de registres de fitxer en blanc, els registres van a AM_LOG_PATH.
Quan el registre de fitxers està activat, els administradors del sistema també poden llegir el registre a Consola del sistema › Informes › Registres del servidor: insígnies de nivell amb codis de colors, filtres ràpids per nivell, un seguiment en directe i predefinits de rang de temps de 5 minuts a 24 hores, o bé amb amctl logs.