Konfiguráció
Hol tárolja az Antimatter a beállításait, a három mód, amellyel módosíthatók (Rendszerkonzol, környezeti változók, amctl), és hol találhatók a naplók.
A beállítások tárolási helye
Minden szerverbeállításnak van egy neve, amely egy szakaszból és egy kulcsból áll, például ServiceSettings.SiteURL vagy EmailSettings.SMTPServer. Együtt egyetlen konfigurációt alkotnak, amely két helyen tárolható:
- Az adatbázisban. A webhely compose fájlja az
AM_CONFIGértékét a PostgreSQL-kapcsolat URL-jére állítja, így a konfiguráció egy sor az adatbázisban, és a konténer nem tárol semmit a lemezen. Több szerver, amelyik egy adatbázist oszt meg, a konfigurációját is megosztja. - Egy fájlban. Ha nincs megadva a
AM_CONFIG, a szerver abin/könyvtár melletticonfig/config.jsonfájlt olvassa be (a Docker-képen ez:/antimatter/config/config.json). Így működik a kiadási archívum és az antimatter-docker termelési compose-fájljai is, valamint a .deb és .rpm csomagok is, amelyek fájlja:/etc/antimatter/config/config.json. Ez a fájl csak a szerver felhasználója számára legyen olvasható, mert jelszavakat és kulcsokat tartalmaz.
Az AM_CONFIG (vagy az antimatter parancs --config kapcsolója) fájlpályát vagy postgres:// URL-t is elfogad. A kihagyott beállítások alapértéküket veszik fel.
Ha egy meglévő fájlból származó konfigurációt szeretne áthelyezni az adatbázisba, futtassa ezt a szerveren, majd indítsa el a szerveret úgy, hogy az AM_CONFIG ugyanerre az URL-re van beállítva:
amctl --local config migrate /opt/antimatter/config/config.json \
"postgres://antimatter:PASSWORD@localhost:5432/antimatter?sslmode=disable&connect_timeout=10"
Környezeti változók
Bármely beállítás megadható környezeti változóként is. A változók felülbírálnak a tárolt konfigurációt, ezért jól illenek ahhoz, ami a telepítéshez tartozik: az adatbázis, a webhely URL-je, a fájl-tároló, a portok.
Elnevezési szabály
Írja be az AM_ előtagot, majd a szakaszt, végül a kulcsot, nagybetűkkel és alulvonásokkal elválasztva. A szakasz- vagy kulcsnév belső szavai nem különülnek el:
| Beállítás | Változó |
|---|---|
ServiceSettings.SiteURL | AM_SERVICESETTINGS_SITEURL |
SqlSettings.DataSource | AM_SQLSETTINGS_DATASOURCE |
EmailSettings.SMTPServer | AM_EMAILSETTINGS_SMTPSERVER |
PrivacySettings.EnableUserBlocking | AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING |
- Az igaz és hamis beállítások
truevagyfalseértéket kapnak; a számok sima számok. - A listaként kezelt beállítások értékei szóközzel vannak elválasztva, például
AM_SERVICESETTINGS_TRUSTEDPROXYIPHEADER="X-Forwarded-For X-Real-IP". - Az objektumként kezelt beállítások JSON-t kapnak. Az egyetlen ilyen változó az alkalmazásokhoz az
AM_PLUGINSETTINGS_PLUGINS, amely egyszerre felülírja minden alkalmazás beállításait: az alkalmazásbeállításokat a Rendszerkonzolban vagy azamctlsegítségével állítsa be (lásd alább). - Régebbi Mattermost telepítések a
MM_előtagot használják, példáulMM_SQLSETTINGS_DATASOURCE. Ez továbbra is működik mint örökölt alias. Ha mindkettő be van állítva, aAM_változóérvényes.
A változó által megadott beállítás a Rendszerkonzolban zárolva van, a következő megjegyzéssel: „Ezt a beállítást egy környezeti változó állította be. Nem módosítható a Rendszerkonzolon keresztül.” Nem írja fel a mentett konfigurációba: ha eltávolítja a változót, a mentett érték ismét érvényes lesz.
Docker Compose használatával
Adja hozzá a változókat a antimatter szolgáltatás environment: része alatt, vagy a compose.yaml mellé helyezett compose.override.yaml fájlban (a Compose automatikusan beolvassa, és a letöltött fájl frissítései során is megmarad):
services:
antimatter:
environment:
AM_EMAILSETTINGS_SMTPSERVER: smtp.example.com
AM_EMAILSETTINGS_SMTPPORT: "587"
AM_LOGSETTINGS_CONSOLELEVEL: INFO
A változások alkalmazásához futtassa a docker compose up -d parancsot, amely újragenerálja a konténert.
Az alkalmazások által olvasott változók
Néhány változó nem beállítás, és nincs hozzá mező a Rendszerkonzolban: a AM_CONFIG (ahol a konfiguráció található), valamint az AM_AI_ENCRYPTION_KEY és az AM_AI_ENCRYPTION_PREVIOUS_KEYS, amelyek a modellkapcsolatok API-kulcsait titkosító kulcsok (lásd: AI).
Néhány alkalmazás saját változókat olvas be, amelyeket a antimatter szolgáltatáson kell beállítani: a Calls alkalmazás a AM_CALLS_* változókat (lásd Hívások és hang), a GIFs alkalmazás pedig az AM_GIFS_SERVICE_URL, AM_GIFS_API_KEY és AM_GIFS_UPLOAD_KEY változókat (lásd Beépített alkalmazások).
A Rendszerkonzol
A Rendszerkonzol a webalkalmazás rendszergazdai felülete. A megnyitáshoz kattints a profilképedre az alkalmazás felső sávjában, és válaszd a Rendszerkonzol lehetőséget, vagy lépj be a https://chat.example.com/admin_console címen. Az oldalsávon található Beállítások keresése mezővel minden oldalon keresni lehet.

