אפליקציות מובנות
תמונות ה-Docker של Antimatter מגיעות עם סט של אפליקציות (תוספים, בקונסולת המערכת). עמוד זה מפרט אותן, מציין אילו פעילות אחרי ההתקנה, ומכסה את ההגדרות שכל אחת מהן דורשת ממנהל.
האפליקציות המובנות
האפליקציות מופיעות כתוספים בקונסולת מערכת. הן נכללות בתמונה (ב/antimatter/prepackaged_plugins), חתומות עם מפתח החתימה של אפליקציות Antimatter, ולכן מותקנות ללא צורך בחיבור לאינטרנט.
ארכיון הגרסה והחבילות .deb ו-.rpm כוללות פחות אפליקציות: ראו אפליקציות בחבילות ובארכיון.
| אפליקציה | מזהה אפליקציה | תמונה | פעיל אחרי ההתקנה |
|---|---|---|---|
| סוכנים (AI) | mattermost-ai | שניהם | כן |
| שיחות | com.mattermost.calls | שניהם | כן |
| Kanban | focalboard | שניהם | כן |
| Playbooks | playbooks | שניהם | כן |
| 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 | antimatter-next | לא |
| משימות | com.mattermost.plugin-todo | antimatter-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:
| הגדרה | משתנה (ברירת מחדל) | ברירת מחדל | מה היא עושה |
|---|---|---|---|
| כתובת שירות GIF | AM_GIFS_SERVICE_URL | ריק | כתובת API בסיסית של השירות, למשל http://gifs:8080/v2. GIFs כבויים כל עוד השדה ריק. |
| מפתח API | AM_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_LIMIT | 20 | בקשות בשנייה לכל לקוח (מפתח API וכתובת); 0 מכבה. קובץ compose מגדיר 0, שכן כל הבקשות של Antimatter משתפות מפתח וכתובת אחד. |
AM_GIFS_LISTEN | :8080 | כתובת האזנה. |
AM_GIFS_PUBLIC_URL | מבקשות | כתובת URL חיצונית, אם אתה חושף את השירות. |
AM_GIFS_TRUST_PROXY | false | ל신ות אמון לכותרות X-Forwarded-*, רק מאחורי פרוקסי. |
AM_GIFS_UPLOAD_MAX_MB | 16 | הקובץ הגדול ביותר שהועלה. |
כדי להוסיף 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 |
|---|---|---|
| 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 עצמאי, הגדירו את כתובת הבסיס שלו.
מדידות
אפליקציית 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 אינו מתחזה לכזה עבורן.