אפליקציות מובנות

תמונות ה-Docker של Antimatter מגיעות עם סט של אפליקציות (תוספים, בקונסולת המערכת). עמוד זה מפרט אותן, מציין אילו פעילות אחרי ההתקנה, ומכסה את ההגדרות שכל אחת מהן דורשת ממנהל.

האפליקציות המובנות

האפליקציות מופיעות כתוספים בקונסולת מערכת. הן נכללות בתמונה (ב/antimatter/prepackaged_plugins), חתומות עם מפתח החתימה של אפליקציות Antimatter, ולכן מותקנות ללא צורך בחיבור לאינטרנט.

ארכיון הגרסה והחבילות .deb ו-.rpm כוללות פחות אפליקציות: ראו אפליקציות בחבילות ובארכיון.

אפליקציהמזהה אפליקציהתמונהפעיל אחרי ההתקנה
סוכנים (AI)mattermost-aiשניהםכן
שיחותcom.mattermost.callsשניהםכן
Kanbanfocalboardשניהםכן
Playbooksplaybooksשניהםכן
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כן
דוא"לcom.antimatterchat.mailantimatter-nextכן
לוח שנהcom.antimatterchat.calendarantimatter-nextכן
GIFscom.antimatterchat.gifsantimatter-nextכן
ממיםmemesantimatter-nextלא
משימותcom.mattermost.plugin-todoantimatter-nextלא

אפליקציות שפעילות כברירת מחדל מותקנות בכל הפעלה אם הן עדיין לא מותקנות, או מתעדכנות אם בתמונה יש גרסה חדשה יותר. אם מבטלים אחת מהן, היא נשארת כבוייה: ברירת המחדל חלה רק על אפליקציות שההגדרה עדיין לא מזכירה. אפליקציות שמחזיקות את מזהה Mattermost (סוכנים, שיחות, Kanban, Playbooks והאינטגרציות) הן בנייה עצמאית של Antimatter.

הפעלה, ביטול והגדרת אפליקציות

עבורו לקונסולת מערכת › תוספים › ניהול פלאגינים. תחת תוספים מותקנים, לכל אפליקציה יש הפעלה או השבתה, הגדרות והסרה, והיא מציגה את מצבה (רץ, לא רץ, נכשל בהתחלה…). לכל אפליקציה עם הגדרות יש גם דף משלה תחת קונסולת מערכת › תוספים.

האפליקציות המצורפות שמושבתות כברירת מחדל מותקנות מהעותק של התמונה עצמה: לחצו על התמונה שלכם בראש סרגל האפליקציות ובחרו חנות אפליקציות (בממשק הקלאסי, היא נמצאת בתפריט המוצר), מצאו את האפליקציה ולחצו התקנה, ואז הפעילו אותה בניהול תוספים. מהשורת הפקודה:

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, שהיא מפה של מזהי אפליקציות. ניתן לשלב בה רשומות באמצעות amctl; כאשר הפעלת תוספים מוכנים מראש אוטומטית פעילה (ברירת המחדל), אפליקציה מצורפת שנוספה תותקן בהפעלה הבאה:

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

זה גם הדרך להתקין משימות, שאינה מוצעת בדיאלוג השוק. המשתנה AM_PLUGINSETTINGS_PLUGINSTATES עובד גם כן, אך הוא מחליף את כל המפה: רשמו כל אפליקציה שתרצו שתהיה פעילה.

הגדרות אפליקציה

ההגדרות של האפליקציה נשמרות תחת PluginSettings.Plugins.<app id>, עם מפתחות באותיות קטנות. ניתן לשנות אותן בדף System Console של האפליקציה, או באמצעות amctl config patch כמתואר בConfiguration. AM_PLUGINSETTINGS_PLUGINS מחליף את ההגדרות של כל האפליקציות בבת אחת ומנעול אותן, ולכן יש להימנע ממנו.

GIFs

