Instal·lació d'Antimatter
Instal·la Antimatter amb el fitxer de compose preparat, des del paquet .deb o .rpm d'una versió, o des d'un arxiu de llançament. Després, crea el primer compte d'administrador.
Instal·lació amb Docker Compose
Aquesta és la manera recomanada. Un sol fitxer compose executa Antimatter, PostgreSQL, l'emmagatzematge de fitxers i el servei de GIF. Necessites un servidor Linux amb Docker Engine i el seu plugin Compose (docker compose), 2 nuclis de CPU i 4 GB de memòria o més.
1. Descarrega el fitxer compose
mkdir antimatter && cd antimatter
curl -fsSLO https://antimatter.chat/compose.yaml
2. Crea el fitxer .env
El fitxer compose llegeix la seva configuració d'un fitxer .env al mateix directori. Crea'l amb secrets aleatoris:
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
Defineix SITE_URL amb l'adreça que les persones escriuran al navegador, per exemple http://192.168.1.20:8065 en una xarxa local o https://chat.example.com amb un domini. Conserva el fitxer .env: la base de dades i l'emmagatzematge utilitzen aquestes contrasenyes des del primer inici, les claus de les connexions amb models d'IA s'encripten amb AM_AI_ENCRYPTION_KEY, i necessites el mateix fitxer per restaurar una còpia de seguretat.
3. Inicia'l
docker compose up -d
docker compose ps
El primer inici triga un o dos minuts: PostgreSQL crea la base de dades, un servei d'execució única bucket crea el contenidor d'emmagatzematge, un servei d'execució única gifs-stickers importa el paquet d'etiquetes inicial i Antimatter crea les seves taules. Segueix-ho amb docker compose logs -f antimatter.
Per utilitzar un nom de domini i HTTPS des del principi, consulta Domini i HTTPS: amb el fitxer compose, són dues línies més al .env i el perfil https.
Les variables del .env
| Variable | Valor per defecte | Què fa |
|---|---|---|
SITE_URL | obligatori | L'adreça pública d'Antimatter (ServiceSettings.SiteURL). |
POSTGRES_PASSWORD | obligatori | La contrasenya de l'usuari de la base de dades antimatter. |
S3_SECRET_KEY | obligatori | La clau secreta de l'emmagatzematge de fitxers. |
GIFS_API_KEY | obligatori | La clau que Antimatter utilitza per cridar el servei de GIF. |
AM_AI_ENCRYPTION_KEY | buit | La clau que encripta les claus de les connexions amb models d'IA (openssl rand -base64 32). Si està buida: el servidor crea un fitxer de clau al volum data. Consulta La clau d'encriptació. |
GIFS_UPLOAD_KEY | buit | Permet que les persones afegeixin els seus propis GIF i adhesius des del selector, i que els eliminin. Si està buit, es desactiva la càrrega d'arxius. |
DOMAIN | buit | El teu nom de domini, per al perfil https. |
HTTP_PORT | 8065 | El port de l'host del servidor web d'Antimatter. |
CALLS_PORT | 8443 | El port UDP i TCP de l'àudio i el vídeo de les trucades. |
EDGE_SUBNET | 172.29.71.0/28 | La subxarxa de la xarxa entre Caddy i Antimatter. Canvia-la si solapa una de les teves xarxes. |
TZ | UTC | La zona horària dels contenidors. |
ANTIMATTER_IMAGE | ghcr.io/antimatterchat/antimatter-next:latest | La imatge d'Antimatter a executar (vegeu a continuació). |
Què s'executa
| Servei | Imatge | Rol |
|---|---|---|
antimatter | ghcr.io/antimatterchat/antimatter-next | El servidor, l'aplicació web i les aplicacions integrades. Publica els ports HTTP_PORT i CALLS_PORT. El seu directori de dades és el volum data. |
postgres | postgres:17-alpine | La base de dades, al volum postgres. |
files | rustfs/rustfs | Emmagatzematge compatible amb S3 per als fitxers penjats i les aplicacions instal·lades, al volum files. |
bucket | amazon/aws-cli | Crea el cubell antimatter i després surt. |
gifs | ghcr.io/antimatterchat/gifs-server | El servei de GIF i pegatines, al volum gifs. |
gifs-stickers | ghcr.io/antimatterchat/gifs-server | Importa el paquet de pegatines inicial la primera vegada i després surt. |
https | caddy:2-alpine | Només amb el perfil https: HTTPS als ports 80 i 443. |
PostgreSQL, l'emmagatzematge i el servei de GIF estan en una xarxa interna (private) sense accés a Internet, a la qual només s'uneix Antimatter. Cap d'ells publica un port.
El contenidor d'Antimatter no guarda res al disc: la seva configuració és a la base de dades (AM_CONFIG hi apunta) i els seus fitxers i aplicacions són al servei d'emmagatzematge. Pots eliminar i recrear el contenidor en qualsevol moment. El seu volum data només conté el fitxer de la clau d'encriptació de la IA, que el servidor crea quan AM_AI_ENCRYPTION_KEY està buit. Tot el que cal fer còpia de seguretat és als volums postgres, files, gifs i data, a més del teu fitxer .env.
Tria una imatge
Es publiquen dues imatges d'Antimatter, totes dues per a linux/amd64 i linux/arm64, i totes dues construïdes a partir de la branca main de cada repositori:
| Imatge | Aplicacions integrades | Etiquetes |
|---|---|---|
ghcr.io/antimatterchat/antimatter | Xat amb IA, Trucades, GitHub, GitLab, Jira i Mètriques. | latest, X.Y.Z per a les versions, sha-<commit> |
ghcr.io/antimatterchat/antimatter-next | El mateix, més Canals de veu, Enquestes, Correu, Calendari, Notes, Pissarra, GIF, Tasques pendents i Memes. Es reconstrueix cada nit. | latest, nightly, nightly-<YYYYMMDD>, sha-<commit> |
Cap imatge inclou Kanban ni Guies d'actuació: instal·la-les des de la seva pròpia versió a GitHub (consulta més avall) si les vols. Un servidor que ja en tingui una instal·lada la mantindrà després d'una actualització.
El fitxer compose del lloc utilitza antimatter-next, perquè el servei de GIF i la majoria de les aplicacions descrites en aquest lloc només hi són en aquesta imatge. Per canviar la imatge, defineix ANTIMATTER_IMAGE a .env i executa docker compose up -d.
latest canvia sota els teus peus. En producció, fixa una etiqueta com ara nightly-20261015 o sha-<commit>, i canvia-la deliberadament quan actualitzis. El servidor actualitza la seva base de dades quan s'inicia, de manera que no pots tornar a una imatge anterior, ni passar d'antimatter-next a antimatter, sense restaurar una còpia de seguretat feta abans. Consulta Còpies de seguretat i actualitzacions.Dins de la imatge
- El servidor es troba a
/antimatter, amb els binarisantimatteriamctla/antimatter/bin(alPATH). - S'executa com a usuari no privilegiat
antimatter(uid 2000) sobre una base distroless mínima, sense shell. - Ports: 8065 (web i API), 8067 (mètriques), 8074 (clúster), 8443 UDP i TCP (trucades).
- El mode local (
ServiceSettings.EnableLocalMode) està activat, de manera queamctl --localfunciona dins del contenidor. La comprovació d'estat executaamctl system status --local. - Les aplicacions integrades es troben a
/antimatter/prepackaged_pluginsi estan signades amb la clau de signatura d'aplicacions d'Antimatter. - S'inclouen eines d'extracció de text (
pdftotext,wvText,unrtf,tidy), de manera que es pot cercar el contingut dels documents penjats.
Altres fitxers compose
El repositori antimatter-docker conté una configuració de producció a deploy/compose/: nginx amb els vostres propis certificats o Let's Encrypt (certbot), PostgreSQL, el servei opcional de GIF (perfil gifs) i volums amb nom per a la configuració, les dades i els registres del servidor, documentats al seu README. Utilitza la imatge estable per defecte i emmagatzema els fitxers en un volum local en lloc d'emmagatzematge S3. Utilitzeu-lo si preferiu nginx a Caddy o si ja teniu certificats.
Crea el primer administrador
Obriu SITE_URL al navegador i creeu un compte. El primer compte creat en un servidor nou es converteix en administrador del sistema, i la configuració us guiarà a continuació per crear la primera comunitat (el nom que Antimatter dona a un equip o espai de treball).
Feu-ho just després del primer inici: fins que ho feu, qualsevol persona que arribi primer al servidor en serà l'administrador. Per crear el compte des de la línia d'ordres, abans que el servidor sigui accessible des de l'exterior:
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
A continuació, inicieu la sessió a SITE_URL. Comenceu la comanda amb un espai per mantenir la contrasenya fora de l'historial de la shell (amb HISTCONTROL=ignorespace), o canvieu la contrasenya un cop hagiu iniciat la sessió.
Pròxims passos un cop hi sou:
- Per a una empresa o organització, defineix Tipus de les noves comunitats com a Espai de treball, i canvia el tipus d'una comunitat que ja hagis creat des de la seva configuració: Gremi o espai de treball.
- Decideu qui pot crear comptes: Inici de sessió i comptes.
- Configureu el correu electrònic perquè les invitacions i les restabliment de contrasenya funcionin: Correu electrònic i notificacions push.
- Obriu el port de les trucades al vostre tallafoc: Trucades i veu.
- Comproveu quines aplicacions estan activades: Aplicacions integrades.
Baixa una versió
Sense Docker, instal·la Antimatter des dels fitxers d'una versió a GitHub: github.com/AntimatterChat/antimatter/releases. Cada versió té un número de versió com ara 0.9.0, i la seva etiqueta és el mateix número amb una v al davant (v0.9.0).
0.9.0-rc.1, està marcada com a Pre-release a GitHub. És una versió de prova, publicada abans de la versió final.Cada versió conté aquests fitxers, per a servidors amd64 i arm64:
| Fitxer | Descripció |
|---|---|
antimatter_<version>-1_amd64.deb, antimatter_<version>-1_arm64.deb | El paquet per a Debian, Ubuntu i les distribucions basades en elles. |
antimatter-<version>-1.x86_64.rpm, antimatter-<version>-1.aarch64.rpm | El paquet per a Fedora, RHEL i les distribucions compatibles amb RHEL. |
antimatter-<version>-linux-amd64.tar.gz, antimatter-<version>-linux-arm64.tar.gz | L'arxiu de la versió, per a qualsevol distribució Linux, configurat manualment. |
SHA256SUMS | La suma de verificació SHA-256 de tots els fitxers de la versió. |
Els paquets i l'arxiu contenen el mateix programa: el servidor (antimatter), l'eina de línia d'ordres (amctl), les dues aplicacions web (la interfície predeterminada i la clàssica), les aplicacions integrades, les plantilles de correu electrònic i les traduccions. Els paquets afegeixen un servei systemd i un fitxer de configuració, de manera que cadascun és una instal·lació tot en un: només cal afegir una base de dades PostgreSQL. No hi ha descàrregues separades de binaris: els binaris són a l'arxiu, a antimatter/bin/. Són estàtics, així que funcionen a qualsevol distribució Linux de la seva arquitectura.
En els noms dels paquets, el guió d'una versió de prellançament es converteix en una tilde, perquè el gestor de paquets ordeni la prellançament abans de la versió final: la versió 0.9.0-rc.1 dona antimatter_0.9.0~rc.1-1_amd64.deb i antimatter-0.9.0~rc.1-1.x86_64.rpm. L'arxiu manté el guió.
antimatter version mostra la versió de la publicació com a Número de compilació, amb el commit des del qual es va compilar com a Hash de compilació. La seva línia Versió és la versió de la línia de Mattermost en què es basa Antimatter.
Comprova la descàrrega
Baixa el fitxer que necessites i SHA256SUMS al mateix directori, des de la pàgina de la versió o amb curl, i després comprova el fitxer:
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
Cada fitxer baixat ha d'estar llistat amb OK. Qualsevol altre resultat indica que el fitxer està danyat o incomplet: baixa'l de nou i no l'instal·lis. SHA256SUMS no està signat: detecta una descàrrega danyada i no demostra res més que la descàrrega HTTPS de GitHub.
Instal·la el paquet .deb o .rpm
El paquet instal·la Antimatter com a servei systemd, que només necessita una base de dades per iniciar. Utilitzeu-lo en un servidor de 64 bits compatible amb Debian, Ubuntu, Fedora o RHEL amb systemd.
Què instal·la el paquet
| Ruta | Contingut |
|---|---|
/opt/antimatter | El programa: bin/antimatter, bin/amctl, les aplicacions web (client/, client-fusion/), les aplicacions incloses (prepackaged_plugins/), les plantilles, les traduccions i les tipografies. Cada actualització el substitueix. |
/etc/antimatter/antimatter.env | La configuració del servei, com a variables AM_: la base de dades, l'URL del lloc, el servei de GIF. Només llegible per root. Les actualitzacions la conserven. |
/etc/antimatter/config/config.json | El fitxer de configuració, on el servidor desa la configuració canviada a la Consola del sistema. Es crea a partir de /opt/antimatter/defaults/config.json a la primera instal·lació, i mai no es substitueix després. |
/var/lib/antimatter | Fitxers penjats (data/) i aplicacions instal·lades (plugins/, client-plugins/). |
/var/log/antimatter | Fitxers de registre, si activeu el registre a fitxer. Està desactivat: els registres van al journal. |
/usr/lib/systemd/system/antimatter.service | El servei. |
/usr/bin/amctl | Un enllaç a /opt/antimatter/bin/amctl. |
Els directoris als quals el servidor escriu a /opt/antimatter (config, data, plugins, client/plugins i logs) són enllaços a /etc/antimatter, /var/lib/antimatter i /var/log/antimatter. Així, una actualització, que substitueix /opt/antimatter, mai no toca les vostres dades. El paquet també crea l'usuari del sistema antimatter, que executa el servidor i és el propietari d'aquests directoris.
El paquet depèn de ca-certificates. Recomanen PostgreSQL (postgresql a Debian i Ubuntu, postgresql-server a Fedora i RHEL), media-types (mailcap per al .rpm) i gifs-server, el servei de GIF, que té el seu propi llançament (vegeu més avall). apt i dnf instal·len els paquets recomanats quan els troben. Suggerixen poppler-utils, wv, unrtf i tidy (sense wv per al .rpm): extreuen el text dels documents penjats, perquè la cerca trobi paraules dins seu. Instal·leu-los vosaltres mateixos si ho voleu.
1. Instal·leu els paquets
Baixeu el paquet d'Antimatter i el paquet del servei de GIF de la vostra arquitectura, verifiqueu-los com es mostra a dalt i instal·leu-los tots dos amb una sola comanda, de manera que es compleixi la recomanació de gifs-server (no està als repositoris de les distribucions):
# 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
Mantingueu el ./: indica a apt i dnf que instal·lin un fitxer local. Per instal·lar sense el servei de GIF, ometeu el seu paquet. El paquet habilita el servei antimatter però no l'inicia, i mostra els passos següents.
2. Creeu la base de dades
Antimatter necessita PostgreSQL 15 o superior, en aquest servidor o en un altre. Comproveu la versió del PostgreSQL de la vostra distribució amb psql --version. Si és anterior, instal·leu una versió més nova des dels repositoris propis del projecte PostgreSQL, o utilitzeu una base de dades en un altre servidor. A Debian i Ubuntu, el paquet postgresql inicia la base de dades. A Fedora i RHEL, creeu-la i inicieu-la primer:
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
Després, creeu un usuari i una base de dades per a Antimatter:
sudo -u postgres psql -c "CREATE USER antimatter WITH PASSWORD 'a-long-password'"
sudo -u postgres psql -c "CREATE DATABASE antimatter OWNER antimatter"
PostgreSQL ha d'acceptar connexions amb contrasenya des de 127.0.0.1: les línies host del seu fitxer pg_hba.conf, amb el mètode scram-sha-256.
3. Configureu la base de dades i l'URL del lloc
Editeu /etc/antimatter/antimatter.env (sudoedit /etc/antimatter/antimatter.env). Elimineu el # davant de les línies que utilitzeu i configureu la base de dades i l'adreça que obriren les persones:
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
Qualsevol paràmetre de la configuració pot anar en aquest fitxer, com a AM_<SECTION>_<SETTING>: per exemple, SqlSettings.DataSource és AM_SQLSETTINGS_DATASOURCE. Un paràmetre definit aquí no es pot canviar a la Consola del sistema. Vegeu Configuració. Reinicieu el servidor després de cada canvi: sudo systemctl restart antimatter.
El servei també estableix uns quants valors predeterminats, que una línia a antimatter.env sobreescriu: el registre a fitxers està desactivat (AM_LOGSETTINGS_ENABLEFILE=false, AM_NOTIFICATIONLOGSETTINGS_ENABLEFILE=false), i el mode local està activat (AM_SERVICESETTINGS_ENABLELOCALMODE=true), de manera que amctl --local funcioni al servidor.
4. Inicieu-lo
sudo systemctl start antimatter
journalctl -u antimatter -f
sudo -u antimatter amctl --local system status
En el primer inici, el servidor crea les seves taules i, a continuació, escolta al port 8065. Obre http://<server>:8065, o el teu domini un cop tinguis un servidor intermediari invers configurat (consulta Domini i HTTPS), i crea el primer compte de seguida: es convertirà en l'administrador del sistema. Per crear-lo des de la línia d'ordres, utilitza les ordres amctl de Crea el primer administrador, amb sudo -u antimatter amctl --local en lloc de docker compose exec antimatter amctl --local.
5. Activa els GIF
L'aplicació de GIF està inclosa i activada, i antimatter.env ja l'apunta al servei de GIF del mateix servidor (AM_GIFS_SERVICE_URL=http://127.0.0.1:8080/v2). Tot i això, necessita la clau d'API del servei. El paquet gifs-server n'ha generat una durant la instal·lació:
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
Posa la clau a antimatter.env com a AM_GIFS_API_KEY=<key> i reinicia Antimatter, o bé introdueix-la com a Clau d'API a Consola del sistema › Connectors › GIF. Si el servei de GIF s'executa en un altre servidor, configura AM_GIFS_SERVICE_URL amb la seva adreça. Per permetre que les persones afegeixin els seus propis GIF i adhesius, consulta GIF.
El servei
- S'executa com a usuari
antimatter, a/opt/antimatter, i llegeix/etc/antimatter/antimatter.env. systemd reinicia el servidor cada vegada que finalitza i li dona fins a una hora per iniciar-se, perquè les migracions de la base de dades d'una nova versió poden trigar. - Els seus registres es troben al journal:
journalctl -u antimatter. - Està reforçat:
/usri/etcsón de només lectura per al servidor, excepte/etc/antimatter/config, i no pot veure/home,/rootni/run/user. Si mous l'emmagatzematge de fitxers (FileSettings.Directory), tria un directori fora d'aquests, propietat deantimatter. - Les actualitzacions reemplacen el fitxer de servei. Per canviar-lo, utilitza
sudo systemctl edit antimatter, que manté els teus canvis en un fitxer separat.
Actualitza un paquet
- Fes una còpia de seguretat (consulta Còpies de seguretat i actualitzacions).
- Descarrega el nou paquet i
SHA256SUMS, i verifica'ls. - Atura el servidor, instal·la el nou paquet al damunt de l'antic i torna a iniciar-lo:
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
El paquet no reinicia el servidor per si mateix. Després d'una actualització, mostra Antimatter was upgraded; restart it to run the new version: sudo systemctl restart antimatter: si no has aturat el servidor abans, reinicia'l de seguida. L'actualització substitueix /opt/antimatter i el fitxer de servei, i manté antimatter.env, config.json, /var/lib/antimatter i els registres. Quan s'inicia, el servidor actualitza la base de dades i instal·la les versions més noves de les aplicacions integrades.
Si una nova versió canvia el fitxer antimatter.env per defecte, apt pregunta si vols mantenir la teva versió: fes-ho. dnf manté la teva i guarda la nova com a /etc/antimatter/antimatter.env.rpmnew. Les actualitzacions només van endavant: no instal·lis una versió antiga per sobre d'una de nova.
Elimina un paquet
sudo apt remove antimatter o sudo dnf remove antimatter atura i deshabilita el servei, i elimina el programa. Manté les dades (/var/lib/antimatter), la configuració (/etc/antimatter), la base de dades i l'usuari antimatter: elimina'ls tu mateix per esborrar Antimatter completament.
Aplicacions als paquets i a l'arxiu
Els paquets i l'arxiu inclouen l'última versió signada d'aquestes aplicacions, a prepackaged_plugins/: AI chat, Calls, GIFs, Memes, Notes, Polls, Todo, Voice Channels i Whiteboard. Una aplicació que no tenia cap versió publicada quan es va crear la versió del servidor queda exclosa: ls /opt/antimatter/prepackaged_plugins mostra què inclou la teva versió. Memes i Todo estan inclosos però no activats: Aplicacions integrades explica com instal·lar-les i activar-les.
Kanban i Playbooks ja no s'inclouen amb el servidor ni amb cap de les imatges Docker: un servidor que ja en tingui un d'instal·lat el manté després d'una actualització, i qualsevol altre l'instal·la des de la seva pròpia versió, com les aplicacions següents. Les altres aplicacions de les imatges Docker tampoc no són als paquets ni a l'arxiu: Mail, Calendar, GitHub, GitLab, Jira i Metrics. Instal·la cadascuna, incloses Kanban i Playbooks, des de les seves pròpies versions:
| Aplicació | Versions | Id de l'aplicació |
|---|---|---|
| Kanban | antimatter-plugin-boards | focalboard |
| Guies d'actuació | antimatter-plugin-playbooks | playbooks |
| Correu | antimatter-plugin-mail | com.antimatterchat.mail |
| Calendari | 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 |
| Mètriques | Antimatter-plugin-metrics | com.mattermost.mattermost-plugin-metrics |
Cada versió d'una aplicació inclou el seu paquet (un fitxer .tar.gz), la seva signatura (el mateix nom amb .sig afegit) i un fitxer SHA256SUMS. Per instal·lar una aplicació, permeteu les càrregues i, a continuació, afegiu el paquet amb 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
Per actualitzar una aplicació instal·lada d'aquesta manera, afegiu el nou paquet amb plugin add --force: les actualitzacions de paquets només actualitzen les aplicacions incloses. Podeu tornar a eliminar la línia AM_PLUGINSETTINGS_ENABLEUPLOADS després. Consulteu Instal·lació d'altres aplicacions per conèixer les altres maneres d'instal·lar aplicacions.
Signatures d'aplicacions
Els paquets d'aplicacions estan signats amb la clau de signatura d'aplicacions d'Antimatter: cada fitxer .tar.gz.sig és una signatura GPG deslligada del seu paquet. El servidor comprova aquestes signatures abans d'instal·lar una aplicació inclosa. Per comprovar un paquet vosaltres mateixos:
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 ha de reportar una signatura vàlida de Antimatter Plugin Signing, amb l'empremta 06C8 1032 4677 0F08 BBA7 78B9 E69B 05C3 92A6 9A45. També avisa que la clau no està certificada amb una signatura de confiança: això és normal per a una clau que no heu signat vosaltres mateixos. Una versió d'aplicació sense fitxers .sig no està signada, i les notes de la versió ho indiquen.
Instal·lació des d'un arxiu de publicació
L'arxiu, antimatter-<version>-linux-<arch>.tar.gz (per exemple, antimatter-0.9.0-linux-amd64.tar.gz), és adequat per a una distribució sense paquets .deb o .rpm, o per a una estructura de fitxers pròpia. Conté un únic directori antimatter/ amb bin/antimatter, bin/amctl, config/config.json, les aplicacions web (client/ i client-fusion/), les aplicacions incloses (prepackaged_plugins/, vegeu més amunt), les plantilles de correu electrònic i les traduccions.
1. Prepara PostgreSQL
Antimatter només admet PostgreSQL, versió 15 o superior (les versions anteriors s'inicien, però amb un error al registre). Crea un usuari i una base de dades:
sudo -u postgres psql <<'EOF'
CREATE USER antimatter WITH PASSWORD 'a-long-password';
CREATE DATABASE antimatter OWNER antimatter;
EOF
2. Descomprimeix i configura
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
Indica al servidor la base de dades, ja sigui a /opt/antimatter/config/config.json (SqlSettings.DataSource) o mitjançant variables d'entorn, i estableix l'URL del lloc web:
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
El config.json de l'arxiu és una configuració per defecte completa: les configuracions que canvies al Consola del sistema es desen de nou en aquest fitxer. Per mantenir la configuració a la base de dades en lloc d'això, consulta Configuració.
3. Executa-ho com a servei
Una unitat de systemd, a /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
Posa les teves variables AM_ a /etc/antimatter.env (només llegible per l'arrel) i, a continuació:
sudo systemctl daemon-reload
sudo systemctl enable --now antimatter
journalctl -u antimatter -f
El servidor escolta al port 8065. Obre http://<server>:8065, o el teu domini un cop estigui configurat un proxy invers (vegeu Domini i HTTPS), i crea el primer compte: aquest es convertirà en l'administrador del sistema.
bin/amctl gestiona el servidor en execució des de la línia d'ordres. Al mateix servidor, funciona sense iniciar sessió mitjançant el mode local: establiu AM_SERVICESETTINGS_ENABLELOCALMODE=true i, a continuació, executeu sudo -u antimatter /opt/antimatter/bin/amctl --local system status.
Per als GIF, instal·leu el servei de GIF (vegeu més avall) i configureu AM_GIFS_SERVICE_URL i AM_GIFS_API_KEY tal com es descriu al pas 5 dels paquets.
Els paquets del servei de GIF i del proxy de notificacions
El servei de GIF i el proxy de notificacions tenen les seves pròpies versions, amb les mateixes regles que el servidor: un arxiu .tar.gz, un paquet .deb i un paquet .rpm per a amd64 i arm64, i un fitxer SHA256SUMS. Les versions amb un guió són versions preliminars. Comproveu les descàrregues amb sha256sum --check --ignore-missing SHA256SUMS, igual que amb el servidor.
El servei de GIF (gifs-server)
Versions: github.com/AntimatterChat/gifs-server/releases. L'arxiu és gifs-server-<version>-linux-<arch>.tar.gz; els paquets s'anomenen gifs-server.
sudo apt install ./gifs-server_*_amd64.deb # Debian, Ubuntu
sudo dnf install ./gifs-server-*.x86_64.rpm # Fedora, RHEL
El paquet instal·la:
/usr/bin/gifs-server, i el serveigifs-server, que s'executa com a usuarigifs-serveri manté el seu catàleg a/var/lib/gifs-server;- el servei
gifs-server-stickers, que importa o actualitza el paquet d'adhesius a/usr/share/gifs-server/stickersquan s'inicia, i després s'atura; - la seva configuració,
/etc/gifs-server/gifs-server.env(variablesAM_GIFS_, que es conserven en les actualitzacions), i/etc/gifs-server/api-keys, una clau d'API per línia, amb una clau aleatòria generada a la primera instal·lació.
Escolta a 127.0.0.1:8080, de manera que només Antimatter al mateix servidor hi pot accedir. Si Antimatter s'executa en un altre lloc, definiu AM_GIFS_LISTEN=:8080 a gifs-server.env i restringiu l'accés al port amb el vostre tallafocs. El fitxer enumera la resta de configuracions: AM_GIFS_UPLOAD_KEYS (les claus permeses per afegir GIF i adhesius, i per eliminar els afegits amb elles), AM_GIFS_PUBLIC_URL, AM_GIFS_TRUST_PROXY i AM_GIFS_LOG_LEVEL. El paquet recomana ffmpeg, gifsicle, librsvg2-bin (librsvg2-tools per al .rpm) i una lletra DejaVu: el servei les utilitza per crear els formats de GIF, vídeo i adhesius quan importa o rep fitxers, i funciona sense elles.
Com el servidor, el servei s'habilita però no s'inicia a la instal·lació. Inicieu-lo tal com es mostra al pas 5 dels paquets. Després d'una actualització, reinicieu-lo: sudo systemctl restart gifs-server. Si elimineu el paquet, el catàleg a /var/lib/gifs-server es conserva.
El proxy de notificacions
Versions: github.com/AntimatterChat/push-proxy/releases. L'arxiu comprimit és antimatter-push-proxy-<version>-linux-<arch>.tar.gz; els paquets s'anomenen antimatter-push-proxy. El paquet instal·la /usr/bin/antimatter-push-proxy i el servei antimatter-push-proxy, que s'executa com a usuari antimatter-push-proxy i llegeix /etc/antimatter-push-proxy/antimatter-push-proxy.json (es conserva durant les actualitzacions). Les credencials d'Apple i Firebase van a /etc/antimatter-push-proxy/certs: Notificacions push explica d'on provenen.
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
Al fitxer de configuració, els camins són relatius a /etc/antimatter-push-proxy: per exemple, "AppleAuthKeyFile": "./certs/AuthKey_ABCDE12345.p8" i "ServiceFileLocation": "./certs/firebase-service-account.json". Després, defineix el Servidor de notificacions push a Antimatter com a http://<proxy host>:8066. Després d'una actualització, reinicia el servei: sudo systemctl restart antimatter-push-proxy.
Altres ordres del servidor
A part d'executar el servidor (antimatter, o antimatter server), el binari té algunes ordres de manteniment. Llegeixen la mateixa configuració que el servidor.
| Ordre | Què fa |
|---|---|
antimatter version | Imprimeix la versió, el número de compilació, la data de compilació i el hash de compilació. |
antimatter db ping | Comprova que la base de dades és accessible. |
antimatter db init | Crea la configuració a la base de dades (amb AM_CONFIG establert a una URL postgres://). |
antimatter db migrate | Aplica les migracions de la base de dades sense iniciar el servidor. |
antimatter db version | Imprimeix l'última migració aplicada a la base de dades. |
antimatter import bulk, antimatter export bulk | Importa o exporta dades en el format massiu (vegeu Còpies de seguretat i actualitzacions). |