Ενσωματωμένες εφαρμογές

Τα Docker images του Antimatter συνοδεύονται από ένα σύνολο εφαρμογών (plugins, στην Κονσόλα συστήματος). Αυτή η σελίδα τις καταγράφει, αναφέρει ποιες είναι ενεργοποιημένες μετά την εγκατάσταση και καλύπτει τις ρυθμίσεις που απαιτεί η κάθε μία από έναν διαχειριστή.

Οι προεγκατεστημένες εφαρμογές

Οι εφαρμογές εμφανίζονται ως Προσθήκες στην Κονσόλα συστήματος. Βρίσκονται στο image (στο /antimatter/prepackaged_plugins), υπογράφονται με το κλειδί υπογραφής εφαρμογών του Antimatter, οπότε εγκαθίστανται χωρίς σύνδεση στο Internet.

Το αρχείο έκδοσης και τα πακέτα .deb και .rpm περιλαμβάνουν λιγότερες εφαρμογές: δείτε Εφαρμογές στα πακέτα και στο αρχείο.

ΕφαρμογήApp idΕικόναΕνεργοποιημένη μετά την εγκατάσταση
Συνομιλία AImattermost-aiκαι τα δύοναι
Κλήσειςcom.mattermost.callsκαι τα δύοναι
GitHubgithubκαι τα δύοόχι
GitLabcom.github.manland.mattermost-plugin-gitlabκαι τα δύοόχι
Jirajiraκαι τα δύοόχι
Μετρικέςcom.mattermost.mattermost-plugin-metricsκαι τα δύοόχι
Φωνητικά κανάλιαcom.antimatterchat.voice-channelsantimatter-nextναι
Ψηφοφορίεςcom.antimatterchat.pollsantimatter-nextναι
Σημειώσειςcom.antimatterchat.notesantimatter-nextναι
Λευκός πίνακαςcom.antimatterchat.whiteboardantimatter-nextναι
Emailcom.antimatterchat.mailantimatter-nextναι
Ημερολόγιοcom.antimatterchat.calendarantimatter-nextναι
GIFscom.antimatterchat.gifsantimatter-nextναι
Memesmemesantimatter-nextόχι
Εκκρεμότητεςcom.mattermost.plugin-todoantimatter-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 υπηρεσίας GIFAM_GIFS_SERVICE_URLκενόΗ βασική διεύθυνση API της υπηρεσίας, για παράδειγμα http://gifs:8080/v2. Τα GIF είναι απενεργοποιημένα όσο αυτή είναι κενή.
Κλειδί APIAM_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_LIMIT20Αιτήματα ανά δευτερόλεπτο ανά πελάτη (κλειδί API και διεύθυνση); 0 το απενεργοποιεί. Το αρχείο compose ορίζει 0, επειδή όλα τα αιτήματα του Antimatter μοιράζονται ένα κλειδί και μια διεύθυνση.
AM_GIFS_LISTEN:8080Διεύθυνση ακρόασης (listen address).
AM_GIFS_PUBLIC_URLαπό αιτήματαΕξωτερική διεύθυνση URL, αν εκθέτετε την υπηρεσία.
AM_GIFS_TRUST_PROXYfalseΝα εμπιστευόμαστε τα κεφαλαιδια X-Forwarded-*, μόνο πίσω από έναν proxy.
AM_GIFS_UPLOAD_MAX_MB16Το μεγαλύτερο αρχείο που μπορεί να ανέβει.

Για να προσθέσετε τα δικά σας 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).
EmailΔιάστημα ελέγχου μη αναγνωσμένων (λεπτά) (UnreadCheckMinutes)2 λεπτάΠόσο συχνά ελέγχονται τα μη αναγνωσμένα όταν ο διακομιστής ταχυδρομείου δεν μπορεί να τα στείλει αυτόματα.
EmailΜέγιστο μέγεθος μηνύματος (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 ανακατεύθυνσης OAuthURL Webhook
GitHubhttps://chat.example.com/plugins/github/oauth/completehttps://chat.example.com/plugins/github/webhook
GitLabhttps://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/completehttps://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.
Αφήστε το Χρήση προεγγραφισμένης εφαρμογής OAuth απενεργοποιημένο στις εφαρμογές GitHub και GitLab: βασίζεται σε μια υπηρεσία Mattermost που το Antimatter δεν διαθέτει και η εφαρμογή αρνείται να εκκινήσει αν είναι ενεργοποιημένο. Εγγραφείτε την δική σας εφαρμογή OAuth.

Οι εφαρμογές 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, απενεργοποιημένη από προεπιλογή) είναι ενεργοποιημένη, οι εφαρμογές χωρίς υπογραφή απορρίπτονται και τα ανεβάσματα απενεργοποιούνται.

Μια εφαρμογή εκτελείται μέσα στο server με πλήρη πρόσβαση στα δεδομένα του. Εγκαταστήστε μόνο εφαρμογές που εμπιστεύεστε.

Ορισμένες εφαρμογές που δημιουργήθηκαν για τις πληρωμένες εκδόσεις του Mattermost ελέγχουν από μόνες τους για άδεια χρήσης Mattermost και αρνούνται να εκτελεστούν· το Antimatter δεν υποκρίνεται ότι διαθέτει τέτοια άδεια για αυτές.