אפליקציית GIFs מוסיפה לשדה בחירת האמוג'י לשונית ל-GIF ולמגנטים, המבוססת על שירות ה-GIF של Antimatter (gifs-server), שמדבר ב-API של Tenor. קובץ ה-compose של האתר מפעיל את השירות ומגדיר את האפליקציה באמצעות משתנים. ההגדרות שלה, בקונסולת מערכת › תוספים › GIF:

הגדרהמשתנה (ברירת מחדל)ברירת מחדלמה היא עושה
כתובת שירות GIFAM_GIFS_SERVICE_URLריקכתובת API בסיסית של השירות, למשל http://gifs:8080/v2. GIFs כבויים כל עוד השדה ריק.
מפתח APIAM_GIFS_API_KEYריקאחד מAM_GIFS_API_KEYS של השירות.
מפתח העלאהAM_GIFS_UPLOAD_KEYריקאחד מהמפתחות AM_GIFS_UPLOAD_KEYS של השירות. מאפשר לאנשים להוסיף GIFs ומדבקות מהמבחר, ולמחוק את אלו שהוסיפו כך. אם השדה ריק, ההעלאה מושבתת.
מי יכול להוסיף GIFs וסטickersמנהלי מערכתמנהלי מערכת, או כולם. אורחים לעולם לא יכולים, בדומה לאמוג'י מותאמים אישית. מה שהאנשים מוסיפים זמין לכולם; האדם שהוסיף אותו ומנהלי מערכת יכולים למחוק אותו.
הפעלת סטיקריםדלוקמציגה את לשונית הסטיקרים.
מסנן תוכןבינוניגבוה, בינוני, נמוך או כבוי.
הגשת המדיה דרך Antimatterדלוקדפדפנים טוענים GIFs מ-Antimatter, שמשחזר אותם מהשירות. יש להשאיר זאת דלוק כאשר השירות זמין רק ברשת הפנימית.
כתובת מדיה/media/ של השירותמיקום המדיה, כאשר היא מוגשת ישירות.
גודל מטמון (MB)64 MBמטמון זיכרון של האפליקציה.

באפליקציה זו, המשתנים משמשים רק כברירת מחדל: ערך שנקבע ב-System Console גובר עליהם. אם תיבת בחירת GIF נשארת ריקה, יש לבדוק את כתובת השירות ומפתח API בדף זה.

כשאפליקציית GIFs מוגדרת, לשוניתה מחליפה את בוחר Giphy המובנה (קונסולת מערכת › אינטגרציות › GIF › הפעלת בוחר GIF, ServiceSettings.EnableGifPicker).

שירות GIF

השירות שומר את כל הנתונים בתיקיית הנתונים שלו (/data, נפח gifs): אינדקס חיפוש והמדיה. משתניו העיקריים:

משתנהברירת מחדלמה היא עושה
AM_GIFS_API_KEYSאיןמפתחי API מופרדים בפסיק. ללא מפתח, ה-API פתוח לכל מי שמגיע אליו. מספר מפתחות מאפשר להחליף אותם.
AM_GIFS_UPLOAD_KEYSאיןמפתחות המאפשרים העלאה, ומחיקת מה שהועלה. אין העלאה בלעדיהם.
AM_GIFS_RATE_LIMIT20בקשות בשנייה לכל לקוח (מפתח API וכתובת); 0 מכבה. קובץ compose מגדיר 0, שכן כל הבקשות של Antimatter משתפות מפתח וכתובת אחד.
AM_GIFS_LISTEN:8080כתובת האזנה.
AM_GIFS_PUBLIC_URLמבקשותכתובת URL חיצונית, אם אתה חושף את השירות.
AM_GIFS_TRUST_PROXYfalseל신ות אמון לכותרות X-Forwarded-*, רק מאחורי פרוקסי.
AM_GIFS_UPLOAD_MAX_MB16הקובץ הגדול ביותר שהועלה.

כדי להוסיף GIFs משלך בכמויות, יבא אותם באמצעות manifest, מתוך תיקייה שהיא מורכבת לתוך קונטיינר חד-פעמי:

docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json

