Ενσωματωμένες εφαρμογές
Τα Docker images του Antimatter συνοδεύονται από ένα σύνολο εφαρμογών (plugins, στην Κονσόλα συστήματος). Αυτή η σελίδα τις καταγράφει, αναφέρει ποιες είναι ενεργοποιημένες μετά την εγκατάσταση και καλύπτει τις ρυθμίσεις που απαιτεί η κάθε μία από έναν διαχειριστή.
Οι προεγκατεστημένες εφαρμογές
Οι εφαρμογές εμφανίζονται ως Προσθήκες στην Κονσόλα συστήματος. Βρίσκονται στο image (στο /antimatter/prepackaged_plugins), υπογράφονται με το κλειδί υπογραφής εφαρμογών του Antimatter, οπότε εγκαθίστανται χωρίς σύνδεση στο Internet.
Το αρχείο έκδοσης και τα πακέτα .deb και .rpm περιλαμβάνουν λιγότερες εφαρμογές: δείτε Εφαρμογές στα πακέτα και στο αρχείο.
| Εφαρμογή | App id | Εικόνα | Ενεργοποιημένη μετά την εγκατάσταση |
|---|---|---|---|
| Συνομιλία AI | mattermost-ai | και τα δύο | ναι |
| Κλήσεις | com.mattermost.calls | και τα δύο | ναι |
| GitHub | github | και τα δύο | όχι |
| GitLab | com.github.manland.mattermost-plugin-gitlab | και τα δύο | όχι |
| Jira | jira | και τα δύο | όχι |
| Μετρικές | com.mattermost.mattermost-plugin-metrics | και τα δύο | όχι |
| Φωνητικά κανάλια | com.antimatterchat.voice-channels | antimatter-next | ναι |
| Ψηφοφορίες | com.antimatterchat.polls | antimatter-next | ναι |
| Σημειώσεις | com.antimatterchat.notes | antimatter-next | ναι |
| Λευκός πίνακας | com.antimatterchat.whiteboard | antimatter-next | ναι |
com.antimatterchat.mail | antimatter-next | ναι | |
| Ημερολόγιο | com.antimatterchat.calendar | antimatter-next | ναι |
| GIFs | com.antimatterchat.gifs | antimatter-next | ναι |
| Memes | memes | antimatter-next | όχι |
| Εκκρεμότητες | com.mattermost.plugin-todo | antimatter-next | όχι |
Οι εφαρμογές που είναι ενεργοποιημένες από προεπιλογή εγκαθίστανται σε κάθε εκκίνηση αν δεν έχουν ήδη εγκατασταθεί, ή αναβαθμίζονται αν η εικόνα έχει νεότερη έκδοση. Αν απενεργοποιήσετε μία, παραμένει απενεργοποιημένη: η προεπιλογή ισχύει μόνο για εφαρμογές που δεν αναφέρονται ακόμη στη διαμόρφωση. Οι εφαρμογές που διατηρούν το αναγνωριστικό τους του Mattermost (Συνομιλία AI, Κλήσεις και οι ενσωματώσεις) είναι οι δικές μας εκδόσεις του Antimatter.
Το Kanban (focalboard) και τα Playbooks (playbooks) δεν περιλαμβάνονται πλέον ούτε στον διακομιστή ούτε σε κάποια εικόνα: εγκαταστήστε αυτό που θέλετε από τη δική του έκδοση GitHub (δείτε Εφαρμογές στα πακέτα και στο αρχείο), όπως οποιαδήποτε άλλη εφαρμογή που δεν περιλαμβάνεται από προεπιλογή. Ένας διακομιστής που έχει ήδη εγκαταστήσει μία από αυτές, τη διατηρεί κατά την αναβάθμιση. Και οι δύο παραμένουν οι δικές μας εκδόσεις του Antimatter: οι βασικές εκδόσεις τους από το Marketplace δεν αντικαθιστούν ποτέ αυτές του Antimatter.
Ενεργοποίηση, απενεργοποίηση και ρύθμιση εφαρμογών
Μεταβείτε στο Κονσόλα συστήματος › Προσθήκες › Διαχείριση Plugins. Κάτω από Εγκατεστημένα plugins, κάθε εφαρμογή διαθέτει Ενεργοποίηση ή Απενεργοποίηση, Ρυθμίσεις και Αφαίρεση, και εμφανίζει την κατάστασή της (Running, Not running, Failed to start…). Κάθε εφαρμογή με ρυθμίσεις διαθέτει και τη δική της σελίδα κάτω από Κονσόλα συστήματος › Προσθήκες.
Οι ενσωματωμένες εφαρμογές που είναι απενεργοποιημένες από προεπιλογή εγκαθίστανται από το αντίγραφο της εικόνας: κάντε κλικ στη φωτογραφία σας στην κορυφή της μπάρας εφαρμογών και επιλέξτε App Marketplace (στην κλασική διεπαφή, βρίσκεται στο μενού προϊόντος), βρείτε την εφαρμογή και κάντε κλικ στο Εγκατάσταση, στη συνέχεια ενεργοποιήστε τη στη Διαχείριση Προσθηκών. Από τη γραμμή εντολών:
docker compose exec antimatter amctl --local plugin marketplace install github
docker compose exec antimatter amctl --local plugin enable github
Άλλες εντολές: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.
Ενεργοποίηση εφαρμογών μέσω της ρύθμισης
Ποιες εφαρμογές είναι ενεργοποιημένες καθορίζεται από τη ρύθμιση PluginSettings.PluginStates, έναν χάρτη app ids. Μπορείτε να συγχωνεύσετε εγγραφές σε αυτό με το amctl· με το Ενεργοποίηση αυτόματων προσυσκευασμένων plugins ενεργοποιημένο (η προεπιλογή), μια ενεργοποιημένη προεγκατεστημένη εφαρμογή εγκαθίσταται στην επόμενη εκκίνηση:
docker compose exec -T antimatter amctl --local config patch /dev/stdin <<'EOF'
{"PluginSettings": {"PluginStates": {"com.mattermost.plugin-todo": {"Enable": true}}}}
EOF
docker compose restart antimatter
Αυτός είναι και ο τρόπος εγκατάστασης του Todo, το οποίο δεν προσφέρεται στο διάλογο του Marketplace. Η μεταβλητή AM_PLUGINSETTINGS_PLUGINSTATES λειτουργεί επίσης, αλλά αντικαθιστά ολόκληρο τον χάρτη: καταγράψτε κάθε εφαρμογή που θέλετε να είναι ενεργοποιημένη.
Ρυθμίσεις εφαρμογών
Οι ρυθμίσεις της εφαρμογής αποθηκεύονται στο PluginSettings.Plugins.<app id>, με κλειδιά σε πεζά γράμματα. Μπορείτε να τις αλλάξετε στη σελίδα Κονσόλα συστήματος της εφαρμογής ή με την εντολή amctl config patch, όπως περιγράφεται στο Configuration. Η μεταβλητή AM_PLUGINSETTINGS_PLUGINS αντικαθιστά τις ρυθμίσεις όλων των εφαρμογών ταυτόχρονα και τις κλειδώνει, οπότε αποφύγετε τη χρήση της.
GIFs
Η εφαρμογή GIF προσθέτει μια καρτέλα για GIF και αυτοκόλλητα στον επιλογέα emoji, με βάση την υπηρεσία GIF του Antimatter (gifs-server), η οποία χρησιμοποιεί το Tenor API. Το αρχείο compose του χώρου εργασίας εκτελεί την υπηρεσία και ρυθμίζει την εφαρμογή μέσω μεταβλητών. Οι ρυθμίσεις της, στη Κονσόλα συστήματος › Προσθήκες › GIF:
| Ρύθμιση | Μεταβλητή (εναλλακτική τιμή) | Προεπιλογή | Λειτουργία |
|---|---|---|---|
| URL υπηρεσίας GIF | AM_GIFS_SERVICE_URL | κενό | Η βασική διεύθυνση API της υπηρεσίας, για παράδειγμα http://gifs:8080/v2. Τα GIF είναι απενεργοποιημένα όσο αυτή είναι κενή. |
| Κλειδί API | AM_GIFS_API_KEY | κενό | Ένα από τα AM_GIFS_API_KEYS της υπηρεσίας. |
| Κλειδί ανέβασματος | AM_GIFS_UPLOAD_KEY | κενό | Ένα από τα AM_GIFS_UPLOAD_KEYS της υπηρεσίας. Επιτρέπει στους χρήστες να προσθέτουν GIFs και αυτοκόλλητα από τον επιλογέα και να διαγράφουν αυτά που προστέθηκαν με αυτόν τον τρόπο. Το κενό απενεργοποιεί τα ανεβάσματα. |
| Ποιοι μπορούν να προσθέτουν GIF και αυτοκόλλητα | Διαχειριστές συστήματος | Διαχειριστές συστήματος ή Όλοι. Οι επισκέπτες δεν μπορούν ποτέ, όπως συμβαίνει και με τα προσαρμοσμένα emoji. Ότι προσθέτουν οι χρήστες είναι διαθέσιμο σε όλους· το πρόσωπο που το πρόσθεσε και οι διαχειριστές συστήματος μπορούν να το διαγράψουν. | |
| Ενεργοποίηση αυτοκόλλητων | ενεργοποιημένο | Εμφανίζει την καρτέλα των αυτοκόλλητων. | |
| Φίλτρο περιεχομένου | μέσο | υψηλό, μέσο, χαμηλό ή απενεργοποιημένο. | |
| Παροχή των μέσων μέσω του Antimatter | ενεργοποιημένο | Οι περιηγητές φορτώνουν τα GIF από το Antimatter, το οποίο τα ανακτά από την υπηρεσία. Κρατήστε το ενεργοποιημένο όταν η υπηρεσία βρίσκεται μόνο στο εσωτερικό σας δίκτυο. | |
| URL μέσων | το /media/ της υπηρεσίας | Η τοποθεσία των μέσων, όταν παρέχονται απευθείας. | |
| Μέγεθος μετρητή (MB) | 64 MB | Μεταλλικός μετρητής (memory cache) της εφαρμογής. |
Για αυτή την εφαρμογή, οι μεταβλητές χρησιμεύουν μόνο ως εναλλακτικές τιμές: μια τιμή που ορίζεται στην Κονσόλα συστήματος έχει προτεραιότητα έναντι αυτών. Αν η καρτέλα GIF παραμένει κενή, ελέγξτε τη διεύθυνση URL της υπηρεσίας και το κλειδί API στη σελίδα ρυθμίσεων.
Ενώ η εφαρμογή GIF είναι ρυθμισμένη, η καρτέλα της αντικαθιστά τον ενσωματωμένο επιλογέα Giphy (Κονσόλα συστήματος › Ολοκληρώσεις › GIF › Ενεργοποίηση επιλογέα GIF, ServiceSettings.EnableGifPicker).
Η υπηρεσία GIF
Η υπηρεσία αποθηκεύει όλα τα δεδομένα στον κατάλογο δεδομένων της (/data, ο τόμος gifs): έναν δείκτη αναζήτησης και τα μέσα. Οι κύριες μεταβλητές της:
| Μεταβλητή | Προεπιλογή | Λειτουργία |
|---|---|---|
AM_GIFS_API_KEYS | κανένα | Κλειδιά API χωρισμένα με κόμμα. Χωρίς κλειδί, το API είναι ανοιχτό σε οποιονδήποτε έχει πρόσβαση σε αυτό. Πολλαπλά κλειδιά επιτρέπουν την περιστροφή τους (rotation). |
AM_GIFS_UPLOAD_KEYS | κανένα | Κλειδιά που επιτρέπουν το ανέβασμα και τη διαγραφή όσων ανέβηκαν. Χωρίς κλειδί δεν γίνονται ανεβάσματα. |
AM_GIFS_RATE_LIMIT | 20 | Αιτήματα ανά δευτερόλεπτο ανά πελάτη (κλειδί API και διεύθυνση); 0 το απενεργοποιεί. Το αρχείο compose ορίζει 0, επειδή όλα τα αιτήματα του Antimatter μοιράζονται ένα κλειδί και μια διεύθυνση. |
AM_GIFS_LISTEN | :8080 | Διεύθυνση ακρόασης (listen address). |
AM_GIFS_PUBLIC_URL | από αιτήματα | Εξωτερική διεύθυνση URL, αν εκθέτετε την υπηρεσία. |
AM_GIFS_TRUST_PROXY | false | Να εμπιστευόμαστε τα κεφαλαιδια X-Forwarded-*, μόνο πίσω από έναν proxy. |
AM_GIFS_UPLOAD_MAX_MB | 16 | Το μεγαλύτερο αρχείο που μπορεί να ανέβει. |
Για να προσθέσετε τα δικά σας GIF σε μαζική κλίμακα, εισάγετέ τα με ένα manifest, από έναν κατάλογο που έχει συνδεθεί σε ένα προσωρινό container:
docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json
Για να επανεισάγετε τα αρχικά stickers μετά από μια αναβάθμιση: docker compose run --rm gifs stickers. Η μορφή του manifest και οι άλλες εντολές βρίσκονται στο gifs-server README.
Ταχυδρομείο και Ημερολόγιο
Τα Ταχυδρομείο και Ημερολόγιο συνδέουν κάθε χρήστη με το δικό του ταχυδρομικό κουτί (IMAP και SMTP) και το δικό του ημερολόγιο (CalDAV). Οι χρήστες εισάγουν τον διακομιστή και τον κωδικό τους στην εφαρμογή· οι κωδικοί αποθηκεύονται κρυπτογραφημένοι. Δεν ρυθμίζετε διακομιστές ταχυδρομείου ή ημερολογίου για αυτούς, αλλά καθορίζετε σε ποιους μπορούν να συνδεθούν:
| Εφαρμογή | Ρύθμιση | Προεπιλογή | Λειτουργία |
|---|---|---|---|
| Ταχυδρομείο, Ημερολόγιο | Επιτρεπόμενοι διακομιστές ταχυδρομείου σε ιδιωτικά δίκτυα, Επιτρεπόμενοι διακομιστές ημερολογίου σε ιδιωτικά δίκτυα (AllowPrivateNetworks) | απενεργοποιημένη | Όταν είναι απενεργοποιημένο, ο διακομιστής αρνείται να συνδεθεί σε διευθύνσεις loopback, ιδιωτικές και link-local, ώστε οι εφαρμογές να μην μπορούν να χρησιμοποιηθούν για να φτάσουν στο εσωτερικό σας δίκτυο. Ενεργοποιήστε το αν ο διακομιστής ταχυδρομείου ή ημερολογίου σας βρίσκεται σε ιδιωτική διεύθυνση. |
| Ταχυδρομείο, Ημερολόγιο | Επιτρεπόμενες μη κρυπτογραφημένες συνδέσεις (AllowInsecureConnections) | απενεργοποιημένη | Όταν είναι απενεργοποιημένο, οι συνδέσεις πρέπει να χρησιμοποιούν TLS (Ταχυδρομείο: TLS ή STARTTLS· Ημερολόγιο: HTTPS). |
Διάστημα ελέγχου μη αναγνωσμένων (λεπτά) (UnreadCheckMinutes) | 2 λεπτά | Πόσο συχνά ελέγχονται τα μη αναγνωσμένα όταν ο διακομιστής ταχυδρομείου δεν μπορεί να τα στείλει αυτόματα. | |
Μέγιστο μέγεθος μηνύματος (MB) (MaxMessageSizeMB) | 25 MB | Όριο μεγέθους για τα μηνύματα που στέλνονται και διαβάζονται. | |
| Ημερολόγιο | Αποστολή υπενθυμίσεων (EnableReminders) | ενεργοποιημένο | Το bot του Ημερολογίου στέλνει ένα άμεσο μήνυμα πριν από τα συμβάντα (10 λεπτά πριν, για συμβάντα χωρίς δική τους ειδοποίηση). |
Για να επιτρέψετε στους χρήστες να συνδέονται σε ταχυδρομικά κουτιά Gmail ή Microsoft 365 με τον λογαριασμό τους αντί για κωδικό, δημιουργήστε έναν OAuth client και συμπληρώστε τα πεδία Google ή Microsoft της εφαρμογής Ταχυδρομείου:
- Google: ένας Web OAuth client με το Gmail API και το πεδίο
https://mail.google.com/. - Microsoft: μια εφαρμογή Entra ID με τις εξουσιοδοτήσεις
IMAP.AccessAsUser.All,SMTP.Send,offline_access,openid,emailκαιprofile. Ο tenant είναιcommonαπό προεπιλογή. - Στην πρώτη περίπτωση, το redirect URI είναι
https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback(η διεύθυνση του δικού σας χώρου).
Kanban, Σημειώσεις, Λευκοί πίνακες, Ψηφοφορίες και Playbooks
- Το Kanban (
focalboard) ανοίγει στον πλευρικό του πίνακα δίπλα στη συνομιλία, όπως και τα Playbooks. Οι παλιοί σύνδεσμοι προς σελίδες/kanban/…και/boards/…ανοίγουν τον ίδιο πίνακα ή κάρτα σε μια κοινότητα. Η μόνη του ρύθμιση, Enable Publicly-Shared Boards (EnablePublicSharedBoards, απενεργοποιημένη), επιτρέπει στους εκδότες πινάκων να μοιράζονται έναν πίνακα με οποιονδήποτε έχει τον σύνδεσμο, χωρίς σύνδεση. - Τα Σημειώσεις και οι Ψηφοφορίες δεν έχουν ρυθμίσεις.
- Λευκός πίνακας: οι διαχειριστές συστήματος μπορούν να ανεβάσουν βιβλιοθήκες σχημάτων (αρχεία Excalidraw
.excalidrawlib, έως 5 MB το καθένα) για ολόκληρο τον διακομιστή στη σελίδα ρυθμίσεών του. Οι διαχειριστές κοινότητας διαχειρίζονται τις βιβλιοθήκες της δικής τους κοινότητας. - Το Playbooks ανοίγει στο πλευρικό του πάνελ. Οι παλιοί σύνδεσμοι προς σελίδες
/playbooks/…ανοίγουν την ίδια εκτέλεση ή playbook σε μια κοινότητα. Διαθέτει μερικές ρυθμίσεις, οι περισσότερες από τις οποίες είναι πειραματικές λειτουργίες. Οι προεπιλογές είναι κατάλληλες για τους περισσότερους διακομιστές. - Memes: Ποιοι μπορούν να προσθέσουν πρότυπα meme: Όλοι (η προεπιλογή), Διαχειριστές συστήματος ή Κανείς (τα προσαρμοσμένα πρότυπα είναι απενεργοποιημένα), επιλογή που εμποδίζει την προσθήκη νέων προτύπων, ενώ τα ήδη προστιθέμενα παραμένουν διαθέσιμα. Οι επισκέπτες δεν μπορούν να προσθέσουν πρότυπα. Το άτομο που πρόσθεσε ένα πρότυπο και οι διαχειριστές συστήματος μπορούν να το διαγράψουν.
- Το Εκκρεμότητες δεν έχει ρυθμίσεις διακομιστή.
GitHub, GitLab και Jira
Αυτές οι εφαρμογές συνδέουν το Antimatter με τον διακομιστή κώδικα και τον παρακολυθητή ζητημάτων. Κάθε μία απαιτεί μια εφαρμογή OAuth στην άλλη πλευρά και ένα webhook που να δείχνει πίσω στο Antimatter. Ενεργοποιήστε την εφαρμογή και στη συνέχεια εκτελέστε την εντολή ρύθμισής της σε οποιοδήποτε κανάλι, η οποία σας καθοδηγεί βήμα προς βήμα: /github setup, /gitlab setup ή /jira setup.
| Εφαρμογή | URL ανακατεύθυνσης OAuth | URL Webhook |
|---|---|---|
| GitHub | https://chat.example.com/plugins/github/oauth/complete | https://chat.example.com/plugins/github/webhook |
| GitLab | https://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/complete | https://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/webhook |
| Jira | /jira instance install server <url> ή /jira instance install cloud-oauth <url>. Η εντολή /jira webhook εμφανίζει τις διευθύνσεις webhook. | |
Οι εφαρμογές GitHub και GitLab δημιουργούν το μυστικό webhook και το κλειφ κρυπτογράφησης κατά την πρώτη αποθήκευση. Η εφαρμογή GitHub μπορεί να περιοριστεί σε οργανισμούς (GithubOrg) και η εφαρμογή GitLab σε ομάδα (GitlabGroup). Για GitHub Enterprise ή αυτοξενούμενο GitLab, ορίστε τη βασική του διεύθυνση (base URL).
Μετρικές
Η εφαρμογή Metrics συγκεντρώνει τα μετρήσεις απόδοσης του διακομιστή σε μια μικρή βάση δεδομένων χρονολογικής σειράς μέσα στο Antimatter, ώστε να μπορείτε να τα κατεβάσετε ή να τα συμπεριλάβετε σε πακέτο υποστήριξης χωρίς να εκτελείτε Prometheus. Κατά την εκκίνηση, ενεργοποιεί το σημείο μετρήσεων του διακομιστή (MetricsSettings.Enable). Δείτε Λειτουργίες.
Εγκατάσταση άλλων εφαρμογών
Το Antimatter εκτελεί εφαρμογές Mattermost (πρόσθετα). Τρεις τρόποι για να προσθέσετε μία:
- Από απομακρυσμένο Marketplace. Η ρύθμιση Ενεργοποίηση απομακρυσμένου Marketplace (
PluginSettings.EnableRemoteMarketplace) είναι απενεργοποιημένη από προεπιλογή και η Διεύθυνση Marketplace (PluginSettings.MarketplaceURL) είναι κενή: το Antimatter δεν χρησιμοποιεί το marketplace του Mattermost και αγνοεί τη διεύθυνσή του, ακόμα κι αν υπάρχει σε μια ρύθμιση που προέρχεται από Mattermost. Για να εμφανίσετε τις εφαρμογές ενός server marketplace που εμπιστεύεστε, ενεργοποιήστε τη ρύθμιση και ορίστε τη διεύθυνσή του. Τα builds των εφαρμογών που παρέχει το Antimatter (Calls, Playbooks, Kanban και οι υπόλοιπες) από αυτό το marketplace είναι κρυφά, ώστε να μην μπορούν να αντικαταστήσουν τις δικές του: η ρύθμιση Επιτρέπει builds Marketplace για plugins Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) είναι απενεργοποιημένη από προεπιλογή. - Με ανέβασμα δέσμης (
.tar.gz). Τα ανεβάσματα είναι απενεργοποιημένα από προεπιλογή και δεν υπάρχει διακόπτης στο Κονσόλα συστήματος: ορίστεAM_PLUGINSETTINGS_ENABLEUPLOADS=true, στη συνέχεια χρησιμοποιήστε Ανέβασμα Plugin στη Διαχείριση Plugins ή την εντολήamctl --local plugin add app.tar.gz. - Από διεύθυνση URL:
amctl plugin install-url <url>, επίσης με ενεργοποιημένα τα ανεβάσματα.
Το Antimatter ελέγχει τις υπογραφές των εφαρμογών έναντι των κλειδιών που εμπιστεύεται: το κλειδί του Antimatter, το κλειδί με το οποίο η Mattermost, Inc. υπογράφει τις εφαρμογές που δημοσιεύει (έτσι, μια εφαρμογή Mattermost που κατεβάσετε εσείς εγκαθίσταται) και οποιοδήποτε κλειδί προσθέσετε στο PluginSettings.SignaturePublicKeyFiles. Αν η ρύθμιση Απαιτείται υπογραφή plugin (PluginSettings.RequirePluginSignature, απενεργοποιημένη από προεπιλογή) είναι ενεργοποιημένη, οι εφαρμογές χωρίς υπογραφή απορρίπτονται και τα ανεβάσματα απενεργοποιούνται.
Ορισμένες εφαρμογές που δημιουργήθηκαν για τις πληρωμένες εκδόσεις του Mattermost ελέγχουν από μόνες τους για άδεια χρήσης Mattermost και αρνούνται να εκτελεστούν· το Antimatter δεν υποκρίνεται ότι διαθέτει τέτοια άδεια για αυτές.