Memasang Antimatter
Pasang Antimatter dengan fail compose yang sedia ada, daripada pakej .deb atau .rpm keluaran, atau daripada arkib keluaran. Kemudian, cipta akaun pentadbir pertama.
Pasang dengan Docker Compose
Ini adalah cara yang disyorkan. Satu fail compose menjalankan Antimatter, PostgreSQL, storan fail dan perkhidmatan GIF. Anda memerlukan pelayan Linux dengan Docker Engine dan plugin Compose-nya (docker compose), 2 teras CPU dan 4 GB memori atau lebih.
1. Muat turun fail compose
mkdir antimatter && cd antimatter
curl -fsSLO https://antimatter.chat/compose.yaml
2. Cipta fail .env
Fail compose membaca tetapan daripada fail .env dalam direktori yang sama. Ciptakannya dengan rahsia rawak:
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
Tetapkan SITE_URL kepada alamat yang akan diketik oleh pengguna dalam pelayar mereka, contohnya http://192.168.1.20:8065 dalam rangkaian tempatan atau https://chat.example.com dengan domain. Simpan fail .env: pangkalan data dan storan menggunakan kata laluan ini daripada permulaan pertama, kunci API sambungan model AI disulitkan dengan AM_AI_ENCRYPTION_KEY, dan anda memerlukan fail yang sama untuk memulihkan sandaran.
3. Mulakannya
docker compose up -d
docker compose ps
Permulaan pertama mengambil masa satu atau dua minit: PostgreSQL mencipta pangkalan data, perkhidmatan bucket sekali sahaja mencipta baldah storan, perkhidmatan gifs-stickers sekali sahaja mengimport pakej stiker permulaan, dan Antimatter mencipta jadualnya. Ikuti dengan docker compose logs -f antimatter.
Untuk menggunakan nama domain dan HTTPS dari permulaan, lihat Domain dan HTTPS: dengan fail compose, ia hanya dua baris lagi dalam .env dan profil https.
Pemboleh ubah .env
| Pemboleh ubah | Lalai | Fungsinya |
|---|---|---|
SITE_URL | diperlukan | Alamat awam Antimatter (ServiceSettings.SiteURL). |
POSTGRES_PASSWORD | diperlukan | Kata laluan pengguna pangkalan data antimatter. |
S3_SECRET_KEY | diperlukan | Kunci rahsia storan fail. |
GIFS_API_KEY | diperlukan | Kunci yang digunakan oleh Antimatter untuk memanggil perkhidmatan GIF. |
AM_AI_ENCRYPTION_KEY | kosong | Kunci yang menyulitkan kunci API sambungan model AI (openssl rand -base64 32). Kosong: pelayan akan membuat fail kunci dalam volume data. Lihat Kunci penyulitan. |
GIFS_UPLOAD_KEY | kosong | Membolehkan pengguna menambah GIF dan pelekat mereka sendiri daripada pemilih, dan memadamnya. Kosong akan mematikan muat naik. |
DOMAIN | kosong | Nama domain anda, untuk profil https. |
HTTP_PORT | 8065 | Port hos pelayan web Antimatter. |
CALLS_PORT | 8443 | Port UDP dan TCP untuk audio dan video panggilan. |
EDGE_SUBNET | 172.29.71.0/28 | Subnet rangkaian antara Caddy dan Antimatter. Ubah jika ia bertindih dengan salah satu rangkaian anda. |
TZ | UTC | Zon masa kontena. |
ANTIMATTER_IMAGE | ghcr.io/antimatterchat/antimatter-next:latest | Imej Antimatter untuk dijalankan (lihat di bawah). |
Apa yang dijalankan
| Perkhidmatan | Imej | Peranan |
|---|---|---|
antimatter | ghcr.io/antimatterchat/antimatter-next | Pelayan, aplikasi web dan aplikasi terpadu. Menerbitkan HTTP_PORT dan CALLS_PORT. Direktori datanya ialah volume data. |
postgres | postgres:17-alpine | Pangkalan data, dalam isipadu postgres. |
files | rustfs/rustfs | Penyimpanan serasi S3 untuk fail yang dimuat naik dan aplikasi yang dipasang, dalam volume files. |
bucket | amazon/aws-cli | Membuat baldah antimatter, kemudian keluar. |
gifs | ghcr.io/antimatterchat/gifs-server | Perkhidmatan GIF dan pelekat, dalam volume gifs. |
gifs-stickers | ghcr.io/antimatterchat/gifs-server | Mendatangkan pakej pelekat permulaan buat kali pertama, kemudian keluar. |
https | caddy:2-alpine | Hanya dengan profil https: HTTPS pada port 80 dan 443. |
PostgreSQL, penyimpanan dan perkhidmatan GIF berada pada rangkaian dalaman (private) tanpa akses Internet, yang hanya disertai oleh Antimatter. Tiada satu pun daripada mereka menerbitkan port.
Kontena Antimatter tidak menyimpan apa-apa pada cakera: tetapanannya berada dalam pangkalan data (AM_CONFIG menunjuk ke sana) dan fail serta aplikasinya berada dalam perkhidmatan storan. Anda boleh memadam dan mencipta semula kontena pada bila-bila masa. Volume datanya hanya memegang fail kunci penyulitan AI, yang dibuat oleh pelayan apabila AM_AI_ENCRYPTION_KEY kosong. Semua yang perlu disandarkan berada dalam volume postgres, files, gifs dan data, serta .env anda.
Pilih imej
Dua imej Antimatter diterbitkan, kedua-duanya untuk linux/amd64 dan linux/arm64, dan kedua-duanya dibina dari cawangan main setiap repositori:
| Imej | Aplikasi terpalit | Tag |
|---|---|---|
ghcr.io/antimatterchat/antimatter | Ejen, Panggilan, GitHub, GitLab, Jira, Kanban, Metrik dan Buku Taktik. | latest, X.Y.Z untuk pelepasan, sha-<commit> |
ghcr.io/antimatterchat/antimatter-next | Sama seperti di atas, ditambah Saluran Suara, Undian, Mel, Kalendar, Nota, Papan Putih, GIF, Senarai tugasan dan Meme. Dibina semula setiap malam. | latest, nightly, nightly-<YYYYMMDD>, sha-<commit> |
Fail compose laman web menggunakan antimatter-next, kerana perkhidmatan GIF dan kebanyakan aplikasi yang diterangkan pada laman web ini hanya terdapat dalam imej tersebut. Untuk mengubah imej, tetapkan ANTIMATTER_IMAGE dalam .env dan jalankan docker compose up -d.
latest berubah di bawah anda. Dalam pengeluaran, semat tag seperti nightly-20261015 atau sha-<commit>, dan ubah dengan sengaja apabila anda menaik taraf. Pelayan menaik taraf pangkalan datanya apabila ia bermula, jadi anda tidak boleh kembali ke imej yang lebih lama, atau dari antimatter-next ke antimatter, tanpa memulihkan salai yang diambil sebelum itu. Lihat Salai dan peningkatan.Di dalam imej
- Pelayan berada di
/antimatter, dengan binariantimatterdanamctldi/antimatter/bin(padaPATH). - Ia berjalan sebagai pengguna tidak berkeistimewaan
antimatter(uid 2000) pada asas distroless minimum, tanpa shell. - Port: 8065 (web dan API), 8067 (metrik), 8074 (kluster), 8443 UDP dan TCP (panggilan).
- Mod lokal (
ServiceSettings.EnableLocalMode) dihidupkan, jadiamctl --localberfungsi di dalam kontena. Semakan kesihatan menjalankanamctl system status --local. - Aplikasi terpalit berada di
/antimatter/prepackaged_plugins, ditandatangani dengan kunci penandatanganan aplikasi Antimatter. - Alat pengekstrakan teks (
pdftotext,wvText,unrtf,tidy) disertakan, jadi kandungan dokumen yang dimuat naik boleh dicari.
Fail compose lain
Repositori antimatter-docker mempunyai persediaan pengeluaran di deploy/compose/: nginx dengan sijil anda sendiri atau Let's Encrypt (certbot), PostgreSQL, perkhidmatan GIF pilihan (profil gifs) dan isipadu bernama untuk konfigurasi, data dan log pelayan, yang didokumentasikan dalam README-nya. Ia menggunakan imej stabil secara lalai dan menyimpan fail pada isipadu tempatan berbanding storan S3. Guna ini jika anda lebih suka nginx berbanding Caddy, atau sudah mempunyai sijil.
Cipta pentadbir pertama
Buka SITE_URL dalam pelayar anda dan cipta akaun. Akaun pertama yang dicipta pada pelayan baharu menjadi pentadbir sistem, dan persediaan kemudian membimbing anda melalui penciptaan komuniti pertama anda (nama Antimatter untuk pasukan atau ruang kerja).
Lakukannya segera selepas permulaan pertama: sehingga ketika itu, sesiapa sahaja yang mencapai pelayan terlebih dahulu akan menjadi pentadbirnya. Untuk mencipta akaun dari baris arahan sebaliknya, sebelum pelayan boleh dicapai dari luar:
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
Kemudian log masuk di SITE_URL. Mula arahan dengan ruang untuk mengekalkan kata laluan keluar dari sejarah shell anda (dengan HISTCONTROL=ignorespace), atau ubah kata laluan setelah log masuk.
Langkah seterusnya setelah anda masuk:
- Untuk syarikat atau organisasi, tetapkan Jenis komuniti baharu kepada Tempat kerja, dan ubah jenis komuniti yang telah anda cipta dalam tetapanannya: Tempat kerja atau komuniti.
- Tentukan siapa yang boleh mencipta akaun: Log masuk dan akaun.
- Konfigurasikan e-mel, supaya jemputan dan tetapan semula kata laluan berfungsi: E-mel dan pemberitahuan push.
- Buka port panggilan dalam tembok api anda: Panggilan dan suara.
- Semak aplikasi mana yang dihidupkan: Aplikasi terpalit.
Muat turun keluaran
Tanpa Docker, pasang Antimatter daripada fail keluaran di GitHub: github.com/AntimatterChat/antimatter/releases. Setiap keluaran mempunyai nombor versi seperti 0.9.0, dan tagnya ialah nombor yang sama dengan v di hadapannya (v0.9.0).
0.9.0-rc.1, dilabel Pre-release di GitHub. Ia ialah versi ujian, diterbitkan sebelum penerbitan akhir.Setiap penerbitan mempunyai fail-fail ini, untuk pelayan amd64 dan arm64:
| Fail | Apakah ia |
|---|---|
antimatter_<version>-1_amd64.deb, antimatter_<version>-1_arm64.deb | Pakej untuk Debian, Ubuntu dan taburan yang berasaskan taburan-taburan tersebut. |
antimatter-<version>-1.x86_64.rpm, antimatter-<version>-1.aarch64.rpm | Pakej untuk Fedora, RHEL dan taburan yang serasi dengan RHEL. |
antimatter-<version>-linux-amd64.tar.gz, antimatter-<version>-linux-arm64.tar.gz | Arkib penerbitan, untuk mana-mana taburan Linux, diset secara manual. |
SHA256SUMS | Semakan SHA-256 bagi setiap fail dalam penerbitan. |
Pakej dan arkib mengandungi program yang sama: pelayan (antimatter), alat baris arahan (amctl), kedua-dua aplikasi web (antaramuka lalai dan yang klasik), aplikasi terpadu, templat e-mel dan terjemahan. Pakej menambah perkhidmatan systemd dan fail tetapan, jadi setiap satu ialah pemasangan serba lengkap: anda hanya perlu menambah pangkalan data PostgreSQL. Tiada muat turun binari berasingan: binari berada dalam arkib, di antimatter/bin/. Ia statik, jadi ia boleh dijalankan pada mana-mana taburan Linux bagi seni bina tersebut.
Dalam nama pakej, tanda sengkang bagi versi pra-penerbitan menjadi tilde, supaya pengurusan pakej menyusun pra-penerbitan sebelum penerbitan akhir: versi 0.9.0-rc.1 menghasilkan antimatter_0.9.0~rc.1-1_amd64.deb dan antimatter-0.9.0~rc.1-1.x86_64.rpm. Arkib mengekalkan tanda sengkang.
antimatter version memaparkan versi penerbitan sebagai Nombor Binaan, dengan commit yang dibina daripadanya sebagai Hash Binaan. Baris Versi ialah versi baris Mattermost yang menjadi asas Antimatter.
Semak muat turun
Muat turun fail yang anda perlukan dan SHA256SUMS ke dalam direktori yang sama, daripada halaman penerbitan atau dengan curl, kemudian semak fail tersebut:
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
Setiap fail yang anda muat turun mesti disenaraikan dengan OK. Sebarang keputusan lain bermakna fail tersebut rosak atau tidak lengkap: muat turunnya semula, dan jangan pasang. SHA256SUMS tidak ditandatangani: ia mengesan muat turun yang rosak, dan tidak membuktikan apa-apa lebih daripada muat turun HTTPS daripada GitHub.
Pasang pakej .deb atau .rpm
Pakej memasang Antimatter sebagai perkhidmatan systemd, yang hanya memerlukan pangkalan data untuk bermula. Guna pada pelayan 64-bit Debian, Ubuntu, Fedora atau serasi RHEL dengan systemd.
Apa yang dipasang oleh pakej
| Laluan | Kandungan |
|---|---|
/opt/antimatter | Program: bin/antimatter, bin/amctl, aplikasi web (client/, client-fusion/), aplikasi terbalut (prepackaged_plugins/), templat, terjemahan dan fon. Setiap peningkatan akan menggantikannya. |
/etc/antimatter/antimatter.env | Tetapan perkhidmatan, sebagai pemboleh ubah AM_: pangkalan data, URL laman web, perkhidmatan GIF. Hanya boleh dibaca oleh root. Peningkatan akan menyimpannya. |
/etc/antimatter/config/config.json | Fail konfigurasi, di mana pelayan menyimpan tetapan yang diubah dalam Konsol Sistem. Ia dicipta daripada /opt/antimatter/defaults/config.json semasa pemasangan pertama, dan tidak akan digantikan selepas itu. |
/var/lib/antimatter | Fail yang dimuat naik (data/) dan aplikasi yang dipasang (plugins/, client-plugins/). |
/var/log/antimatter | Fail log, jika anda menghidupkan log fail. Ia dimatikan: log akan dihantar ke jurnal. |
/usr/lib/systemd/system/antimatter.service | Perkhidmatan. |
/usr/bin/amctl | Pautan ke /opt/antimatter/bin/amctl. |
Direktori yang ditulis oleh pelayan dalam /opt/antimatter (config, data, plugins, client/plugins dan logs) adalah pautan ke /etc/antimatter, /var/lib/antimatter dan /var/log/antimatter. Oleh itu, peningkatan yang menggantikan /opt/antimatter tidak akan menyentuh data anda. Pakej ini juga mencipta pengguna sistem antimatter, yang menjalankan pelayan dan memiliki direktori ini.
Pakej ini bergantung pada ca-certificates. Ia mengesyorkan PostgreSQL (postgresql pada Debian dan Ubuntu, postgresql-server pada Fedora dan RHEL), media-types (mailcap untuk .rpm) dan gifs-server, perkhidmatan GIF, yang mempunyai penerbitannya sendiri (lihat di bawah). apt dan dnf akan memasang pakej yang disyorkan jika ditemui. Ia mencadangkan poppler-utils, wv, unrtf dan tidy (tiada wv untuk .rpm): ia mengekstrak teks daripada dokumen yang dimuat naik, supaya carian dapat menemui perkataan di dalamnya. Pasang sendiri jika anda mahukan ini.
1. Pasang pakej
Muat turun pakej Antimatter dan pakej perkhidmatan GIF untuk seni bina anda, semak seperti yang ditunjukkan di atas, dan pasang kedua-duanya dalam satu arahan, supaya cadangan gifs-server dipenuhi (ia tidak terdapat dalam repositori taburan):
# 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
Simpan ./: ia memberitahu apt dan dnf untuk memasang fail tempatan. Untuk memasang tanpa perkhidmatan GIF, tinggalkan pakejnya. Pakej ini membolehkan perkhidmatan antimatter tetapi tidak memulakannya, dan memaparkan langkah seterusnya.
2. Cipta pangkalan data
Antimatter memerlukan PostgreSQL 15 atau yang lebih baharu, sama ada pada pelayan ini atau pelayan lain. Semak versi PostgreSQL edisi anda dengan psql --version. Jika ia lebih lama, pasang versi yang lebih baharu dari repositori projek PostgreSQL sendiri, atau gunakan pangkalan data pada pelayan lain. Pada Debian dan Ubuntu, pakej postgresql memulakan pangkalan data. Pada Fedora dan RHEL, cipta dan mulakannya terlebih dahulu:
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
Kemudian cipta pengguna dan pangkalan data untuk 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 mesti menerima sambungan kata laluan dari 127.0.0.1: baris host dalam fail pg_hba.confnya, dengan kaedah scram-sha-256.
3. Tetapkan pangkalan data dan URL laman web
Sunting /etc/antimatter/antimatter.env (sudoedit /etc/antimatter/antimatter.env). Buang # di hadapan baris yang anda gunakan, dan tetapkan pangkalan data serta alamat yang akan dibuka oleh pengguna:
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
Mana-mana tetapan konfigurasi boleh diletakkan dalam fail ini sebagai AM_<SECTION>_<SETTING>: sebagai contoh, SqlSettings.DataSource ialah AM_SQLSETTINGS_DATASOURCE. Tetapan yang ditetapkan di sini tidak boleh diubah dalam Konsol Sistem. Lihat Konfigurasi. Mula semula pelayan selepas setiap perubahan: sudo systemctl restart antimatter.
Perkhidmatan ini juga menetapkan beberapa nilai lalai, yang boleh ditimpa oleh baris dalam antimatter.env: pelayaran ke fail adalah dimatikan (AM_LOGSETTINGS_ENABLEFILE=false, AM_NOTIFICATIONLOGSETTINGS_ENABLEFILE=false), dan mod tempatan adalah dihidupkan (AM_SERVICESETTINGS_ENABLELOCALMODE=true), supaya amctl --local berfungsi pada pelayan.
4. Mula
sudo systemctl start antimatter
journalctl -u antimatter -f
sudo -u antimatter amctl --local system status
Pada permulaan pertama, pelayan akan mencipta jadualnya, kemudian mendengar pada port 8065. Buka http://<server>:8065, atau domain anda setelah proksi songsang dipasang (lihat Domain dan HTTPS), dan terus cipta akaun pertama: ia akan menjadi pentadbir sistem. Untuk menciptanya dari baris arahan sebaliknya, gunakan arahan amctl daripada Cipta pentadbir pertama, dengan sudo -u antimatter amctl --local menggantikan docker compose exec antimatter amctl --local.
5. Hidupkan GIF
Aplikasi GIF disertakan dan dihidupkan, dan antimatter.env sudah menunjukkannya ke perkhidmatan GIF pada pelayan yang sama (AM_GIFS_SERVICE_URL=http://127.0.0.1:8080/v2). Ia masih memerlukan kunci API perkhidmatan tersebut. Pakej gifs-server telah menjana satu semasa pemasangannya:
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
Letakkan kunci dalam antimatter.env sebagai AM_GIFS_API_KEY=<key> dan mulakan semula Antimatter, atau masukkan sebagai Kunci API dalam Konsol Sistem › Plugin › GIF. Jika perkhidmatan GIF berjalan pada pelayan lain, tetapkan AM_GIFS_SERVICE_URL ke alamatnya. Untuk membolehkan pengguna menambah GIF dan pelekat mereka sendiri, lihat GIF.
Perkhidmatan
- Ia berjalan sebagai pengguna
antimatter, dalam/opt/antimatter, dan membaca/etc/antimatter/antimatter.env. systemd akan memulakan semula pelayan setiap kali ia tamat, dan memberikannya sehingga satu jam untuk bermula, kerana migrasi pangkalan data versi baharu boleh mengambil masa yang lama. - Lognya terdapat dalam jurnal:
journalctl -u antimatter. - Ia diperkukuh:
/usrdan/etcadalah sahaja untuk pelayan, kecuali/etc/antimatter/config, dan ia tidak dapat melihat/home,/rootatau/run/user. Jika anda memindahkan stor fail (FileSettings.Directory), pilih direktori di luar ini, dimiliki olehantimatter. - Tahap naik akan menggantikan fail perkhidmatan. Untuk mengubahnya, gunakan
sudo systemctl edit antimatter, yang menyimpan perubahan anda dalam fail berasingan.
Tahap naik pakej
- Ambil sandaran (lihat Sandaran dan tahap naik).
- Muat turun pakej baharu dan
SHA256SUMS, dan semak mereka. - Hentikan pelayan, pasang pakej baharu di atas yang lama, dan mulakannya semula:
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
Pakej ini tidak memulakan semula pelayan secara automatik. Selepa peningkatan, ia akan memaparkan Antimatter was upgraded; restart it to run the new version: sudo systemctl restart antimatter: jika anda tidak berhenti pelayan terlebih dahulu, mulakan semula pelayan tersebut serta-merta. Peningkatan ini akan menggantikan /opt/antimatter dan fail perkhidmatan, serta mengekalkan antimatter.env, config.json, /var/lib/antimatter dan log. Apabila pelayan dimulakan, ia akan meningkatkan pangkalan data dan memasang versi baharu aplikasi yang disertakan.
Jika versi baharu mengubah lalai antimatter.env, apt akan bertanya sama ada anda mahu mengekalkan versi anda: kekalkan versi anda. dnf akan mengekalkan versi anda dan menyimpan versi baharu sebagai /etc/antimatter/antimatter.env.rpmnew. Peningkatan hanya berlaku ke hadapan: jangan pasang versi lama ke atas versi baharu.
Buang pakej
sudo apt remove antimatter atau sudo dnf remove antimatter akan menghentikan dan melumpuhkan perkhidmatan, serta membuang program. Ia akan mengekalkan data (/var/lib/antimatter), konfigurasi (/etc/antimatter), pangkalan data dan pengguna antimatter: buang sendiri untuk membuang Antimatter sepenuhnya.
Aplikasi dalam pakej dan arkib
Pakej dan arkib ini termasuk versi lepasan bertanda terbaharu bagi aplikasi ini, dalam prepackaged_plugins/: Agents, Calls, GIFs, Memes, Notes, Polls, Todo, Voice Channels dan Whiteboard. Aplikasi yang belum mempunyai versi lepasan apabila versi pelayan dibina tidak disertakan: ls /opt/antimatter/prepackaged_plugins menunjukkan apa yang disertakan dalam versi anda. Memes dan Todo disertakan tetapi tidak diaktifkan: Aplikasi terikat menerangkan cara untuk memasang dan mengaktifkannya.
Aplikasi lain dalam imej Docker tidak disertakan dalam pakej atau arkib: Kanban, Playbooks, Mail, Calendar, GitHub, GitLab, Jira dan Metrics. Pasang setiap satu daripada versi lepasan masing-masing:
| Aplikasi | Versi Lepas | id aplikasi |
|---|---|---|
| Kanban | antimatter-plugin-boards | focalboard |
| Buku Taktik | antimatter-plugin-playbooks | playbooks |
| Mel | antimatter-plugin-mail | com.antimatterchat.mail |
| Kalendar | 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 |
| Metrik | Antimatter-plugin-metrics | com.mattermost.mattermost-plugin-metrics |
Setiap keluaran aplikasi mempunyai bundle aplikasi (fail .tar.gz), tandatangan (nama yang sama dengan .sig ditambah) dan fail SHA256SUMS. Untuk memasang aplikasi, benarkan muat naik, kemudian tambah bundle dengan 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
Untuk mengemas kini aplikasi yang dipasang dengan cara ini, tambah bundle baharu dengan plugin add --force: kemaskini pakej hanya mengemas kini aplikasi yang dibundel. Anda boleh membuang baris AM_PLUGINSETTINGS_ENABLEUPLOADS sekali lagi selepas itu. Lihat Memasang aplikasi lain untuk cara lain untuk memasang aplikasi.
Tandatangan aplikasi
Bundle aplikasi ditandatangani dengan kunci penandatanganan aplikasi Antimatter: setiap fail .tar.gz.sig ialah tandatangan GPG berasingan bagi bundle tersebut. Pelayan memeriksa tandatangan ini sebelum ia memasang aplikasi yang dibundel. Untuk memeriksa bundle anda sendiri:
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 mesti melaporkan tandatangan yang baik daripada Antimatter Plugin Signing, dengan cap jari 06C8 1032 4677 0F08 BBA7 78B9 E69B 05C3 92A6 9A45. Ia juga memberi amaran bahawa kunci tidak disahkan dengan tandatangan yang dipercayai: itu adalah normal untuk kunci yang anda tidak tandatangan sendiri. Keluaran aplikasi tanpa fail .sig adalah tidak bertandatangan, dan nota keluarannya menyatakan demikian.
Pasang dari arkib keluaran
Arkib, antimatter-<version>-linux-<arch>.tar.gz (contohnya antimatter-0.9.0-linux-amd64.tar.gz), sesuai untuk edisi tanpa pakej .deb atau .rpm, atau susunan anda sendiri. Ia mengandungi satu direktori antimatter/ dengan bin/antimatter, bin/amctl, config/config.json, aplikasi web (client/ dan client-fusion/), aplikasi yang dibundel (prepackaged_plugins/, lihat di atas), templat e-mel dan terjemahan.
1. Sediakan PostgreSQL
Antimatter hanya menyokong PostgreSQL, versi 15 atau lebih baharu (versi yang lebih lama akan bermula, dengan ralat dalam log). Cipta pengguna dan pangkalan data:
sudo -u postgres psql <<'EOF'
CREATE USER antimatter WITH PASSWORD 'a-long-password';
CREATE DATABASE antimatter OWNER antimatter;
EOF
2. Buka dan konfigurasi
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
Tunjuk pelayan ke pangkalan data, sama ada dalam /opt/antimatter/config/config.json (SqlSettings.DataSource) atau dengan pemboleh ubah persekitaran, dan tetapkan URL laman 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
config.json arkib ialah konfigurasi lalai yang lengkap: tetapan yang anda ubah dalam Konsol Sistem disimpan semula ke dalamnya. Untuk mengekalkan konfigurasi dalam pangkalan data sebaliknya, lihat Konfigurasi.
3. Jalankan sebagai perkhidmatan
Unit systemd, dalam /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
Letakkan pemboleh ubah AM_ anda dalam /etc/antimatter.env (boleh dibaca oleh root sahaja), kemudian:
sudo systemctl daemon-reload
sudo systemctl enable --now antimatter
journalctl -u antimatter -f
Pelayan mendengar pada port 8065. Buka http://<server>:8065, atau domain anda setelah proksi songsang dipasang (lihat Domain dan HTTPS), dan cipta akaun pertama: ia menjadi pentadbir sistem.
bin/amctl mengurus pelayan yang sedang berjalan dari baris arahan. Pada pelayan itu sendiri, ia berfungsi tanpa log masuk melalui mod tempatan: tetapkan AM_SERVICESETTINGS_ENABLELOCALMODE=true, kemudian jalankan sudo -u antimatter /opt/antimatter/bin/amctl --local system status.
Untuk GIF, pasang perkhidmatan GIF (lihat di bawah) dan tetapkan AM_GIFS_SERVICE_URL dan AM_GIFS_API_KEY seperti dalam langkah 5 pakej.
Pakej perkhidmatan GIF dan proksi tolak
Perkhidmatan GIF dan proksi tolak mempunyai penerbitan mereka sendiri, dengan peraturan yang sama seperti pelayan: arkib .tar.gz, pakej .deb dan .rpm untuk amd64 dan arm64, serta fail SHA256SUMS. Versi dengan sengkang ialah pra-penerbitan. Semak muat turun dengan sha256sum --check --ignore-missing SHA256SUMS, seperti untuk pelayan.
Perkhidmatan GIF (gifs-server)
Penerbitan: github.com/AntimatterChat/gifs-server/releases. Arkib ialah gifs-server-<version>-linux-<arch>.tar.gz; pakej dinamakan gifs-server.
sudo apt install ./gifs-server_*_amd64.deb # Debian, Ubuntu
sudo dnf install ./gifs-server-*.x86_64.rpm # Fedora, RHEL
Pakej memasang:
/usr/bin/gifs-server, dan perkhidmatangifs-server, yang berjalan sebagai penggunagifs-serverdan menyimpan katalognya di/var/lib/gifs-server;- perkhidmatan
gifs-server-stickers, yang mengimport atau mengemas kini set pelekat di/usr/share/gifs-server/stickersapabila anda memulakannya, kemudian berhenti; - tetapannya,
/etc/gifs-server/gifs-server.env(pemboleh ubahAM_GIFS_, dikekalkan semasa kemaskini), dan/etc/gifs-server/api-keys, satu kunci API per baris, dengan kunci rawak dijana pada pemasangan pertama.
Ia mendengar di 127.0.0.1:8080, jadi hanya Antimatter pada pelayan yang sama dapat mengaksesnya. Jika Antimatter berjalan di tempat lain, tetapkan AM_GIFS_LISTEN=:8080 dalam gifs-server.env dan hadkan akses ke port dengan tembok api anda. Fail ini menyenaraikan tetapan lain: AM_GIFS_UPLOAD_KEYS (kunci yang dibenarkan untuk menambah GIF dan pelekat, serta untuk memadam yang ditambah dengan mereka), AM_GIFS_PUBLIC_URL, AM_GIFS_TRUST_PROXY dan AM_GIFS_LOG_LEVEL. Pakej mengesyorkan ffmpeg, gifsicle, librsvg2-bin (librsvg2-tools untuk .rpm) dan fon DejaVu: perkhidmatan menggunakannya untuk membuat format GIF, video dan pelekat apabila ia mengimport atau menerima fail, dan berjalan tanpa mereka.
Seperti pelayan, perkhidmatan ini didayakan tetapi tidak dimulakan pada pemasangan. Mulakannya seperti yang ditunjukkan dalam langkah 5 pakej. Selepas kemaskini, mulakan semula: sudo systemctl restart gifs-server. Memadam pakej mengekalkan katalog di /var/lib/gifs-server.
Proksi tolak
Pelepasan: github.com/AntimatterChat/push-proxy/releases. Arkib ialah antimatter-push-proxy-<version>-linux-<arch>.tar.gz; pakej dinamakan antimatter-push-proxy. Pakej memasang /usr/bin/antimatter-push-proxy dan perkhidmatan antimatter-push-proxy, yang dijalankan sebagai pengguna antimatter-push-proxy dan membaca /etc/antimatter-push-proxy/antimatter-push-proxy.json (dipertahankan semasa peningkatan). Kelayakan Apple dan Firebase diletakkan dalam /etc/antimatter-push-proxy/certs: Pemberitahuan Dorong menerangkan sumbernya.
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
Dalam fail tetapan, laluan adalah relatif kepada /etc/antimatter-push-proxy: sebagai contoh "AppleAuthKeyFile": "./certs/AuthKey_ABCDE12345.p8" dan "ServiceFileLocation": "./certs/firebase-service-account.json". Kemudian tetapkan Pelayan Pemberitahuan Dorong dalam Antimatter kepada http://<proxy host>:8066. Selepas peningkatan, mulakan semula: sudo systemctl restart antimatter-push-proxy.
Arahan pelayan lain
Selain menjalankan pelayan (antimatter, atau antimatter server), binari ini mempunyai beberapa arahan penyelenggaraan. Ia membaca konfigurasi yang sama seperti pelayan.
| Arahan | Fungsinya |
|---|---|
antimatter version | Mencetak versi, nombor binaan, tarikh binaan dan hash binaan. |
antimatter db ping | Mengecek bahawa pangkalan data boleh dicapai. |
antimatter db init | Mencipta konfigurasi dalam pangkalan data (dengan AM_CONFIG ditetapkan ke URL postgres://). |
antimatter db migrate | Menerapkan migrasi pangkalan data tanpa memulakan pelayan. |
antimatter db version | Mencetak migrasi terakhir yang diterapkan pada pangkalan data. |
antimatter import bulk, antimatter export bulk | Mengimport atau mengekspor data dalam format pukal (lihat Sandaran dan naik taraf). |