כדי לייבא מחדש את המדבקות התחלתיות לאחר עדכון: docker compose run --rm gifs stickers. פורמט ה-manifest והפקודות האחרות מפורטים ב-README של gifs-server.

דוא"ל ולוח שנה

דוא"ל ולוח שנה מחברים כל אדם לתיבת הדוא"ל שלו (IMAP ו-SMTP) וללוח השנה שלו (CalDAV). המשתמשים מזינים את שרת הדוא"ל והסיסמה שלהם באפליקציה; הסיסמאות נשמרות במצופנות. אתה לא מגדיר עבורם שרתי דוא"ל או לוח שנה, אך אתה קובע לאיזה שרתים הם יכולים להתחבר:

אפליקציההגדרהברירת מחדלמה היא עושה
דוא"ל, לוח שנהאפשרות שרתים דוא"ל ברשתות פרטיות, אפשרות שרתים לוח שנה ברשתות פרטיות (AllowPrivateNetworks)כבויכבוי, השרת מסרב להתחבר לכתובות loopback, פרטיות ו-link-local, כך שהאפליקציות לא יכולות לשמש להגעה לרשת הפנימית שלך. הפעל אם שרת הדוא"ל או לוח השנה שלך נמצא בכתובת פרטית.
דוא"ל, לוח שנהאפשרות חיבורים לא מוצפנים (AllowInsecureConnections)כבויכבוי, החיבורים חייבים להשתמש ב-TLS (דוא"ל: TLS או STARTTLS; לוח שנה: HTTPS).
דוא"למרווח בדיקת לא נקרא (דקות) (UnreadCheckMinutes)2 דקותכמה פעמים נבדקים ספרי לא נקרא כאשר שרת הדוא"ל לא יכול לשלוח אותם.
דוא"לגודל הודעה מקסימלי (MB) (MaxMessageSizeMB)25 MBמגבלת גודל של הודעות שנשלחות ונקראות.
לוח שנהשליחת תזכורות (EnableReminders)דלוקבוט לוח השנה שולח הודעה ישירה לפני אירועים (10 דקות לפני, עבור אירועים ללא התראה משלהם).

כדי לאפשר לאנשים להתחבר לתיבות דוא"ל של Gmail או Microsoft 365 עם החשבון שלהם במקום סיסמה, צור OAuth client ומלא את השדות של Google או Microsoft באפליקציית הדוא"ל:

  • Google: OAuth client של Web עם Gmail API וה-scope 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/… פותחים את אותו לוח או כרטיס בקהילה. ההגדרה היחידה שלו, אפשרות לשתף לוחים ציבורית (EnablePublicSharedBoards, מושבתת), מאפשרת לעורכי לוחים לשתף לוח עם כל מי שיש לו את הקישור, ללא הצורך בהתחברות.
  • לNotes ולPolls אין הגדרות.
  • Whiteboard: מנהלי מערכת יכולים להעלות ספריות צורות (קבצי Excalidraw .excalidrawlib, עד 5 MB לכל קובץ) לכל שרת בדף ההגדרות שלו. מנהלי קהילה מנהלים את ספריות הקהילה שלהם.
  • Playbooks נפתח בסרגל הצד. קישורים ישנים לעמודים /playbooks/… פותחים את אותה הרצה או Playbook בקהילה. יש לו כמה הגדרות, רובן תכונות ניסיוניות; ברירת המחדל מתאימה לרוב השרתים.
  • Memes: מי יכול להוסיף תבניות ממים: כולם (ברירת המחדל), מנהלי מערכת, או אף אחד (תבניות מותאמות אישית מושבתות), שמונע תבניות חדשות בעוד שהתבניות שכבר נוספו נשארות בשימוש. אורחים לעולם לא מוסיפים תבניות. האדם שהוסיף תבנית ומנהלי מערכת יכולים למחוק אותה.
  • לTodo אין הגדרות שרת.

GitHub, GitLab ו-Jira

