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ékMire szolgál
SITE_URLkötelezőAz Antimatter nyilvános címe (ServiceSettings.SiteURL).
POSTGRES_PASSWORDkötelezőAz antimatter adatbázis-felhasználó jelszava.
S3_SECRET_KEYkötelezőA fájl tárhely titkos kulcsa.
GIFS_API_KEYkötelezőA kulcs, amellyel az Antimatter a GIF-szolgáltatást hívja.
AM_AI_ENCRYPTION_KEYüresA 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üresLehető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üresA domain neve, a https profilhoz.
HTTP_PORT8065Az Antimatter web-szerverének host-portja.
CALLS_PORT8443A hívások hang- és videójának UDP- és TCP-portja.
EDGE_SUBNET172.29.71.0/28A 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.
TZUTCA konténerek időzónája.
ANTIMATTER_IMAGEghcr.io/antimatterchat/antimatter-next:latestAz Antimatter futtatandó képe (lásd alább).

Mi fut

SzolgáltatásKépSzerepkör
antimatterghcr.io/antimatterchat/antimatter-nextA 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.
postgrespostgres:17-alpineAz adatbázis, a postgres kötetben.
filesrustfs/rustfsS3-kompatibilis tárhely a feltöltött fájlokhoz és a telepített alkalmazásokhoz, a files kötetben.
bucketamazon/aws-cliLétrehozza az antimatter tárolót, majd kilép.
gifsghcr.io/antimatterchat/gifs-serverA GIF- és matricaszolgáltatás, a gifs kötetben.
gifs-stickersghcr.io/antimatterchat/gifs-serverElső alkalommal importálja a kezdő matricacsomagot, majd kilép.
httpscaddy:2-alpineCsak 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épBeépített alkalmazásokCí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-nextUgyanezek, 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.

A 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 /antimatter könyvtárban található, a antimatter és amctl binárisok pedig a /antimatter/bin könyvtárban (a PATH-on).
  • A nem jogosultsággal rendelkező antimatter felhaszná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 a amctl --local a konténeren belül is működik. Az egészségellenőrzés a amctl system status --local parancsot futtatja.
  • A beépített alkalmazások a /antimatter/prepackaged_plugins kö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:

  1. 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.
  2. Döntsd el, ki hozhat létre fiókokat: Bejelentkezés és fiókok.
  3. Á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.
  4. Nyisd meg a hívásokhoz szükséges portot a tűzfaladban: Hívások és hang.
  5. 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).

Az Antimatter béta verzióban van: a kiadásai a 0.9.0 sorozatban jelennek meg. A kiadások közül azokat, amelyek verziószámában a kötőjel után utótag áll (például 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ájlLeírás
antimatter_<version>-1_amd64.deb, antimatter_<version>-1_arm64.debCsomag Debian, Ubuntu és ezekre épülő disztribúciókhoz.
antimatter-<version>-1.x86_64.rpm, antimatter-<version>-1.aarch64.rpmCsomag Fedora, RHEL és RHEL-kompatibilis disztribúciókhoz.
antimatter-<version>-linux-amd64.tar.gz, antimatter-<version>-linux-arm64.tar.gzKiadási archívum, bármely Linux-disztribúcióhoz, kézi telepítéssel.
SHA256SUMSA 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

ÚtvonalTartalma
/opt/antimatterA 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.envA 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.jsonA 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/antimatterFeltöltött fájlok (data/) és telepített alkalmazások (plugins/, client-plugins/).
/var/log/antimatterNapló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.serviceA szolgáltatás.
/usr/bin/amctlLink 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) antimatter felhasználóként fut, a /opt/antimatter könyvtárban, és az /etc/antimatter/antimatter.env fá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 /etc könyvtár csak olvasható, kivéve a /etc/antimatter/config könyvtárat, és nem látja a /home, /root vagy /run/user kö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 a antimatter felhaszná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 antimatter parancsot, amely a módosításokat egy külön fájlban tárolja.

Csomag frissítése

  1. Készítsen mentést (lásd: Mentések és frissítések).
  2. Töltse le az új csomagot és a SHA256SUMS fájlt, majd ellenőrizze őket.
  3. Á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ásKiadásokAlkalmazás azonosítója
Kanbanantimatter-plugin-boardsfocalboard
Playbookokantimatter-plugin-playbooksplaybooks
E-mailantimatter-plugin-mailcom.antimatterchat.mail
Naptárantimatter-plugin-calendarcom.antimatterchat.calendar
GitHubantimatter-plugin-githubgithub
GitLabantimatter-plugin-gitlabcom.github.manland.mattermost-plugin-gitlab
Jiraantimatter-plugin-jirajira
MetrikiAntimatter-plugin-metricscom.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-server fájlt, valamint a gifs-server szolgáltatást, amely a gifs-server felhasználóként fut, és a katalógusát a /var/lib/gifs-server könyvtárban tárolja;
  • a gifs-server-stickers szolgáltatást, amely indításakor importálja vagy frissíti a /usr/share/gifs-server/stickers könyvtárban lévő matricacsomagot, majd leáll;
  • a beállításait, a /etc/gifs-server/gifs-server.env fájlt (a AM_GIFS_ változókat, amelyeket a frissítések során megőriz) és a /etc/gifs-server/api-keys fá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.

A push proxy minden címen figyel a 8066-os porton, és nem ellenőrzi, ki hívja meg. Tartsd a portot privát hálózaton, vagy helyezd egy olyan reverse proxy mögé, amely korlátozza az hozzáférést.

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.

ParancsMire szolgál
antimatter versionKiírja a verziót, a build számot, a build dátumát és a build hash-et.
antimatter db pingEllenőrzi, hogy az adatbázis elérhető-e.
antimatter db initLétrehozza a konfigurációt az adatbázisban (ahol az AM_CONFIG egy postgres:// URL-re van beállítva).
antimatter db migrateAlkalmazza az adatbázis-migrációkat a szerver indítása nélkül.
antimatter db versionKiírja az adatbázisban utoljára alkalmazott migrációt.
antimatter import bulk, antimatter export bulkImportálja vagy exportálja az adatokat tömeges formátumban (lásd: Biztonsági mentések és frissítések).