Az Antimatter telepítése
Antimatter telepítése a kész compose-fájl használatával, a kiadás .deb vagy .rpm csomagjából, vagy a kiadási archívumból. Ezután hozza létre az első adminisztrátori fiókot.
Telepítés Docker Compose használatával
Ez a javasolt módszer. Egy compose-fájl futtatja az Antimattert, a PostgreSQLt, a fájl tárhelyet és a GIF-szolgáltatást. Ehhez Linux szerverre van szükség Docker Engine és Compose plugin (docker compose) telepítéssel, 2 CPU maggal és 4 GB memória vagy többel.
1. Töltse le a compose-fájlt
mkdir antimatter && cd antimatter
curl -fsSLO https://antimatter.chat/compose.yaml
2. Hozza létre a .env fájlt
A compose-fájl a beállításait egy ugyanabban a könyvtárban lévő .env fájlból olvassa be. Hozza létre véletlenszerű titkokkal:
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)
AM_AI_ENCRYPTION_KEY=$(openssl rand -base64 32)
EOF
chmod 600 .env
Állítsa be a SITE_URL értéket arra a címre, amelyet a felhasználók a böngészőbe írnak, például http://192.168.1.20:8065 helyi hálózaton, vagy https://chat.example.com domain névvel. Őrizze meg a .env fájlt: az adatbázis és a tárhely az első indítás óta ezekben a jelszavakban tárolja az adatait, az AI-modellek kapcsolatainak API-kulcsait pedig a AM_AI_ENCRYPTION_KEY titkosítja, és a mentés visszaállításához is ugyanerre a fájlra van szükség.
3. Indítsa el
docker compose up -d
docker compose ps
Az első indítás egy-két percet vesz igénybe: a PostgreSQL létrehozza az adatbázist, egy egyszeri bucket szolgáltatás létrehozza a tárhely-kosarat, egy egyszeri gifs-stickers szolgáltatás importálja a kezdő matricacsomagot, az Antimatter pedig létrehozza a tábláit. Kövesse figyelemmel a docker compose logs -f antimatter paranccsal.
Ha domain nevet és HTTPS-t szeretne használni már az elején, lásd: Domain és HTTPS: a compose-fájllal ez mindössze két további sor a .env fájlban, valamint a https profil.
A .env változók
| Változó | Alapérték | Mire szolgál |
|---|---|---|
SITE_URL | kötelező | Az Antimatter nyilvános címe (ServiceSettings.SiteURL). |
POSTGRES_PASSWORD | kötelező | Az antimatter adatbázis-felhasználó jelszava. |
S3_SECRET_KEY | kötelező | A fájl tárhely titkos kulcsa. |
GIFS_API_KEY | kötelező | A kulcs, amellyel az Antimatter a GIF-szolgáltatást hívja. |
AM_AI_ENCRYPTION_KEY | üres | A kulcs, amely az AI-modellek kapcsolatainak API-kulcsait titkosítja (openssl rand -base64 32). Ha üres, a szerver létrehoz egy kulcsfájlt a data kötetben. Lásd: A titkosítási kulcs. |
GIFS_UPLOAD_KEY | üres | Lehetővé teszi, hogy a felhasználók a kiválasztóból saját GIF-jeiket és matricáikat töltsék fel, és töröljék őket. Ha üres, a feltöltés le van tiltva. |
DOMAIN | üres | A domain neve, a https profilhoz. |
HTTP_PORT | 8065 | Az Antimatter web-szerverének host-portja. |
CALLS_PORT | 8443 | A hívások hang- és videójának UDP- és TCP-portja. |
EDGE_SUBNET | 172.29.71.0/28 | A Caddy és az Antimatter közötti hálózat alhálózata. Módosítsa, ha átfedést mutat valamelyik hálózatával. |
TZ | UTC | A konténerek időzónája. |
ANTIMATTER_IMAGE | ghcr.io/antimatterchat/antimatter-next:latest | Az Antimatter futtatandó képe (lásd alább). |
Mi fut
| Szolgáltatás | Kép | Szerepkör |
|---|---|---|
antimatter | ghcr.io/antimatterchat/antimatter-next | A szerver, a webböngészőben futó alkalmazás és a beépített alkalmazások. Közzéteszi a HTTP_PORT és a CALLS_PORT portokat. Adatmappája a data kötet. |
postgres | postgres:17-alpine | Az adatbázis, a postgres kötetben. |
files | rustfs/rustfs | S3-kompatibilis tárhely a feltöltött fájlokhoz és a telepített alkalmazásokhoz, a files kötetben. |
bucket | amazon/aws-cli | Létrehozza az antimatter tárolót, majd kilép. |
gifs | ghcr.io/antimatterchat/gifs-server | A GIF- és matricaszolgáltatás, a gifs kötetben. |
gifs-stickers | ghcr.io/antimatterchat/gifs-server | Első alkalommal importálja a kezdő matricacsomagot, majd kilép. |
https | caddy:2-alpine | Csak az https profil esetén: HTTPS a 80-as és 443-as porton. |
A PostgreSQL, a tárhely és a GIF-szolgáltatás egy belső hálózaton (private) fut, amelyhez nincs internetes hozzáférés, és ahhoz csak az Antimatter csatlakozik. Egyik sem publikál portot.
Az Antimatter konténer nem tárol semmit a lemezen: beállításai az adatbázisban vannak (erre mutat a AM_CONFIG), fájlokat és alkalmazásokat pedig a tárhelyszolgáltatásban tárol. A konténert bármikor törölheti és újjalkothatja. A data kötetben csak az AI titkosítási kulcsfájl található, amelyet a szerver akkor hoz létre, ha a AM_AI_ENCRYPTION_KEY üres. Minden, amit mentenie kell, a postgres, files, gifs és data kötetekben, valamint a .env fájlban van.
Válasszon egy képet
Két Antimatter-kép érhető el, mindkettő linux/amd64 és linux/arm64 architektúrára, és mindkettő minden repozitórium main ága alapján készül:
| Kép | Beépített alkalmazások | Címkék |
|---|---|---|
ghcr.io/antimatterchat/antimatter | Ügynökök, Hívások, GitHub, GitLab, Jira, Kanban, Metriki és Playbookok. | latest, X.Y.Z a kiadásokhoz, sha-<commit> |
ghcr.io/antimatterchat/antimatter-next | Ugyanezek, plusz Hangcsatornák, Szavazások, E-mail, Naptár, Megjegyzések, Fehértábla, GIF-ek, Teendők és Memek. Minden éjszaka újraépül. | latest, nightly, nightly-<YYYYMMDD>, sha-<commit> |
A weboldal compose-fájla az antimatter-next képet használja, mert a GIF-szolgáltatás és a weboldalon leírt alkalmazások többsége csak ebben a képből érhető el. A kép cseréjéhez állítsa be az ANTIMATTER_IMAGE változót a .env fájlban, majd futtassa a docker compose up -d parancsot.
latest címke alatt a kép tartalma változhat. Éles környezetben rögzítsen egy címkét, például nightly-20261015 vagy sha-<commit>, és csak tudatosan módosítsa frissítéskor. A szerver induláskor frissíti az adatbázist, ezért nem térhet vissza régebbi képre, vagy nem válthat antimatter-next képről antimatter képre, hacsak nem állítja vissza egy korábban készített mentést. Lásd: Mentések és frissítések.A kép belső felépítése
- A szerver a
/antimatterkönyvtárban található, aantimatterésamctlbinárisok pedig a/antimatter/binkönyvtárban (aPATH-on). - A nem jogosultsággal rendelkező
antimatterfelhasználóként (uid 2000) fut egy minimális, distroless alaprendszeren, shell nélkül. - Portok: 8065 (web és API), 8067 (metriki), 8074 (klaszter), 8443 UDP és TCP (hívások).
- A helyi mód (
ServiceSettings.EnableLocalMode) be van kapcsolva, ezért aamctl --locala konténeren belül is működik. Az egészségellenőrzés aamctl system status --localparancsot futtatja. - A beépített alkalmazások a
/antimatter/prepackaged_pluginskönyvtárban találhatók, és az Antimatter alkalmazás-aláíró kulcsával vannak aláírva. - A csomag tartalmaz szövegkivonási eszközöket (
pdftotext,wvText,unrtf,tidy), így a feltöltött dokumentumok tartalma is kereshető.
Egyéb compose-fájlok
Az antimatter-docker tárhelyen egy éles környezetbe való telepítési beállítás található a deploy/compose/ könyvtárban: nginx saját tanúsítvánnyal vagy Let's Encrypt (certbot) használatával, PostgreSQL, a opcionális GIF-szolgáltatás (gifs profil) és nevezett kötetek a szerver konfigurációjához, adataihoz és naplófájljaihoz, mind a README-ben dokumentálva. Alapértelmezetten a stabil képet használja, és a fájlokat helyi köteten tárolja, nem S3-tárhelyen. Használd, ha a Caddy helyett a nginx-t preferálod, vagy már rendelkezned tanúsítványokkal.
Az első rendszergazda létrehozása
Nyisd meg a SITE_URL címet a böngésződben, és hozz létre egy fiókot. Az első, az új szerveren létrehozott fiók a rendszer rendszergazdája lesz, majd a beállítás útmutatást ad az első közösség (az Antimatterben a csapat vagy munkaterület megnevezése) létrehozásához.
Ezt a szerver első elindítása után azonnal végezd el: addig ugyanis bárki, aki előbb eléri a szerveret, annak rendszergazdája lesz. Ha a fiókot a parancssorból szeretnéd létrehozni, mielőtt a szerver kívülről elérhetővé válik:
docker compose exec antimatter amctl --local user create --system-admin --email-verified \
--email admin@example.com --username admin --password 'a-long-password'
docker compose exec antimatter amctl --local team create --name main --display-name "Main"
docker compose exec antimatter amctl --local team users add main admin
Ezután jelentkezz be a SITE_URL címen. Írd a parancs elejére egy szóközt, hogy a jelszó ne kerüljön a parancssor naplódba (ha HISTCONTROL=ignorespace van beállítva), vagy a bejelentkezés után állítsd át a jelszót.
Következő lépések a bejelentkezés után:
- Cégek vagy szervezetek számára állítsa be a Új közösségek típusa mezőt a(z) Munkahely értékre, és a már létrehozott közösségek típusát a beállításokban módosíthatja: Munkahely vagy közösség.
- Döntsd el, ki hozhat létre fiókokat: Bejelentkezés és fiókok.
- Állítsd be az e-mailt, hogy a meghívók és a jelszó-visszaállítás működjenek: E-mail- és push-értesítések.
- Nyisd meg a hívásokhoz szükséges portot a tűzfaladban: Hívások és hang.
- Nézd meg, melyik alkalmazások vannak bekapcsolva: Beépített alkalmazások.
Kiadás letöltése
Docker nélkül a GitHubon található kiadási fájlokból telepítheti az Antimattert: github.com/AntimatterChat/antimatter/releases. Minden kiadásnak van egy verziószáma, például 0.9.0, és a címkéje (tag) ugyanaz a szám, v előtaggal (v0.9.0).
0.9.0-rc.1), a GitHubon Pre-release jelöli. Ezek tesztverziók, amelyeket a végső kiadás előtt tesznek közzé.Minden kiadás a következő fájlokat tartalmazza, amd64 és arm64 szerverekhez:
| Fájl | Leírás |
|---|---|
antimatter_<version>-1_amd64.deb, antimatter_<version>-1_arm64.deb | Csomag Debian, Ubuntu és ezekre épülő disztribúciókhoz. |
antimatter-<version>-1.x86_64.rpm, antimatter-<version>-1.aarch64.rpm | Csomag Fedora, RHEL és RHEL-kompatibilis disztribúciókhoz. |
antimatter-<version>-linux-amd64.tar.gz, antimatter-<version>-linux-arm64.tar.gz | Kiadási archívum, bármely Linux-disztribúcióhoz, kézi telepítéssel. |
SHA256SUMS | A kiadás minden fájljának SHA-256 ellenőrző összege. |
A csomagok és az archívum ugyanazt a programot tartalmazzák: a szervert (antimatter), a parancssori eszközt (amctl), mindkét webböngészőt (az alapértelmezett és a klasszikus felületet), a beépített alkalmazásokat, a e-mail sablonokat és a fordításokat. A csomagok systemd-szolgáltatást és beállítófájlt is tartalmaznak, így mindegyik egy komplett telepítés: csak egy PostgreSQL-adatbázist kell hozzáadni. Nincsenek külön bináris letöltések: a binárisok az archívumban találhatók, az antimatter/bin/ könyvtárban. Ezek statikusak, így bármely Linux-disztribúcióban futnak a megfelelő architektúrával.
A csomagok nevében a előkiadás verziószámának kötőjele tildére (~) változik, hogy a csomagkezelő a előkiadást a végső kiadás elé sorolja: a 0.9.0-rc.1 verzió antimatter_0.9.0~rc.1-1_amd64.deb és antimatter-0.9.0~rc.1-1.x86_64.rpm csomagot eredményez. Az archívum megtartja a kötőjelet.
Az antimatter version parancs a kiadás verziószámát Kiadás száma néven, a hozzá tartozó commitot pedig Kiadás ujjlenyomata néven jeleníti meg. A Verzió sor az Antimatter alapjául szolgáló Mattermost-sor verziószámát mutatja.
A letöltés ellenőrzése
Töltsd le a szükséges fájlt és a SHA256SUMS fájlt ugyanabba a könyvtárba, a kiadási oldalról vagy a curl segítségével, majd ellenőrizd a fájlt:
curl -fLO https://github.com/AntimatterChat/antimatter/releases/download/v<version>/antimatter_<version>-1_amd64.deb
curl -fLO https://github.com/AntimatterChat/antimatter/releases/download/v<version>/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
Minden letöltött fájlnak OK állapottal kell szerepelnie. Bármilyen más eredmény azt jelenti, hogy a fájl sérült vagy hiányos: töltsd le újra, és ne telepítsd. A SHA256SUMS fájl nem aláírt: csak a sérült letöltést észleli, és nem bizonyít többet, mint a GitHubról történő HTTPS letöltés.
A .deb vagy .rpm csomag telepítése
A csomag systemd-szolgáltatásként telepíti az Antimattert, amelynek indításához csak egy adatbázis szükséges. Használd 64 bites Debian, Ubuntu, Fedora vagy RHEL-kompatibilis szerveren systemd-del.
Amit a csomag telepít
| Útvonal | Tartalma |
|---|---|
/opt/antimatter | A program: bin/antimatter, bin/amctl, a webalkalmazások (client/, client-fusion/), a csomagolt alkalmazások (prepackaged_plugins/), a sablonok, a fordítások és a betűtípusok. Minden frissítés lecseréli. |
/etc/antimatter/antimatter.env | A szolgáltatás beállításai AM_ változókként: az adatbázis, a webhely URL-je, a GIF-szolgáltatás. Csak a root felhasználó olvashatja. A frissítések megőrzik. |
/etc/antimatter/config/config.json | A konfigurációs fájl, ahová a szerver a Rendszerkonzolban módosított beállításokat menti. Az első telepítés során készül a /opt/antimatter/defaults/config.json fájlból, és utána soha nem kerül cserére. |
/var/lib/antimatter | Feltöltött fájlok (data/) és telepített alkalmazások (plugins/, client-plugins/). |
/var/log/antimatter | Naplófájlok, ha bekapcsolod a fájlalapú naplózást. Alapértelmezetten kikapcsolva: a naplók a journalba kerülnek. |
/usr/lib/systemd/system/antimatter.service | A szolgáltatás. |
/usr/bin/amctl | Link a /opt/antimatter/bin/amctl fájlra. |
A /opt/antimatter alatt a szerver által írt könyvtárak (config, data, plugins, client/plugins és logs) a /etc/antimatter, /var/lib/antimatter és /var/log/antimatter könyvtárakra mutatnak. Így a /opt/antimatter könyvtárat lecserélő frissítés soha nem érinti az adataidat. A csomag emellett létrehozza az antimatter rendszerfelhasználót, amely a szervert futtatja, és birtokolja ezeket a könyvtárakat.
A csomag függ a ca-certificates csomagtól. Ajánlja a PostgreSQL-t (Debian és Ubuntu alatt postgresql, Fedora és RHEL alatt postgresql-server), a media-types csomagot (a .rpm-hez mailcap) és a gifs-server nevű GIF-szolgáltatást, amelynek saját kiadása van (lásd lent). Az apt és a dnf telepíti az ajánlott csomagokat, ha találja őket. Javasolja a poppler-utils, wv, unrtf és tidy csomagokat (a .rpm-hez nincs wv): ezek kinyerik a feltöltött dokumentumok szövegét, hogy a keresés a belső szavakat is megtalálja. Ha ezt szeretnéd, telepítsd őket manuálisan.
1. Csomagok telepítése
Töltsd le az adott architektúrához tartozó Antimatter-csomagot és a GIF-szolgáltatás csomagját, ellenőrizd őket a fentiek szerint, és telepítsd mindkettőt egyetlen paranccsal, hogy a gifs-server ajánlása teljesüljön (ez nem található a disztribúciók csomagtárában):
# Debian, Ubuntu
sudo apt install ./antimatter_<version>-1_amd64.deb ./gifs-server_*_amd64.deb
# Fedora, RHEL
sudo dnf install ./antimatter-<version>-1.x86_64.rpm ./gifs-server-*.x86_64.rpm
Tartsd meg a ./ jelölést: ez jelzi az apt-nek és a dnf-nek, hogy helyi fájlt kell telepíteni. Ha nem szeretnéd telepíteni a GIF-szolgáltatást, hagyd ki a csomagját. A csomag engedélyezi az antimatter szolgáltatást, de nem indítja el, és kiírja a következő lépéseket.
2. Adatbázis létrehozása
Az Antimatterhez PostgreSQL 15 vagy újabb verzió szükséges, ezen a szerveren vagy egy másikon. Ellenőrizd a disztribúciód PostgreSQL-verzióját a psql --version paranccsal. Ha ez régebbi, telepíts egy újabb verziót a PostgreSQL projekt saját csomagtárából, vagy használj adatbázist egy másik szerveren. A Debian és Ubuntu rendszereken a postgresql csomag indítja el az adatbázist. A Fedora és RHEL rendszereken először hozd létre és indítsd el:
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
Ezután hozz létre egy felhasználót és egy adatbázist az Antimatter számára:
sudo -u postgres psql -c "CREATE USER antimatter WITH PASSWORD 'a-long-password'"
sudo -u postgres psql -c "CREATE DATABASE antimatter OWNER antimatter"
A PostgreSQLnek fogadnia kell a jelszavas kapcsolatot a 127.0.0.1 címről: a pg_hba.conf fájl host sorai, a scram-sha-256 módszerrel.
3. Adatbázis és webcím beállítása
Szerkeszd a /etc/antimatter/antimatter.env fájlt (sudoedit /etc/antimatter/antimatter.env). Töröld a # jelet a használni kívánt sorok elejéről, és állítsd be az adatbázist, valamint a címet, amelyet a felhasználók megnyitnak:
AM_SQLSETTINGS_DRIVERNAME=postgres
AM_SQLSETTINGS_DATASOURCE=postgres://antimatter:a-long-password@localhost:5432/antimatter?sslmode=disable&connect_timeout=10
AM_SERVICESETTINGS_SITEURL=https://chat.example.com
A konfiguráció bármely beállítása felvehető ebbe a fájlba AM_<SECTION>_<SETTING> formában: például a SqlSettings.DataSource beállítás AM_SQLSETTINGS_DATASOURCE néven. Itt beállított értéket nem lehet módosítani a Rendszerkonzolban. Lásd: Konfiguráció. Minden módosítás után indítsd újra a szervert: sudo systemctl restart antimatter.
A szolgáltatás néhány alapértelmezést is beállít, amelyeket a antimatter.env fájl egy sora felülír: a fájlba írásos naplózás ki van kapcsolva (AM_LOGSETTINGS_ENABLEFILE=false, AM_NOTIFICATIONLOGSETTINGS_ENABLEFILE=false), a helyi mód pedig be van kapcsolva (AM_SERVICESETTINGS_ENABLELOCALMODE=true), így a amctl --local paranccsal a szerveren is lehet dolgozni.
4. Indítás
sudo systemctl start antimatter
journalctl -u antimatter -f
sudo -u antimatter amctl --local system status
Az első indításkor a szerver létrehozza a tábláit, majd figyel a 8065-ös porton. Nyissa meg a http://<server>:8065 címet, vagy a saját domainjét, ha már beállított egy fordított proxyt (lásd: Domain és HTTPS), és azonnal hozza létre az első fiókot: ez lesz a rendszeradminisztrátor. Ha a parancssorból szeretné létrehozni, használja a Az első adminisztrátor létrehozása szakaszban szereplő amctl parancsokat, a docker compose exec antimatter amctl --local helyett pedig a sudo -u antimatter amctl --local formában.
5. GIF-ek bekapcsolása
A GIF-ek alkalmazás beépített, és bekapcsolva van, az antimatter.env pedig már a szerveren futó GIF-szolgáltatásra mutat (AM_GIFS_SERVICE_URL=http://127.0.0.1:8080/v2). Ehhez még szükség van a szolgáltatás API-kulcsára. A gifs-server csomag a telepítés során generált egyet:
sudo systemctl start gifs-server-stickers # imports the sticker pack, about a minute and a half
sudo systemctl start gifs-server
sudo grep -v '^#' /etc/gifs-server/api-keys
Helyezze el a kulcsot az antimatter.env fájlban AM_GIFS_API_KEY=<key> formában, és indítsa újra az Antimattert, vagy adja meg a Rendszerkonzol › Bővítmények › GIF-ek menüben az API-kulcs mezőben. Ha a GIF-szolgáltatás egy másik szerveren fut, állítsa be az AM_GIFS_SERVICE_URL értékét a megfelelő címre. Ha azt szeretné, hogy a felhasználók saját GIF-eket és matricákat is hozzáadhassanak, lásd: GIF-ek.
A szolgáltatás
- A(z)
antimatterfelhasználóként fut, a/opt/antimatterkönyvtárban, és az/etc/antimatter/antimatter.envfájlt olvassa. A systemd újraindítja a szervert, ha az kilép, és legfeljebb egy órát ad neki az induláshoz, mivel az új verzió adatbázis-migrációi időigényesek lehetnek. - A naplóit a journalban találja:
journalctl -u antimatter. - A szolgáltatás megerősített: a szerver számára a
/usrés a/etckönyvtár csak olvasható, kivéve a/etc/antimatter/configkönyvtárat, és nem látja a/home,/rootvagy/run/userkönyvtárakat. Ha áthelyezi a fájl-tárhelyet (FileSettings.Directory), válasszon egy olyan könyvtárat, amely nem esik ezek közé, és aantimatterfelhasználóé. - A frissítések felülírják a szolgáltatás fájlját. Ha módosítani szeretné, használja a
sudo systemctl edit antimatterparancsot, amely a módosításokat egy külön fájlban tárolja.
Csomag frissítése
- Készítsen mentést (lásd: Mentések és frissítések).
- Töltse le az új csomagot és a
SHA256SUMSfájlt, majd ellenőrizze őket. - Állítsa le a szervert, telepítse az új csomagot a régi helyére, majd indítsa újra:
sudo systemctl stop antimatter sudo apt install ./antimatter_<new version>-1_amd64.deb # or: sudo dnf install ./antimatter-<new version>-1.x86_64.rpm sudo systemctl start antimatter journalctl -u antimatter -f
A csomag nem indítja újra automatikusan a szervert. Frissítés után kiírja: Antimatter was upgraded; restart it to run the new version: sudo systemctl restart antimatter: ha nem állítottad le először a szervert, azonnal indítsd újra. A frissítés lecseréli az /opt/antimatter könyvtárat és a szolgáltatás fájlját, de megtartja az antimatter.env, a config.json fájlt, a /var/lib/antimatter könyvtárat és a naplókat. Induláskor a szerver frissíti az adatbázist, és telepíti a csatolt alkalmazások újabb verzióit.
Ha az új verzió módosítja az alapértelmezett antimatter.env fájlt, az apt megkérdezi, hogy megtartod-e a saját verziódat: tartsd meg. A dnf megtartja a tiédet, és a /etc/antimatter/antimatter.env.rpmnew néven menti el az újat. A frissítések csak előre irányulnak: ne telepíts régebb verziót újabb verzió fölé.
Csomag eltávolítása
A sudo apt remove antimatter vagy sudo dnf remove antimatter parancs leállítja és letiltja a szolgáltatást, valamint eltávolítja a programot. A adatokat (/var/lib/antimatter), a konfigurációt (/etc/antimatter), az adatbázist és az antimatter felhasználót megtartja: a teljes Antimatter-eltávolításhoz ezeket is töröld le kézzel.
Alkalmazások a csomagokban és az archívumban
A csomagok és az archívum a következő alkalmazások legújabb aláírt kiadásait tartalmazzák a prepackaged_plugins/ könyvtárban: Agents, Calls, GIFs, Memes, Notes, Polls, Todo, Voice Channels és Whiteboard. Ha egy alkalmazásnak még nem jelent meg kiadása a szerver kiadásának elkészítésekor, az nem kerül bele: a ls /opt/antimatter/prepackaged_plugins parancs megmutatja, mit tartalmaz a te kiadásod. A Memes és a Todo be van csomagolva, de nem kapcsolva be: a Csatolt alkalmazások rész elmagyarázza, hogyan telepítheted és engedélyezheted őket.
A Docker-képek többi alkalmazása nem része a csomagoknak vagy az archívumnak: Kanban, Playbooks, Mail, Calendar, GitHub, GitLab, Jira és Metrics. Mindegyiket telepítsd a saját kiadásaiból:
| Alkalmazás | Kiadások | Alkalmazás azonosítója |
|---|---|---|
| Kanban | antimatter-plugin-boards | focalboard |
| Playbookok | antimatter-plugin-playbooks | playbooks |
| antimatter-plugin-mail | com.antimatterchat.mail | |
| Naptár | antimatter-plugin-calendar | com.antimatterchat.calendar |
| GitHub | antimatter-plugin-github | github |
| GitLab | antimatter-plugin-gitlab | com.github.manland.mattermost-plugin-gitlab |
| Jira | antimatter-plugin-jira | jira |
| Metriki | Antimatter-plugin-metrics | com.mattermost.mattermost-plugin-metrics |
Minden alkalmazásfrissítés tartalmazza az alkalmazás csomagját (egy .tar.gz fájlt), annak aláírását (ugyanaz a név .sig kiterjesztéssel) és egy SHA256SUMS fájlt. Egy alkalmazás telepítéséhez engedélyezze a feltöltést, majd adja hozzá a csomagot az amctl paranccsal:
# 1. In /etc/antimatter/antimatter.env, add this line, then restart Antimatter
AM_PLUGINSETTINGS_ENABLEUPLOADS=true
sudo systemctl restart antimatter
# 2. Download the bundle where the antimatter user can read it, and install it
cd /tmp
curl -fLO https://github.com/AntimatterChat/antimatter-plugin-boards/releases/download/v<version>/<bundle>.tar.gz
sudo -u antimatter amctl --local plugin add <bundle>.tar.gz
sudo -u antimatter amctl --local plugin enable focalboard
Egy ilyen módon telepített alkalmazás frissítéséhez adja hozzá az új csomagot a plugin add --force paranccsal: a csomagfrissítések csak a csatolt alkalmazásokat frissítik. Ezt követően újra törölheti az AM_PLUGINSETTINGS_ENABLEUPLOADS sort. Az alkalmazások telepítésének egyéb módjairól lásd: Egyéb alkalmazások telepítése.
Alkalmazás-aláírások
Az alkalmazáscsomagokat az Antimatter alkalmazás-aláíró kulcsa aláírja: minden .tar.gz.sig fájl a hozzá tartozó csomag leválasztott GPG-aláírása. A szerver telepítés előtt ellenőrzi ezeket az aláírásokat. Ha Ön szeretné ellenőrizni a csomagot:
curl -fsSLO https://raw.githubusercontent.com/AntimatterChat/antimatter-docker/main/keys/antimatter-plugin-signing.asc
gpg --import antimatter-plugin-signing.asc
gpg --verify <bundle>.tar.gz.sig <bundle>.tar.gz
A gpg-nek jó aláírást kell jelentenie az Antimatter Plugin Signing nevű kulcsról, a 06C8 1032 4677 0F08 BBA7 78B9 E69B 05C3 92A6 9A45 ujjlenyomattal. Emellett figyelmeztet, hogy a kulcs nincs megbízható aláírással hitelesítve: ez normális egy olyan kulcs esetén, amelyet Ön nem aláírt. A .sig fájlok nélküli alkalmazásfrissítés aláíratlan, és a frissítési jegyzetek is ezt tükrözik.
Telepítés kiadási archívumból
Az antimatter-<version>-linux-<arch>.tar.gz (például antimatter-0.9.0-linux-amd64.tar.gz) archívum olyan disztribúcióknak vagy saját elrendezéseknek illik, amelyek nem rendelkeznek .deb vagy .rpm csomagokkal. Egyetlen antimatter/ könyvtárat tartalmaz, benne a bin/antimatter, a bin/amctl, a config/config.json fájlokat, a webalkalmazásokat (client/ és client-fusion/), a csatolt alkalmazásokat (prepackaged_plugins/, lásd fent), valamint a e-mail-sablonokat és a fordításokat.
1. PostgreSQL előkészítése
Az Antimatter kizárólag a PostgreSQL 15-ös vagy újabb verzióját támogatja (a régebbi verziók elindulnak, de hibát írnak a naplóba). Hozz létre egy felhasználót és egy adatbázist:
sudo -u postgres psql <<'EOF'
CREATE USER antimatter WITH PASSWORD 'a-long-password';
CREATE DATABASE antimatter OWNER antimatter;
EOF
2. Kibontás és konfigurálás
sudo tar -xzf antimatter-<version>-linux-amd64.tar.gz -C /opt
sudo useradd --system --user-group antimatter
sudo mkdir -p /opt/antimatter/data
sudo chown -R antimatter:antimatter /opt/antimatter
Állítsd be, hogy a szerver melyik adatbázist használja, vagy a /opt/antimatter/config/config.json (SqlSettings.DataSource) segítségével, vagy környezeti változókkal, és add meg a webhely URL-jét:
AM_SQLSETTINGS_DRIVERNAME=postgres
AM_SQLSETTINGS_DATASOURCE=postgres://antimatter:a-long-password@localhost:5432/antimatter?sslmode=disable&connect_timeout=10
AM_SERVICESETTINGS_SITEURL=https://chat.example.com
Az archívum config.json fájlja egy teljes alapértelmezett konfiguráció: a Rendszerkonzolban végzett módosítások ide mentődnek vissza. Ha az adatbázisban szeretnéd tárolni a konfigurációt, lásd: Konfiguráció.
3. Futtatás szolgáltatásként
Egy systemd egység, a /etc/systemd/system/antimatter.service fájlban:
[Unit]
Description=Antimatter
After=network.target postgresql.service
[Service]
Type=notify
User=antimatter
Group=antimatter
WorkingDirectory=/opt/antimatter
ExecStart=/opt/antimatter/bin/antimatter
EnvironmentFile=-/etc/antimatter.env
TimeoutStartSec=3600
Restart=always
RestartSec=10
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
A AM_ változókat tedd a /etc/antimatter.env fájlba (csak root olvashassa), majd:
sudo systemctl daemon-reload
sudo systemctl enable --now antimatter
journalctl -u antimatter -f
A szerver a 8065-ös porton figyel. Nyisd meg a http://<server>:8065 címet, vagy a saját domainedet, miután beállítottál egy reverse proxyt (lásd: Domain és HTTPS), és hozz létre egy első fiókot: ez lesz a rendszergazda.
A bin/amctl a futó szervert kezeli parancssorból. A szerveren magán, helyi módban működik bejelentkezés nélkül: állítsd be, hogy AM_SERVICESETTINGS_ENABLELOCALMODE=true, majd futtasd: sudo -u antimatter /opt/antimatter/bin/amctl --local system status.
GIF-ekhez telepítse a GIF-szolgáltatást (lásd alább), és állítsa be az AM_GIFS_SERVICE_URL és AM_GIFS_API_KEY értékeket a csomagok 5. lépése szerint.
A GIF-szolgáltatás és a push proxy csomagok
A GIF-szolgáltatásnak és a push proxy-nek saját kiadásai vannak, amelyek a szerveréivel azonos szabályok szerint készülnek: .tar.gz archívum, amd64 és arm64 architektúrákhoz .deb és .rpm csomag, valamint SHA256SUMS fájl. A kötőjeles verziók előzetes kiadások. A letöltéseket a szervernél is használt sha256sum --check --ignore-missing SHA256SUMS paranccsal ellenőrizheted.
A GIF-szolgáltatás (gifs-server)
Kiadások: github.com/AntimatterChat/gifs-server/releases. Az archívum neve gifs-server-<version>-linux-<arch>.tar.gz; a csomagok neve gifs-server.
sudo apt install ./gifs-server_*_amd64.deb # Debian, Ubuntu
sudo dnf install ./gifs-server-*.x86_64.rpm # Fedora, RHEL
A csomag telepíti:
- a
/usr/bin/gifs-serverfájlt, valamint agifs-serverszolgáltatást, amely agifs-serverfelhasználóként fut, és a katalógusát a/var/lib/gifs-serverkönyvtárban tárolja; - a
gifs-server-stickersszolgáltatást, amely indításakor importálja vagy frissíti a/usr/share/gifs-server/stickerskönyvtárban lévő matricacsomagot, majd leáll; - a beállításait, a
/etc/gifs-server/gifs-server.envfájlt (aAM_GIFS_változókat, amelyeket a frissítések során megőriz) és a/etc/gifs-server/api-keysfájlt, amelyben soronként egy API-kulcs szerepel, és az első telepítésnél véletlenszerű kulcs generálódik.
A 127.0.0.1:8080 címen figyel, így csak a szerveren futó Antimatter érheti el. Ha az Antimatter máshol fut, állítsd be a AM_GIFS_LISTEN=:8080 értéket a gifs-server.env fájlban, és korlátozd a port hozzáférését a tűzfaladdal. A fájl a többi beállítást is tartalmazza: AM_GIFS_UPLOAD_KEYS (azok a kulcsok, amelyek GIF-ek és matricák hozzáadására, valamint az általuk hozzáadott elemek törlésére jogosultak), AM_GIFS_PUBLIC_URL, AM_GIFS_TRUST_PROXY és AM_GIFS_LOG_LEVEL. A csomag ajánlja a ffmpeg, gifsicle, librsvg2-bin (librsvg2-tools a .rpm esetén) és egy DejaVu betűtípust: a szolgáltatás ezekkel készíti el a GIF, videó és matrica formátumokat fájlimportálás vagy -fogadás esetén, de ezek nélkül is működik.
A szerverhez hasonlóan a szolgáltatás telepítéskor engedélyezve, de nem indítva van. Indítsd el a csomagok 5. lépésében bemutatott módon. Frissítés után indítsd újra: sudo systemctl restart gifs-server. A csomag eltávolításakor a katalógus megmarad a /var/lib/gifs-server könyvtárban.
A push proxy
Kiadások: github.com/AntimatterChat/push-proxy/releases. Az archívum neve antimatter-push-proxy-<version>-linux-<arch>.tar.gz, a csomagok neve pedig antimatter-push-proxy. A csomag telepíti a /usr/bin/antimatter-push-proxy fájlt és az antimatter-push-proxy szolgáltatást, amely az antimatter-push-proxy felhasználóként fut, és a /etc/antimatter-push-proxy/antimatter-push-proxy.json fájlt olvassa (ezt a frissítések során megőrizzük). Az Apple- és a Firebase-hitelesítő adatok a /etc/antimatter-push-proxy/certs könyvtárba kerülnek: a Push értesítések részben olvashatod el, honnan származnak.
sudo apt install ./antimatter-push-proxy_*_amd64.deb # or: sudo dnf install ./antimatter-push-proxy-*.x86_64.rpm
sudo install -o root -g antimatter-push-proxy -m 0640 \
AuthKey_ABCDE12345.p8 firebase-service-account.json /etc/antimatter-push-proxy/certs/
sudoedit /etc/antimatter-push-proxy/antimatter-push-proxy.json
sudo systemctl start antimatter-push-proxy
journalctl -u antimatter-push-proxy -f
A beállításfájlban az útvonalak a /etc/antimatter-push-proxy könyvtárra vonatkoznak: például "AppleAuthKeyFile": "./certs/AuthKey_ABCDE12345.p8" és "ServiceFileLocation": "./certs/firebase-service-account.json". Ezután állítsd be az Antimatterben a Push értesítés szerver mezőt a http://<proxy host>:8066 értékre. Frissítés után indítsd újra: sudo systemctl restart antimatter-push-proxy.
Egyéb szerverparancsok
A szerver futtatása (antimatter, vagy antimatter server) mellett a bináris néhány karbantartási parancsot is tartalmaz. Ezek ugyanazt a konfigurációt olvassák, mint a szerver.
| Parancs | Mire szolgál |
|---|---|
antimatter version | Kiírja a verziót, a build számot, a build dátumát és a build hash-et. |
antimatter db ping | Ellenőrzi, hogy az adatbázis elérhető-e. |
antimatter db init | Létrehozza a konfigurációt az adatbázisban (ahol az AM_CONFIG egy postgres:// URL-re van beállítva). |
antimatter db migrate | Alkalmazza az adatbázis-migrációkat a szerver indítása nélkül. |
antimatter db version | Kiírja az adatbázisban utoljára alkalmazott migrációt. |
antimatter import bulk, antimatter export bulk | Importálja vagy exportálja az adatokat tömeges formátumban (lásd: Biztonsági mentések és frissítések). |