Antimatterin asentaminen
Asenna Antimatter valmiilla compose-tiedostolla, julkaisun .deb- tai .rpm-paketista tai julkaisuarkistosta. Luo sitten ensimmäinen ylläpitäjätunnus.
Asenna Docker Compellalla
Tämä on suositeltu tapa. Yhdellä compose-tiedostolla käynnistetään Antimatter, PostgreSQL, tiedostotallennus ja GIF-palvelu. Tarvitset Linux-palvelimen, jossa on Docker Engine ja sen Compose-laajennos (docker compose), vähintään 2 CPU-ydintä ja 4 GB muistia.
1. Lataa compose-tiedosto
mkdir antimatter && cd antimatter
curl -fsSLO https://antimatter.chat/compose.yaml
2. Luo .env-tiedosto
Compose-tiedosto lukee asetuksensa samassa hakemistossa olevasta .env-tiedostosta. Luo se satunnaisilla salaisuuksilla:
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
Aseta SITE_URL osoitteeksi, jonka käyttäjät kirjoittavat selaimeensa, esimerkiksi http://192.168.1.20:8065 paikallisessa verkossa tai https://chat.example.com verkkotunnuksen kanssa. Säilytä .env-tiedosto: tietokanta ja tallennus käyttävät näitä salasanoja ensimmäisestä käynnistyksestä lähtien, tekoälymalliyhteyksien API-avaimet salataan AM_AI_ENCRYPTION_KEY:lla, ja samaa tiedostoa tarvitaan varmuuskopion palauttamiseen.
3. Käynnistä palvelu
docker compose up -d
docker compose ps
Ensimmäinen käynnistys kestää minuutin tai pari: PostgreSQL luo tietokannan, kertaluonteinen bucket-palvelu luo tallennusastian, kertaluonteinen gifs-stickers-palvelu tuo aloitustarrapaketin ja Antimatter luo tietokantataulunsa. Seuraa tapahtumia komennolla docker compose logs -f antimatter.
Jos haluat käyttää verkkotunnusta ja HTTPS-yhteyttä heti alusta alkaen, katso Verkkotunnus ja HTTPS: compose-tiedoston kanssa tähän tarvitaan kaksi lisäriviä .env-tiedostoon ja https-profiili.
.env-muuttujat
| Muuttuja | Oletusarvo | Toiminto |
|---|---|---|
SITE_URL | pakollinen | Antimatterin julkinen osoite (ServiceSettings.SiteURL). |
POSTGRES_PASSWORD | pakollinen | antimatter-tietokantakäyttäjän salasana. |
S3_SECRET_KEY | pakollinen | Tiedostotallennuksen salainen avain. |
GIFS_API_KEY | pakollinen | Avain, jota Antimatter käyttää GIF-palvelun kutsumiseen. |
AM_AI_ENCRYPTION_KEY | tyhjä | Avain, jolla tekoälymalliyhteyksien API-avaimet salataan (openssl rand -base64 32). Jos tyhjä: palvelin luo avaintiedoston data-nimekkeeseen. Katso Salausavain. |
GIFS_UPLOAD_KEY | tyhjä | Mahdollistaa käyttäjät lisäämään omia GIF-kuvia ja tarroja valitsimesta ja poistamaan ne. Jos tyhjä: lataukset poistetaan käytöstä. |
DOMAIN | tyhjä | Verkkotunnuksesi https-profiilia varten. |
HTTP_PORT | 8065 | Antimatterin verkkopalvelimen isäntäportti. |
CALLS_PORT | 8443 | Puhelun äänen ja kuvan UDP- ja TCP-portit. |
EDGE_SUBNET | 172.29.71.0/28 | Caddyn ja Antimatterin välisen verkon aliverkko. Muuta tätä, jos se menee päällekkäin jonkin oman verkkosi kanssa. |
TZ | UTC | Konttien aikavyöhyke. |
ANTIMATTER_IMAGE | ghcr.io/antimatterchat/antimatter-next:latest | Suoritettava Antimatter-kuvake (katso alla). |
Mitä suorittaa
| Palvelu | Kuva | Rooli |
|---|---|---|
antimatter | ghcr.io/antimatterchat/antimatter-next | Palvelin, web-sovellus ja mukana toimitetut sovellukset. Julkaisee portit HTTP_PORT ja CALLS_PORT. Sen datahakemisto on data-nimeke. |
postgres | postgres:17-alpine | Tietokanta postgres-nimekkeessä. |
files | rustfs/rustfs | S3-yhteensopiva tallennus lähetetyille tiedostoille ja asennetuille sovelluksille files-nimekkeessä. |
bucket | amazon/aws-cli | Luo antimatter-säiliön ja poistuu. |
gifs | ghcr.io/antimatterchat/gifs-server | GIF- ja tarrapalvelu gifs-nimekkeessä. |
gifs-stickers | ghcr.io/antimatterchat/gifs-server | Tuo aloitustarrapaketin ensimmäisellä kerralla ja poistuu. |
https | caddy:2-alpine | Vain https-profiililla: HTTPS porteissa 80 ja 443. |
PostgreSQL, tallennus ja GIF-palvelu ovat sisäisessä verkossa (private), jolla ei ole Internet-yhteyttä ja johon vain Antimatter liittyy. Mikään niistä ei julkaise porttia.
Antimatter-kontti ei säilytä mitään levyllä: sen asetukset ovat tietokannassa (AM_CONFIG osoittaa siihen) ja sen tiedostot ja sovellukset ovat tallennuspalvelussa. Voit poistaa ja luoda kontin uudelleen milloin tahansa. Sen data-nimeke sisältää vain AI-salausavaintiedoston, jonka palvelin luo, kun AM_AI_ENCRYPTION_KEY on tyhjä. Kaikki varmuuskopioitavat tiedostot ovat postgres-, files-, gifs- ja data-nimekkeissä sekä omassa .env-tiedostossasi.
Valitse kuvake
Kaksi Antimatter-kuvaketta on julkaistu, molemmat arkkitehtuureille linux/amd64 ja linux/arm64, ja molemmat on koottu jokaisen repositorion main-haaraasta:
| Kuva | Sisällytetyt sovellukset | Tagit |
|---|---|---|
ghcr.io/antimatterchat/antimatter | AI-keskustelu, Puhelut, GitHub, GitLab, Jira ja Metrics. | latest, X.Y.Z julkaisuissa, sha-<commit> |
ghcr.io/antimatterchat/antimatter-next | Sama kuin edellä, lisäksi Äänikanavat, Kyselyt, Sähköposti, Kalenteri, Muistiinpanot, Valkotaulu, GIFit, Tehtävälista ja Meme. Kootaan uudelleen joka yö. | latest, nightly, nightly-<YYYYMMDD>, sha-<commit> |
Kumpikaan kuvake ei enää sisällä Kanbania tai Ohjekirjoja: asenna kumpikin tahansa omasta GitHub-julkaisustaan (katso alla), jos haluat sen. Palvelin, johon toinen on jo asennettu, säilyttää sen päivityksen yli.
Sivuston compose-tiedosto käyttää kuvaketta antimatter-next, koska GIF-palvelu ja useimmat tällä sivustolla kuvatut sovellukset ovat vain tässä kuvakkeessa. Vaihda kuvaketta asettamalla ANTIMATTER_IMAGE tiedostoon .env ja suorittamalla docker compose up -d.
latest muutokset ovat jatkuvasti päällä. Tuotannossa kannattaa kiinnittää tietty tag, kuten nightly-20261015 tai sha-<commit>, ja vaihtaa sitä tarkoituksella päivitysten yhteydessä. Palvelin päivittää tietokantansa käynnistyessään, joten vanhempaan imageen tai antimatter-next-imagesta antimatter-imageen ei voi palata ilman, että palautetaan aiemmin tehty varmuuskopio. Katso Varmuuskopiot ja päivitykset.Imageen sisällä
- Palvelin sijaitsee hakemistossa
/antimatter, ja binääritantimatterjaamctlovat hakemistossa/antimatter/bin(PATH-muuttujassa). - Se toimii käyttöoikeudettomana käyttäjänä
antimatter(uid 2000) minimaalisella distroless-pohjalla, jossa ei ole shelliä. - Portit: 8065 (web ja API), 8067 (mittarit), 8074 (klusteri), 8443 UDP ja TCP (puhelut).
- Paikallinen tila (
ServiceSettings.EnableLocalMode) on päällä, jotenamctl --localtoimii kontin sisällä. Tarkistus ajaa komennonamctl system status --local. - Sisällytetyt sovellukset ovat hakemistossa
/antimatter/prepackaged_plugins, ja ne on allekirjoitettu Antimatterin sovellusallekirjoitusavaimella. - Tekstin poimintatyökalut (
pdftotext,wvText,unrtf,tidy) on sisällytetty, joten lähetettyjen dokumenttien sisältöä voidaan hakea.
Muut compose-tiedostot
antimatter-docker-tietovarastossa on tuotantoympäristön asennus hakemistossa deploy/compose/: nginx omilla varmenteilla tai Let's Encryptillä (certbot), PostgreSQL, valinnainen GIF-palvelu (profiili gifs) sekä nimetyt volyymit palvelimen konfiguraatiolle, datalle ja lokitiedoille, jotka on dokumentoitu README-tiedostossa. Se käyttää oletuksena vakaata imagea ja tallentaa tiedostot paikalliseen volumeen S3-tallennuksen sijaan. Käytä sitä, jos haluat käyttää nginxää Caden sijaan tai sinulla on jo varmenteet.
Ensimmäisen järjestelmänvalvojan luominen
Avaa SITE_URL selaimessasi ja luo tili. Ensimmäinen uudelle palvelimelle luotu tili on järjestelmänvalvoja, ja asennus opastaa sinua luomaan ensimmäisen yhteisön (Antimatterin termi tiimille tai työtilalle).
Tee tämä heti ensimmäisen käynnistyksen jälkeen: siihen asti kuka tahansa, joka tavoittaa palvelimen ensimmäisenä, siitä tulee sen järjestelmänvalvoja. Jos haluat luoda tilin komentoriviltä sen sijaan, ennen kuin palvelin on saavutettavissa ulkopuolelta:
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
Kirjaudu sitten sisään osoitteessa SITE_URL. Aloita komento välilyönnillä, jotta salasana ei tallennu kuoren historiaan (jos HISTCONTROL=ignorespace), tai vaihda salasana kirjautumisen jälkeen.
Seuraavat vaiheet kirjautumisen jälkeen:
- Yritykselle tai organisaatiolle aseta Uusien yhteisöjen tyyppi arvoon Työtila. Voit muuttaa jo luodun yhteisön tyyppiä sen asetuksissa: Guild tai työtila.
- Päätä, kuka voi luoda tilejä: Kirjautuminen ja tilit.
- Määritä sähköposti, jotta kutsut ja salasanan nollaukset toimivat: Sähköposti ja push-ilmoitukset.
- Avaa puheluiden portti palomuurissasi: Puhelut ja ääni.
- Tarkista, mitkä sovellukset ovat käytössä: Sisällytetyt sovellukset.
Lataa julkaisu
Jos et käytä Dockeria, asenna Antimatter GitHubissa olevista julkaisutiedostoista: github.com/AntimatterChat/antimatter/releases. Jokaisella julkaisulla on versionumero, kuten 0.9.0, ja sen tag on sama numero, jossa on v edessä (v0.9.0).
0.9.0-rc.1, on merkitty GitHubissa Pre-release. Se on testiversio, joka on julkaistu ennen lopullista versiota.Jokaisessa julkaisussa on seuraavat tiedostot amd64- ja arm64-palvelimille:
| Tiedosto | Kuvaus |
|---|---|
antimatter_<version>-1_amd64.deb, antimatter_<version>-1_arm64.deb | Paketti Debianille, Ubuntulle ja niiden pohjalle rakennetuille jakeluille. |
antimatter-<version>-1.x86_64.rpm, antimatter-<version>-1.aarch64.rpm | Paketti Fedoralle, RHEL:lle ja RHEL-yhteensopiville jakeluille. |
antimatter-<version>-linux-amd64.tar.gz, antimatter-<version>-linux-arm64.tar.gz | Julkaisuarkisto, joka käy mihin tahansa Linux-jakeluun ja joka otetaan käyttöön manuaalisesti. |
SHA256SUMS | SHA-256-tarkistussumma jokaiselle julkaisun tiedostolle. |
Paketit ja arkisto sisältävät saman ohjelman: palvelimen (antimatter), komentorivityökalun (amctl), molemmat verkkosovellukset (oletuskäyttöliittymä ja perinteinen käyttöliittymä), sisällytetyt sovellukset, sähköpostipohjat ja käännökset. Paketit lisäävät systemd-palvelun ja asetustiedoston, joten ne ovat kaikki-yhdessä-asennuksia: sinun tarvitsee lisätä vain PostgreSQL-tietokanta. Erillisiä binäärilatauksia ei ole: binääritiedostot ovat arkistossa polussa antimatter/bin/. Ne ovat staattisia, joten ne toimivat missä tahansa Linux-jakelussa niiden arkkitehtuurilla.
Paketin nimissä esijulkaisuversion yhdysmerkki korvataan aaltoviivalla, jotta paketinhallinta lajittelee esijulkaisun lopullisen version eteen: versio 0.9.0-rc.1 tuottaa tiedostonimet antimatter_0.9.0~rc.1-1_amd64.deb ja antimatter-0.9.0~rc.1-1.x86_64.rpm. Arkistossa käytetään yhdysmerkkiä.
Komento antimatter version tulostaa julkaisuversion kenttänä Rakennusnumero ja rakennuksen perusversion kenttänä Rakennusnro. Sen Versio-rivi kertoo Antimatterin perustana olevan Mattermost-version.
Tarkista lataus
Lataa tarvitsemasi tiedosto ja SHA256SUMS samaan hakemistoon julkaisusivulta tai käyttämällä curl-komentoa, ja tarkista tiedosto:
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
Jokaisen lataamasi tiedoston on oltava listattu tuloksella OK. Mikä tahansa muulos tarkoittaa, että tiedosto on vioittunut tai puutteellinen: lataa se uudelleen äläkä asenna sitä. SHA256SUMS ei ole allekirjoitettu: se havaitsee vioittuneen latauksen, mutta ei todista mitään enempää kuin HTTPS-lataus GitHubista.
Asenna .deb- tai .rpm-paketti
Paketti asentaa Antimatterin systemd-palveluna, joka tarvitsee käynnistyäkseen vain tietokannan. Käytä sitä 64-bittisellä Debian-, Ubuntu-, Fedora- tai RHEL-yhteensopivalla palvelimella, jossa on systemd.
Mitä paketti asentaa
| Polku | Sisältö |
|---|---|
/opt/antimatter | Ohjelma: bin/antimatter, bin/amctl, verkkosovellukset (client/, client-fusion/), paketoidut sovellukset (prepackaged_plugins/), mallit, käännökset ja fontit. Jokainen päivitys korvaa tämän. |
/etc/antimatter/antimatter.env | Palvelun asetukset AM_-muuttujina: tietokanta, sivuston URL-osoite, GIF-palvelu. Vain root-käyttäjä voi lukea. Päivitykset säilyttävät tämän. |
/etc/antimatter/config/config.json | Määritystiedosto, johon palvelin tallentaa Järjestelmäkonsolissa tehdyt asetukset. Se luodaan tiedostosta /opt/antimatter/defaults/config.json asennuksen yhteydessä, eikä sitä korvata sen jälkeen. |
/var/lib/antimatter | Ladatut tiedostot (data/) ja asennetut sovellukset (plugins/, client-plugins/). |
/var/log/antimatter | Lokitiedostot, jos otat tiedostolokin käyttöön. Oletusarvoisesti se on pois päältä: lokit ohjautuvat journaliin. |
/usr/lib/systemd/system/antimatter.service | Palvelu. |
/usr/bin/amctl | Linkki polkuun /opt/antimatter/bin/amctl. |
Hakemistot, joihin palvelin kirjoittaa polussa /opt/antimatter (config, data, plugins, client/plugins ja logs), ovat linkkejä polkuihin /etc/antimatter, /var/lib/antimatter ja /var/log/antimatter. Näin päivitys, joka korvaa hakemiston /opt/antimatter, ei koskaan koske tietojasi. Paketti luo myös järjestelmäkäyttäjän antimatter, joka suorittaa palvelimen ja omistaa nämä hakemistot.
Paketti riippuu paketista ca-certificates. Se suosittelee PostgreSQL:tä (postgresql Debainissa ja Ubuntussa, postgresql-server Fedorassa ja RHEL:ssä), media-types (mailcap .rpm-paketissa) ja gifs-server:ia, GIF-palvelua, jolla on oma julkaisunsa (katso alla). apt ja dnf asentavat suositellut paketit, jos ne löytyvät. Se ehdottaa paketteja poppler-utils, wv, unrtf ja tidy (ei wv:tä .rpm-paketissa): ne poimivat tekstin lähetetyistä dokumenteista, jotta haku löytää sanat niiden sisältä. Asenna ne itse, jos haluat tämän toiminnon.
1. Asenna paketit
Lataa Antimatter-paketti ja GIF-palvelupaketti arkkitehtuurillesi, tarkista ne yllä kuvatulla tavalla ja asenna molemmat yhdellä komennolla, jotta suositus gifs-server:istä täyttyy (se ei ole jakelujen tietovarastoissa):
# 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
Pidä ./: se kertoo apt:lle ja dnf:lle, että asennetaan paikallinen tiedosto. Jos haluat asentaa ilman GIF-palvelua, jätä sen paketti pois. Paketti ottaa antimatter-palvelun käyttöön mutta ei käynnistä sitä, ja tulostaa seuraavat vaiheet.
2. Luo tietokanta
Antimatter vaatii PostgreSQL-version 15 tai uudemman, joko tällä palvelimella tai toisella palvelimella. Tarkista jakelusi PostgreSQL:n versio komennolla psql --version. Jos se on vanhempi, asenna uudempi versio PostgreSQL-projektin omista tietovarastoista tai käytä tietokantaa toisella palvelimella. Debainissa ja Ubuntussa postgresql-paketti käynnistää tietokannan. Fedorassa ja RHEL:ssä luo ja käynnistä se ensin:
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
Luo sitten käyttäjä ja tietokanta Antimatterille:
sudo -u postgres psql -c "CREATE USER antimatter WITH PASSWORD 'a-long-password'"
sudo -u postgres psql -c "CREATE DATABASE antimatter OWNER antimatter"
PostgreSQL:n on hyväksyttävä salasanayhteydet osoitteesta 127.0.0.1: sen pg_hba.conf-tiedoston host-rivit, joissa käytetään menetelmää scram-sha-256.
3. Aseta tietokanta ja sivuston URL-osoite
Muokkaa tiedostoa /etc/antimatter/antimatter.env (sudoedit /etc/antimatter/antimatter.env). Poista #-merkki käytettävien rivien alusta ja määritä tietokanta sekä osoite, jota käyttäjät avaavat:
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
Mikä tahansa asetus voidaan määrittää tähän tiedostoon muodossa AM_<SECTION>_<SETTING>: esimerkiksi SqlSettings.DataSource on AM_SQLSETTINGS_DATASOURCE. Tässä määritettyä asetusta ei voi muuttaa Järjestelmäkonsolissa. Katso Konfiguraatio. Käynnistä palvelin uudelleen jokaisen muutoksen jälkeen: sudo systemctl restart antimatter.
Palvelu asettaa myös oletusarvoja, joita antimatter.env-tiedoston rivi voi ohittaa: lokien tallennus tiedostoihin on pois päältä (AM_LOGSETTINGS_ENABLEFILE=false, AM_NOTIFICATIONLOGSETTINGS_ENABLEFILE=false) ja paikallinen tila on päällä (AM_SERVICESETTINGS_ENABLELOCALMODE=true), jotta amctl --local toimii palvelimella.
4. Käynnistä palvelu
sudo systemctl start antimatter
journalctl -u antimatter -f
sudo -u antimatter amctl --local system status
Ensimmäisellä käynnistyksellä palvelin luo tietokantataulunsa ja alkaa kuunnella porttia 8065. Avaa http://<server>:8065 tai verkkotunnuksesi, kun käänteinen välityspalvelin on asennettu (katso Verkkotunnus ja HTTPS), ja luo ensimmäinen tili heti: siitä tulee järjestelmän ylläpitäjä. Jos haluat luoda tilin komentoriviltä, käytä Ensimmäisen ylläpitäjän luominen -kohdan amctl-komentoja ja korvaa docker compose exec antimatter amctl --local komennolla sudo -u antimatter amctl --local.
5. Ota GIF:t käyttöön
GIF:t-sovellus on mukana paketissa ja käytössä, ja antimatter.env osoittaa sen jo samalla palvelimella olevalle GIF-palvelulle (AM_GIFS_SERVICE_URL=http://127.0.0.1:8080/v2). Se tarvitsee kuitenkin palvelun API-avaimen. gifs-server-paketti loi avaimen asennuksen yhteydessä:
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
Lisää avain antimatter.env-tiedostoon muodossa AM_GIFS_API_KEY=<key> ja käynnistä Antimatter uudelleen, tai syötä se API-avaimena polussa Järjestelmäkonsoli › Liiteohjelmat › GIF:t. Jos GIF-palvelu on toisella palvelimella, aseta AM_GIFS_SERVICE_URL sen osoitteeksi. Jos haluat antaa käyttäjille mahdollisuuden lisätä omia GIF- ja tarrakuvia, katso GIF:t.
Palvelu
- Se toimii käyttäjänä
antimatterhakemistossa/opt/antimatterja lukee tiedostoa/etc/antimatter/antimatter.env. systemd käynnistää palvelimen uudelleen aina, kun se sulkeutuu, ja antaa sille enintään tunnin käynnistykselle, koska uuden version tietokantamuutokset voivat kestää kauan. - Sen lokit ovat journaleissa:
journalctl -u antimatter. - Se on suojattu:
/usrja/etcovat palvelimelle vain luku -tilassa, paitsi/etc/antimatter/config, eikä se näe hakemistoja/home,/roottai/run/user. Jos siirrät tiedostotallennuksen (FileSettings.Directory), valitse näiden ulkopuolella oleva hakemisto, jonka omistaja onantimatter. - Päivitykset korvaavat palvelutiedoston. Voit muuttaa sitä käyttämällä komentoa
sudo systemctl edit antimatter, joka säilyttää muutoksesi erillisessä tiedostossa.
Päivitä paketti
- Tee varmuuskopio (katso Varmuuskopiot ja päivitykset).
- Lataa uusi paketti ja
SHA256SUMSja tarkista ne. - Pysäytä palvelin, asenna uusi paketti vanhan päälle ja käynnistä se uudelleen:
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
Paketti ei käynnistä palvelinta itse. Päivityksen jälkeen se tulostaa Antimatter was upgraded; restart it to run the new version: sudo systemctl restart antimatter: jos et pysäyttänyt palvelinta ensin, käynnistä se uudelleen heti. Päivitys korvaa hakemiston /opt/antimatter ja palvelutiedoston, mutta säilyttää tiedostot antimatter.env, config.json, hakemiston /var/lib/antimatter ja lokit. Kun palvelin käynnistyy, se päivittää tietokannan ja asentaa mukana toimitettujen sovellusten uudemmat versiot.
Jos uusi versio muuttaa oletusarvoista tiedostoa antimatter.env, apt kysyy, haluatko säilyttää oman versiosi: säilytä se. dnf säilyttää oman versiosi ja tallentaa uuden nimellä /etc/antimatter/antimatter.env.rpmnew. Päivitykset etenevät vain eteenpäin: älä asenna vanhempaa versiota uudemman päälle.
Poista paketti
sudo apt remove antimatter tai sudo dnf remove antimatter pysäyttää ja poistaa palvelun käytöstä ja poistaa ohjelman. Se säilyttää datan (/var/lib/antimatter), asetukset (/etc/antimatter), tietokannan ja käyttäjän antimatter: poista ne itse, jos haluat poistaa Antimatterin kokonaan.
Sovellukset paketeissa ja arkistossa
Paketit ja arkisto sisältävät näiden sovellusten viimeisimmän allekirjoitetun version kansiossa prepackaged_plugins/: AI Chat, Calls, GIFs, Memes, Notes, Polls, Todo, Voice Channels ja Whiteboard. Sovellus, jolla ei ollut vielä julkaisua palvelinversion rakentamisen aikana, jätetään pois: ls /opt/antimatter/prepackaged_plugins näyttää, mitä versiosi sisältää. Memes ja Todo sisältyvät, mutta niitä ei ole otettu käyttöön: Paketoidut sovellukset selittää, miten ne asennetaan ja otetaan käyttöön.
Kanban ja Playbooks eivät enää sisälly palvelimeen eivätkä kumpikaan Docker-kuvista: palvelin, jossa toinen niistä on jo asennettu, säilyttää sen päivityksen aikana, ja muut asentavat sen omasta julkaisustaan, kuten alla olevat sovellukset. Docker-kuvien muut sovellukset eivät myöskään sisälly paketteihin tai arkistoon: Mail, Calendar, GitHub, GitLab, Jira ja Metrics. Asenna kukin niistä, Kanban ja Playbooks mukaan lukien, omasta julkaisustaan:
| Sovellus | Julkaisut | Sovelluksen id |
|---|---|---|
| Kanban | antimatter-plugin-boards | focalboard |
| Ohjekirjat | antimatter-plugin-playbooks | playbooks |
| Sähköposti | antimatter-plugin-mail | com.antimatterchat.mail |
| Kalenteri | 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 |
| Mittarit | Antimatter-plugin-metrics | com.mattermost.mattermost-plugin-metrics |
Jokaisessa sovellusjulkaisussa on sovelluksen paketti (.tar.gz-tiedosto), sen allekirjoitus (sama nimi, johon on lisätty .sig) ja SHA256SUMS-tiedosto. Asenna sovellus niin, että lataukset ovat sallittuja, ja lisää paketti komennolla amctl:
# 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
Päivittääksesi tällä tavalla asennetun sovelluksen, lisää uusi paketti komennolla plugin add --force: pakettipäivitykset päivittävät vain paketoidut sovellukset. Voit poistaa AM_PLUGINSETTINGS_ENABLEUPLOADS-rivin jälkikäteen. Katso Muiden sovellusten asentaminen saadaksesi tietoa muista tavoista asentaa sovelluksia.
Sovellusten allekirjoitukset
Sovelluspaketit on allekirjoitettu Antimatterin sovellusallekirjoitusavaimella: jokainen .tar.gz.sig -tiedosto on sen paketin irrotettu GPG-allekirjoitus. Palvelin tarkistaa nämä allekirjoitukset ennen kuin se asentaa paketoidun sovelluksen. Voit tarkistaa paketin itse:
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
gpg:n on ilmoitettava kelvollinen allekirjoitus avaimelta Antimatter Plugin Signing, jonka sormenjälki on 06C8 1032 4677 0F08 BBA7 78B9 E69B 05C3 92A6 9A45. Se varoittaa myös, että avainta ei ole sertifioitu luotettavalla allekirjoituksella: tämä on normaalia avaimelle, jota et ole allekirjoittanut itse. Jos julkaisusta puuttuvat .sig -tiedostot, julkaisu on allekirjoittamaton, ja julkaisutiedoissa kerrotaan siitä.
Asenna julkaisuarkistosta
Arkisto antimatter-<version>-linux-<arch>.tar.gz (esimerkiksi antimatter-0.9.0-linux-amd64.tar.gz) sopii jakeluun, jossa ei ole .deb- tai .rpm-paketteja, tai omaan kansiorakenteeseen. Se sisältää yhden antimatter/-hakemiston, jossa ovat bin/antimatter, bin/amctl, config/config.json, verkkosovellukset (client/ ja client-fusion/), paketoidut sovellukset (prepackaged_plugins/, katso edellä), sähköpostipohjat ja käännökset.
1. Valmistele PostgreSQL
Antimatter tukee vain PostgreSQL:tä, versiota 15 tai uudempaa (vanhemmat versiot käynnistyvät, mutta lokiin tulee virhe). Luo käyttäjä ja tietokanta:
sudo -u postgres psql <<'EOF'
CREATE USER antimatter WITH PASSWORD 'a-long-password';
CREATE DATABASE antimatter OWNER antimatter;
EOF
2. Pura ja määritä
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
Osoita palvelin tietokantaan joko tiedostossa /opt/antimatter/config/config.json (SqlSettings.DataSource) tai ympäristömuuttujilla, ja aseta sivuston URL-osoite:
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
Arkiston config.json on täydellinen oletusmääritys: Järjestelmäkonsolissa tekemäsi asetukset tallennetaan siihen takaisin. Jos haluat säilyttää määrityksen tietokannassa, katso Määritys.
3. Suorita palveluna
Systemd-yksikkö tiedostossa /etc/systemd/system/antimatter.service:
[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
Laita AM_-muuttujat tiedostoon /etc/antimatter.env (luettavissa vain root-käyttäjälle), ja suorita sitten:
sudo systemctl daemon-reload
sudo systemctl enable --now antimatter
journalctl -u antimatter -f
Palvelin kuuntelee portissa 8065. Avaa http://<server>:8065 tai verkkotunnuksesi, kun käänteisvälityspalvelin on asennettu (katso Verkkotunnus ja HTTPS), ja luo ensimmäinen tili: siitä tulee järjestelmän ylläpitäjä.
bin/amctl hallitsee käynnissä olevaa palvelinta komentoriviltä. Palvelimella itsessään se toimii ilman kirjautumista paikallistilan kautta: aseta AM_SERVICESETTINGS_ENABLELOCALMODE=true ja suorita sudo -u antimatter /opt/antimatter/bin/amctl --local system status.
GIF-kuvien osalta asenna GIF-palvelu (katso alla) ja aseta AM_GIFS_SERVICE_URL sekä AM_GIFS_API_KEY kuten paketoiden vaiheessa 5.
GIF-palvelun ja push-välityspalvelun paketit
GIF-palvelulla ja push-välityspalvelulla on omat julkaisunsa, joita koskevat samat säännöt kuin palvelinta: .tar.gz-arkisto, .deb- ja .rpm-paketit arkkitehtuureille amd64 ja arm64 sekä SHA256SUMS-tiedosto. Yhdysviivan sisältävät versiot ovat esijulkaisuja. Tarkista lataukset komennolla sha256sum --check --ignore-missing SHA256SUMS samalla tavalla kuin palvelimen osalta.
GIF-palvelu (gifs-server)
Julkaisut: github.com/AntimatterChat/gifs-server/releases. Arkisto on nimeltään gifs-server-<version>-linux-<arch>.tar.gz; paketit ovat nimeltään gifs-server.
sudo apt install ./gifs-server_*_amd64.deb # Debian, Ubuntu
sudo dnf install ./gifs-server-*.x86_64.rpm # Fedora, RHEL
Paketti asentaa:
/usr/bin/gifs-serverjagifs-server-palvelun, joka toimiigifs-server-käyttäjänä ja säilyttää luettelonsa polussa/var/lib/gifs-server;gifs-server-stickers-palvelun, joka tuo tai päivittää tarrapaketin polusta/usr/share/gifs-server/stickerskäynnistyessään ja pysähtyy sen jälkeen;- asetuksensa,
/etc/gifs-server/gifs-server.env(AM_GIFS_-muuttujat, säilyvät päivitysten yhteydessä) ja/etc/gifs-server/api-keys, jossa on yksi API-avain riviä kohti ja satunnainen avain luodaan ensimmäisen asennuksen yhteydessä.
Se kuuntelee osoitteessa 127.0.0.1:8080, joten vain samalla palvelimella oleva Antimatter voi tavoittaa sen. Jos Antimatter on muualla, aseta AM_GIFS_LISTEN=:8080 tiedostoon gifs-server.env ja rajoita portin käyttö palomuurillasi. Tiedosto sisältää muut asetukset: AM_GIFS_UPLOAD_KEYS (avaimet, joilla voi lisätä GIF-kuvia ja tarrakuvia sekä poistaa niillä lisätyt), AM_GIFS_PUBLIC_URL, AM_GIFS_TRUST_PROXY ja AM_GIFS_LOG_LEVEL. Paketti suosittelee ffmpeg, gifsicle, librsvg2-bin (librsvg2-tools .rpm-paketissa) ja DejaVu-fonttia: palvelu käyttää niitä luodessaan GIF-, video- ja tarramuotoja tuodessaan tai vastaanottaessaan tiedostoja, ja se toimii myös ilman niitä.
Kuten palvelin, palvelu on otettu käyttöön mutta ei käynnistetty asennuksen yhteydessä. Käynnistä se paketin vaiheessa 5 kuvatulla tavalla. Päivityksen jälkeen käynnistä se uudelleen: sudo systemctl restart gifs-server. Paketin poistaminen säilyttää luettelon hakemistossa /var/lib/gifs-server.
Push-välityspalvelin
Julkaisut: github.com/AntimatterChat/push-proxy/releases. Arkisto on nimeltään antimatter-push-proxy-<version>-linux-<arch>.tar.gz; paketit ovat nimeltään antimatter-push-proxy. Paketti asentaa /usr/bin/antimatter-push-proxy ja antimatter-push-proxy-palvelun, joka toimii antimatter-push-proxy-käyttäjänä ja lukee tiedoston /etc/antimatter-push-proxy/antimatter-push-proxy.json (säilytetään päivitysten yhteydessä). Apple- ja Firebase-tunnukset sijoitetaan hakemistoon /etc/antimatter-push-proxy/certs: Push-ilmoitukset selittää, mistä ne tulevat.
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
Asetustiedostossa polut ovat suhteellisia hakemistoon /etc/antimatter-push-proxy: esimerkiksi "AppleAuthKeyFile": "./certs/AuthKey_ABCDE12345.p8" ja "ServiceFileLocation": "./certs/firebase-service-account.json". Aseta sitten Antimatterissa Push-ilmoituspalvelin osoitteeseen http://<proxy host>:8066. Päivityksen jälkeen käynnistä palvelu uudelleen: sudo systemctl restart antimatter-push-proxy.
Muut palvelinkomennot
Palvelimen käynnistämisen (antimatter tai antimatter server) lisäksi binääritiedosto sisältää muutaman huoltokomennon. Ne lukevat saman määrityksen kuin palvelin.
| Komento | Toiminto |
|---|---|
antimatter version | Tulostaa version, käännöksen numeron, käännöksen päivämäärän ja käännöksen tiivisteen. |
antimatter db ping | Tarkistaa, että tietokanta on saavutettavissa. |
antimatter db init | Luo määrityksen tietokantaan (kun AM_CONFIG on asetettu postgres://-URL-osoitteeksi). |
antimatter db migrate | Käyttää tietokantamuutokset palvelinta käynnistämättä. |
antimatter db version | Tulostaa viimeksi tietokantaan käytetyn muutoksen. |
antimatter import bulk, antimatter export bulk | Tuo tai vie dataa massamuodossa (katso Varmuuskopiot ja päivitykset). |