אפליקציות אלו מקשרות את Antimatter לשירותי אחסון הקוד ולמעקב הבעיות שלך. כל אחת דורשת אפליקציית OAuth בצד השני ו-Webhook שמכוון חזרה אל Antimatter. הפעילו את האפליקציה, ואז הרצו את פקודת ההגדרה שלה בכל ערוץ, שהדרכה שלב אחר שלב: /github setup, /gitlab setup או /jira setup.

אפליקציהכתובת ההפניה של OAuthכתובת ה-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.
השאירו את Use Preregistered OAuth Application כבוי באפליקציות GitHub ו-GitLab: היא מסתמכת על שירות של Mattermost שאין ל-Antimatter, והאפליקציה מסרבת להתחיל כשהיא מופעלת. רשמו אפליקציית OAuth משלכם.

אפליקציות GitHub ו-GitLab יוצרות את סוד ה-Webhook ומפתח ההצפנה בהגדרה הראשונה. אפליקציית GitHub יכולה להיות מוגבלת לארגונים (GithubOrg) ואפליקציית GitLab לקבוצה (GitlabGroup); עבור GitHub Enterprise או GitLab עצמאי, הגדירו את כתובת הבסיס שלו.

מדידות

אפליקציית Metrics אוספת את מדדי הביצועים של השרת למסד נתונים זמני קטן בתוך Antimatter, כך שתוכלו להוריד אותם או לכלול אותם בחבילת תמיכה ללא הרצת Prometheus. בעת ההתחלה, היא מפעילה את נקודת המדדים של השרת (MetricsSettings.Enable). ראו Operations.

התקנת אפליקציות אחרות

Antimatter מריץ אפליקציות Mattermost (תוספים). שלושה דרכים להוסיף אחת:

  • משוק תוספים מרוחק. הפעלת שוק תוספים מרוחק (PluginSettings.EnableRemoteMarketplace) מושבתת כברירת מחדל, וכתובת (URL) של שוק התוספים (PluginSettings.MarketplaceURL) ריקה: Antimatter אינו משתמש בשוק התוספים של Mattermost, ומתעלם מהכתובת שלו אם בהגדרה מ-Mattermost עדיין מופיעה. כדי להציג את האפליקציות של שרת שוק תוספים שאתם סומכים עליו, הפעילו את ההגדרה והגדירו את כתובתו. הגרסאות של שוק התוספים הזה לאפליקציות שAntimatter מספק (Calls, Playbooks, Kanban ואחרות) מוסתרות, כך שהן אינן יכולות להחליף את אלו של Antimatter: אפשרות להחליף פלאגיני Antimatter בגרסאות שוק (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) מושבתת כברירת מחדל.
  • על ידי העלאת חבילה (.tar.gz). העלאות כבויות כברירת מחדל ואין להן מתג בקונסולת המערכת: יש להגדיר AM_PLUGINSETTINGS_ENABLEUPLOADS=true, ואז להשתמש בהעלאת פלאגין בניהול הפלאגינים, או בפקודה amctl --local plugin add app.tar.gz.
  • מכתובת: amctl plugin install-url <url>, גם כאשר העלאות מופעלות.

Antimatter בודק את חתימות האפליקציות מול המפתחות שהוא מאמין בהם: מפתח Antimatter, המפתח שבו Mattermost, Inc. חותמת את האפליקציות שמוציאה (כך שאפליקציית Mattermost שאתה מוריד בעצמך מותקנת), וכל מפתח שאתה מוסיף בPluginSettings.SignaturePublicKeyFiles. כאשר דרישה לחתימת תוסף (PluginSettings.RequirePluginSignature, כבוי כברירת מחדל) מופעל, אפליקציות ללא חתימה נדחות והעלאות נחסמות.

אפליקציה רצה בתוך השרת עם גישה מלאה לנתוניו. התקינו רק אפליקציות שאתם סומכים עליהן.

חלק מהאפליקציות שנועדו לגרסאות התשלום של Mattermost בודקות בעצמן עבור רישיון Mattermost ומסרבות להימשך; Antimatter אינו מתחזה לכזה עבורן.