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

MuuttujaOletusarvoToiminto
SITE_URLpakollinenAntimatterin julkinen osoite (ServiceSettings.SiteURL).
POSTGRES_PASSWORDpakollinenantimatter-tietokantakäyttäjän salasana.
S3_SECRET_KEYpakollinenTiedostotallennuksen salainen avain.
GIFS_API_KEYpakollinenAvain, jota Antimatter käyttää GIF-palvelun kutsumiseen.
AM_AI_ENCRYPTION_KEYtyhjäAvain, jolla tekoälymalliyhteyksien API-avaimet salataan (openssl rand -base64 32). Jos tyhjä: palvelin luo avaintiedoston data-nimekkeeseen. Katso Salausavain.
GIFS_UPLOAD_KEYtyhjäMahdollistaa käyttäjät lisäämään omia GIF-kuvia ja tarroja valitsimesta ja poistamaan ne. Jos tyhjä: lataukset poistetaan käytöstä.
DOMAINtyhjäVerkkotunnuksesi https-profiilia varten.
HTTP_PORT8065Antimatterin verkkopalvelimen isäntäportti.
CALLS_PORT8443Puhelun äänen ja kuvan UDP- ja TCP-portit.
EDGE_SUBNET172.29.71.0/28Caddyn ja Antimatterin välisen verkon aliverkko. Muuta tätä, jos se menee päällekkäin jonkin oman verkkosi kanssa.
TZUTCKonttien aikavyöhyke.
ANTIMATTER_IMAGEghcr.io/antimatterchat/antimatter-next:latestSuoritettava Antimatter-kuvake (katso alla).

Mitä suorittaa

PalveluKuvaRooli
antimatterghcr.io/antimatterchat/antimatter-nextPalvelin, web-sovellus ja mukana toimitetut sovellukset. Julkaisee portit HTTP_PORT ja CALLS_PORT. Sen datahakemisto on data-nimeke.
postgrespostgres:17-alpineTietokanta postgres-nimekkeessä.
filesrustfs/rustfsS3-yhteensopiva tallennus lähetetyille tiedostoille ja asennetuille sovelluksille files-nimekkeessä.
bucketamazon/aws-cliLuo antimatter-säiliön ja poistuu.
gifsghcr.io/antimatterchat/gifs-serverGIF- ja tarrapalvelu gifs-nimekkeessä.
gifs-stickersghcr.io/antimatterchat/gifs-serverTuo aloitustarrapaketin ensimmäisellä kerralla ja poistuu.
httpscaddy:2-alpineVain 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:

KuvaSisällytetyt sovelluksetTagit
ghcr.io/antimatterchat/antimatterAI-keskustelu, Puhelut, GitHub, GitLab, Jira ja Metrics.latest, X.Y.Z julkaisuissa, sha-<commit>
ghcr.io/antimatterchat/antimatter-nextSama 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.

Kuvassa 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äärit antimatter ja amctl ovat 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ä, joten amctl --local toimii kontin sisällä. Tarkistus ajaa komennon amctl 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:

  1. Yritykselle tai organisaatiolle aseta Uusien yhteisöjen tyyppi arvoon Työtila. Voit muuttaa jo luodun yhteisön tyyppiä sen asetuksissa: Guild tai työtila.
  2. Päätä, kuka voi luoda tilejä: Kirjautuminen ja tilit.
  3. Määritä sähköposti, jotta kutsut ja salasanan nollaukset toimivat: Sähköposti ja push-ilmoitukset.
  4. Avaa puheluiden portti palomuurissasi: Puhelut ja ääni.
  5. 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).

Antimatter on beetavaiheessa: sen julkaisut ovat 0.9.0-sarjaa. Julkaisu, jonka versiossa on väliviivan jälkeen jälkiliite, kuten 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:

TiedostoKuvaus
antimatter_<version>-1_amd64.deb, antimatter_<version>-1_arm64.debPaketti Debianille, Ubuntulle ja niiden pohjalle rakennetuille jakeluille.
antimatter-<version>-1.x86_64.rpm, antimatter-<version>-1.aarch64.rpmPaketti Fedoralle, RHEL:lle ja RHEL-yhteensopiville jakeluille.
antimatter-<version>-linux-amd64.tar.gz, antimatter-<version>-linux-arm64.tar.gzJulkaisuarkisto, joka käy mihin tahansa Linux-jakeluun ja joka otetaan käyttöön manuaalisesti.
SHA256SUMSSHA-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

PolkuSisältö
/opt/antimatterOhjelma: 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.envPalvelun 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.jsonMää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/antimatterLadatut tiedostot (data/) ja asennetut sovellukset (plugins/, client-plugins/).
/var/log/antimatterLokitiedostot, jos otat tiedostolokin käyttöön. Oletusarvoisesti se on pois päältä: lokit ohjautuvat journaliin.
/usr/lib/systemd/system/antimatter.servicePalvelu.
/usr/bin/amctlLinkki 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ä antimatter hakemistossa /opt/antimatter ja 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: /usr ja /etc ovat palvelimelle vain luku -tilassa, paitsi /etc/antimatter/config, eikä se näe hakemistoja /home, /root tai /run/user. Jos siirrät tiedostotallennuksen (FileSettings.Directory), valitse näiden ulkopuolella oleva hakemisto, jonka omistaja on antimatter.
  • 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

  1. Tee varmuuskopio (katso Varmuuskopiot ja päivitykset).
  2. Lataa uusi paketti ja SHA256SUMS ja tarkista ne.
  3. 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:

SovellusJulkaisutSovelluksen id
Kanbanantimatter-plugin-boardsfocalboard
Ohjekirjatantimatter-plugin-playbooksplaybooks
Sähköpostiantimatter-plugin-mailcom.antimatterchat.mail
Kalenteriantimatter-plugin-calendarcom.antimatterchat.calendar
GitHubantimatter-plugin-githubgithub
GitLabantimatter-plugin-gitlabcom.github.manland.mattermost-plugin-gitlab
Jiraantimatter-plugin-jirajira
MittaritAntimatter-plugin-metricscom.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-server ja gifs-server-palvelun, joka toimii gifs-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/stickers kä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.

Push-välityspalvelin kuuntelee portissa 8066 kaikissa osoitteissa eikä tarkista, kuka siihen ottaa yhteyttä. Pidä portti yksityisessä verkossa tai käänteisen välityspalvelimen takana, joka rajoittaa pääsyä.

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.

KomentoToiminto
antimatter versionTulostaa version, käännöksen numeron, käännöksen päivämäärän ja käännöksen tiivisteen.
antimatter db pingTarkistaa, että tietokanta on saavutettavissa.
antimatter db initLuo määrityksen tietokantaan (kun AM_CONFIG on asetettu postgres://-URL-osoitteeksi).
antimatter db migrateKäyttää tietokantamuutokset palvelinta käynnistämättä.
antimatter db versionTulostaa viimeksi tietokantaan käytetyn muutoksen.
antimatter import bulk, antimatter export bulkTuo tai vie dataa massamuodossa (katso Varmuuskopiot ja päivitykset).