A szakaszai:
- Jelentések: statisztikák és a szerver naplófájljai.
- Felhasználókezelés: felhasználók, csoportok, közösségek (Csapatok néven szerepelnek), csatornák, jogosultságok és delegált rendszergazdai feladatok.
- Rendszerattribútumok: egyedi profilattribútumok és attribútum-alapú hozzáférés.
- Környezet: webkiszolgáló, adatbázis, fájltárhely, képproxy, SMTP, push-értesítések, sebességkorlátozás, naplózás, munkamenet-hossz, teljesítménymérés.
- Oldal beállítások: márkázás, felhasználók és csapatok, értesítések, bejegyzések, fájlmegosztás és egyéb szerver-szintű viselkedések.
- Hitelesítés: regisztráció, e-mail- és jelszó-alapú bejelentkezés, MFA, AD/LDAP, SAML 2.0, OAuth 2.0, OpenID Connect és vendéghozzáférés.
- AI: modellkapcsolatok és a beépített AI-funkciók (újraírás, összefoglalók, automatikus fordítás, szövegből beszéd). Lásd: AI.
- Bővítmények: alkalmazáskezelés és minden telepített alkalmazás beállításai.
- Integrációk: webhookok, perjeles parancsok, bot-fiókok, GIF-ek, szövegből beszéd, CORS.
- Megfelelőség: adatmegőrzés, megfelelőségi exportálás és figyelés, ellenőrzési naplózás, egyedi szolgáltatási feltételek.
- Kísérleti: funkciók, amelyek változhatnak.
Ez az útmutató a beállításokat a Rendszerkonzolban lévő útvonalukkal, majd a feliratukkal, végül a konfigurációs kulcsukkal jelöli. Például: Rendszerkonzol › Oldal beállítások › Felhasználók és csapatok › Ignorálás, blokkolás és üzenekérés engedélyezése (PrivacySettings.EnableUserBlocking).
A legtöbb változtatás azonnal érvényesül, ha a Mentés gombot megnyomja. Néhány (a figyelő cím, egyes adatbázis- és gyorsítótár-beállítások) újraindítást igényel, erre a oldal figyelmeztet.
Munkahely vagy közösség
Minden közösségnek van egy típusa, amely meghatároja néhány alapértelmezett beállítást:
- Közösség, nyilvános vagy hobbi közösségekhez: a csatornákban a hívások kikapcsolva vannak (a beszélgetés a hangcsatornákban történik), és csak az adminisztrátorok, valamint a csatornákat kezelő szerepkörök archíválhatnak csatornákat.
- Munkahely, vállalatok vagy szervezetekhez: a csatornákban a hívások bekapcsolva vannak, és a csatorna adminisztrátorai (aki létrehozta, és akiket ők neveztek ki adminisztrátornak) ők is archíválhatják.
Rendszerkonzol › Oldal beállítások › Felhasználók és csapatok › Új közösségek típusa (TeamSettings.DefaultCommunityKind, AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND) meghatározza, milyen típusú közösségek jönnek létre: community (alapérték) vagy workplace. A közösség létrehozásakor választott elrendezési sablon saját típusát állítja be. A közösségek adminisztrátorai később is módosíthatják a típust a Csapatbeállítások › Csatornák › Közösség típusa menüben.
Az amctl parancssori eszköz
Az amctl parancssorból kezeli a szervert: felhasználók, közösségek, csatornák, alkalmazások, konfiguráció, feladatok és még sok más. Kétféleképpen kommunikál a szerverrel.
Helyi mód, a szerveren
A helyi mód lehetővé teszi, hogy az amctl Unix-szoketeken keresztül kommunikáljon a szerverrel bejelentkezés nélkül. Ez a Docker-képen, valamint a .deb és .rpm csomagokon alapuló telepítéseken alapértelmezettként engedélyezett. Archívumból telepített szerveren a ServiceSettings.EnableLocalMode (AM_SERVICESETTINGS_ENABLELOCALMODE=true) beállítással kapcsolható be. A szoket alapértelmezett helye: /var/tmp/antimatter_local.socket (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 parancsot a gazdagépen, teljes rendszeradminisztrátori jogosultsággal rendelkezik.Távoli, fiókkal
Bármely gépről jelentkezzen be egy rendszeradminisztrátori fiókkal (vagy személyes hozzáférési tokenel), majd futtassa a parancsokat a szerverrel szemben:
amctl auth login https://chat.example.com --name prod --username admin
amctl system status
Konfigurációs parancsok
| Parancs | Mire szolgál |
|---|---|
amctl config get ServiceSettings.SiteURL | Egy beállítás kiírása. |
amctl config set TeamSettings.EnableOpenServer false | Egy beállítás módosítása. A listabeállítások több értéket is vehetnek fel. |
amctl config patch settings.json | Egy JSON fájlban tárolt beállítások összevonása a konfigurációba. |
amctl config show | A teljes konfiguráció kiírása JSON formátumban. |
amctl config edit | A konfiguráció megnyitása a szerkesztőben ($EDITOR). |
amctl config reset | A beállítások visszaállítása alapértelmezett értékeikre. |
amctl config reload | A konfiguráció újratöltése a tárolási helyéről, a szerveren kívül történt változtatás után. |
Az alkalmazásbeállítások a PluginSettings.Plugins.<app id> alatt találhatók, kisbetűs kulcsokkal. Például, hogy a GIFs alkalmazás szerver URL-jét és kulcsát a Docker gazdagépen állítsa be:
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
Egyéb hasznos parancsok: amctl user create, amctl user deactivate, amctl team create, amctl plugin list, amctl plugin enable, amctl system supportpacket és amctl logs. Futtassa az amctl help <command> parancsot az egyes parancsok opcióiért.
Naplók
A szerver naplóját két helyre írja, mindegyik saját szinttel (DEBUG, INFO, WARN vagy ERROR), amelyeket a Rendszerkonzol › Környezet › Naplózás menüben állíthatunk be:
| Cél | Beállítások | Alapértékek |
|---|---|---|
| A konzol (szabványos kimenet) | Kimenet naplózása konzolra (LogSettings.EnableConsole), Konzol naplózási szint (LogSettings.ConsoleLevel), Konzol kimenet naplózása JSON formátumban (LogSettings.ConsoleJson) | bekapcsolva, DEBUG, JSON |
Fájl, antimatter.log | Napló mentése fájlba (LogSettings.EnableFile), Fájl naplózási szint (LogSettings.FileLevel), Fájl alapú naplózás könyvtára (LogSettings.FileLocation) | bekapcsolva, INFO, a logs/ könyvtár a bin/ mellett |
A naplófájlokat 100 MB-os méretnél forgatjuk, a régieket pedig tömörítjük.
A webhely compose fájlja kikapcsolja a fájlnaplózást (AM_LOGSETTINGS_ENABLEFILE=false), így a naplók csak a konténer kimenetében jelennek meg:
docker compose logs -f antimatter
docker compose logs --since 1h antimatter | grep -i error
A konzol naplózási szint alapértelmezett értéke DEBUG, ami részletes. Foglalt szerveren állítsa be AM_LOGSETTINGS_CONSOLELEVEL=INFO értékre. A kiadási archívum és a csomagok config.json fájlja már INFO értékre állítja. systemd alatt futó kiadási archívum esetén a konzol kimenet a naplóba kerül (journalctl -u antimatter), a fájlnapló pedig a /opt/antimatter/logs/antimatter.log útvonalra. A csomagok kikapcsolják a fájlnaplózást, így naplóik csak a journalban érhetők el.
Ha a fájlnaplózás be van kapcsolva, a rendszergazdák a legfrissebb naplósort a Rendszerkonzol › Jelentések › Szervernaplók menüben, vagy az amctl logs paranccsal is elolvashatják.