باندل شدہ ایپس
Antimatter کے Docker images میں ایک سیٹ ایپس (System Console میں plugins) شامل ہیں۔ یہ صفحہ ان کی فہرست دیتا ہے، بتاتا ہے کہ نصب کرنے کے بعد کون سی فعال ہیں، اور ہر ایک کے لیے ایڈمن کو درکار ترتیبات پر روشنی ڈالتا ہے۔
شامل ایپس
ایپس کو سسٹم کنسول میں پلگ انز کے طور پر درج کیا گیا ہے۔ یہ امیج میں (/antimatter/prepackaged_plugins) موجود ہیں اور Antimatter ایپ سائننگ کی کے ساتھ سائن شدہ ہیں، اس لیے یہ انٹرنیٹ کنکشن کے بغیر نصب ہو جاتے ہیں۔
ریلیس آرکائیو اور .deb اور .rpm پیکجز میں کم ایپس شامل ہیں: پیکجز اور آرکائیو میں موجود ایپس دیکھیں۔
| ایپ | ایپ id | امیج | نصب کے بعد فعال |
|---|---|---|---|
| Agents (AI) | mattermost-ai | دونوں | ہاں |
| Calls | com.mattermost.calls | دونوں | ہاں |
| کانبان | focalboard | دونوں | ہاں |
| پلے بکس | playbooks | دونوں | ہاں |
| GitHub | github | دونوں | نہیں |
| GitLab | com.github.manland.mattermost-plugin-gitlab | دونوں | نہیں |
| Jira | jira | دونوں | نہیں |
| میٹرکس | com.mattermost.mattermost-plugin-metrics | دونوں | نہیں |
| Voice Channels | 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 | نہیں |
جو ایپس پہلے سے فعال ہیں، وہ ہر شروع ہونے پر اگر پہلے سے نصب نہیں ہیں تو نصب ہو جاتی ہیں، یا اگر image میں نئی ورژن موجود ہو تو اپ گریڈ ہو جاتی ہیں۔ اگر آپ کسی ایک کو غیر فعال کر دیں تو وہ غیر فعال ہی رہے گی: ڈیفالٹ صرف ان ایپس پر لاگو ہوتا ہے جن کا ذکر configuration میں ابھی نہیں ہوا۔ جو ایپس اپنا Mattermost id برقرار رکھتی ہیں (Agents، Calls، Kanban، Playbooks اور integrations) وہ Antimatter کی اپنی builds ہیں۔
ایپس کو فعال، غیر فعال اور ترتیب دیں
سسٹم کنسول › پلگ انز › پلگ ان مینجمنٹ پر جائیں۔ نصب شدہ پلگ ان کے تحت، ہر ایپ کے ساتھ فعال کریں یا غیر فعال کریں، ترتیبات اور ہٹائیں کے آپشنز موجود ہیں، اور اس کی حالت (Running, Not running, Failed to start…) دکھائی جاتی ہے۔ ہر ایپ کے ساتھ جو ترتیبات موجود ہیں، ان کے لیے سسٹم کنسول › پلگ انز کے تحت اپنی الگ صفحہ موجود ہے۔
جو بنڈل شدہ ایپس پہلے سے غیر فعال ہیں، وہ امیج کی اپنی کاپی سے نصب ہوتی ہیں: ایپ ریل کے اوپر اپنی تصویر پر کلک کریں اور ایپ مارکیٹ پلیس منتخب کریں (کلاسیک انٹرفیس میں یہ پروڈکٹ مینیو میں ہے)، ایپ تلاش کریں اور نصب کریں پر کلک کریں، پھر پلگ ان مینجمنٹ میں اسے فعال کریں۔ کمانڈ لائن سے:
docker compose exec antimatter amctl --local plugin marketplace install github
docker compose exec antimatter amctl --local plugin enable github
دیگر commands: amctl plugin list، amctl plugin disable <id>، amctl plugin delete <id>۔
configuration کے ذریعے ایپس کو فعال کریں
کون سی ایپس فعال ہیں، یہ ترتیب PluginSettings.PluginStates ہے، جو ایپ آئی ڈیز کا ایک میپ ہے۔ آپ اس میں amctl کے ذریعے اندراجات ضم کر سکتے ہیں؛ جب خودکار Prepackaged پلگ انز کو فعال کریں آن (ڈیفالٹ) ہو، تو ایک فعال بنڈل شدہ ایپ اگلے شروع ہونے پر نصب ہو جاتی ہے:
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 dialog میں پیش نہیں کیا جاتا۔ variable AM_PLUGINSETTINGS_PLUGINSTATES بھی کام کرتی ہے، لیکن یہ پورے map کو بدل دیتی ہے: ہر ایپ کی فہرست درج کریں جسے آپ فعال کرنا چاہتے ہیں۔
ایپ کی ترتیبات
ایپ کی ترتیبات PluginSettings.Plugins.<app id> کے تحت محفوظ کی جاتی ہیں، اور کیز چھوٹے حروف میں ہوتے ہیں۔ انہیں ایپ کے سسٹم کنسول پیج پر تبدیل کریں، یا amctl config patch کے ذریعے، جیسا کہ ترتیبات میں دکھایا گیا ہے۔ AM_PLUGINSETTINGS_PLUGINS ایک ہی بار میں تمام ایپس کی ترتیبات کو تبدیل اور لاک کر دیتا ہے، اس لیے اس سے پرہیز کریں۔
GIFs
GIFs ایپ ایموجی پکر میں GIF اور اسٹیکر کے لیے ایک ٹیب شامل کرتی ہے، جو Antimatter کے GIF سروس (gifs-server) پر مبنی ہے، جو Tenor API سے بات چیت کرتا ہے۔ سائٹ کا compose فائل سروس کو چلاتا ہے اور متغیرات کے ذریعے ایپ کی ترتیب کرتا ہے۔ اس کی ترتیبات، سسٹم کنسول › پلگ انز › GIFs میں:
| ترتیب | متغیر (فیبیک) | ڈیفالٹ | یہ کیا کرتا ہے |
|---|---|---|---|
| GIF سروس URL | 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 اور اسٹیکرز شامل کر سکتا ہے | سسٹم ایڈمنز | سسٹم ایڈمنز، یا سب۔ مہمان کبھی نہیں کر سکتے، جیسا کہ کسٹم ایموجی کے ساتھ۔ جو کچھ لوگ شامل کرتے ہیں وہ سب کے لیے دستیاب ہوتا ہے؛ جو شخص اسے شامل کرتا ہے اور سسٹم ایڈمنز اسے حذف کر سکتے ہیں۔ | |
| اسٹیکرز فعال کریں | آن | اسٹیکر ٹیب دکھاتا ہے۔ | |
| محتوا فلٹر | درمیانہ | زیادہ، درمیانہ، کم یا بند۔ | |
| میڈیا کو Antimatter کے ذریعے فراہم کریں | آن | براؤزرز GIFs کو Antimatter سے لوڈ کرتے ہیں، جو انہیں سروس سے حاصل کرتا ہے۔ جب سروس صرف آپ کے اندرونی نیٹ ورک پر ہو تو اسے آن رکھیں۔ | |
| میڈیا URL | سروس کا /media/ | جب میڈیا براہِ راست فراہم کیا جائے تو وہ کہاں ہے۔ | |
| کیش سائز (MB) | 64 MB | ایپ کا میموری کیش۔ |
اس ایپ کے لیے، متغیرات صرف فیبل بیک ہیں: سسٹم کنسول میں سیٹ کردہ قدر ان پر برتری حاصل کرتی ہے۔ اگر GIF پکر خالی رہے، تو اس پیج پر سروس URL اور API کی کا جائزہ لیں۔
جب GIF ایپ سیٹ اپ ہو رہی ہو، تو اس کا ٹیب بلٹ ان Giphy پکر (سسٹم کنسول › انضمامات › GIF › GIF پکر فعال کریں، ServiceSettings.EnableGifPicker) کی جگہ لیتا ہے۔
GIF سروس
سروس ہر چیز کو اپنے ڈیٹا ڈائریکٹری (/data، gifs وولوم) میں رکھتی ہے: ایک سرچ انڈیکس اور میڈیا۔ اس کے اہم متغیرات:
| متغیر | ڈیفالٹ | یہ کیا کرتا ہے |
|---|---|---|
AM_GIFS_API_KEYS | کوئی نہیں | کوما سے الگ کردہ API کیز۔ کی کے بغیر، API ہر اس شخص کے لیے کھلا ہے جو اس تک پہنچ سکتا ہے۔ متعدد کیز آپ کو انہیں گھمانے (rotate) کی اجازت دیتے ہیں۔ |
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 کو بڑی تعداد میں شامل کرنے کے لیے، انہیں مانی فیسٹ کے ذریعے ایک ایسی ڈائریکٹری سے امپورٹ کریں جو ایک بار کے کنٹینر میں ماؤنٹ کی گئی ہو:
docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json
اپ گریڈ کے بعد اسٹارٹر اسٹیکرز کو دوبارہ امپورٹ کرنے کے لیے: docker compose run --rm gifs stickers۔ مانی فیسٹ فارمیٹ اور دیگر کمانڈز gifs-server README میں موجود ہیں۔
ای میل اور کیلنڈر
ای میل اور کیلنڈر ہر شخص کو اس کے اپنے میل باکس (IMAP اور SMTP) اور اپنے کیلنڈر (CalDAV) سے جوڑتے ہیں۔ لوگ ایپ میں اپنے سرور اور پاس ورڈ درج کرتے ہیں؛ پاس ورڈز انکرپٹڈ طور پر محفوظ کیے جاتے ہیں۔ آپ ان کے لیے ای میل یا کیلنڈر سرورز کی ترتیب نہیں دیتے، لیکن آپ فیصلہ کرتے ہیں کہ وہ کن سرورز سے جڑ سکتے ہیں:
| ایپ | ترتیب | ڈیفالٹ | یہ کیا کرتا ہے |
|---|---|---|---|
| ای میل، کیلنڈر | پرائیویٹ نیٹ ورکس پر ای میل سرورز کی اجازت دیں، پرائیویٹ نیٹ ورکس پر کیلنڈر سرورز کی اجازت دیں (AllowPrivateNetworks) | غیر فعال | آف ہونے پر، سرور لوپ بیک، پرائیویٹ اور لنک لوکل ایڈریسز سے جڑنے سے انکار کر دیتا ہے، تاکہ ایپس آپ کے اندرونی نیٹ ورک تک رسائی حاصل نہ کر سکیں۔ اگر آپ کا ای میل یا کیلنڈر سرور پرائیویٹ ایڈریس پر ہے تو اسے آن کریں۔ |
| ای میل، کیلنڈر | غیر انکرپٹڈ کنکشنز کی اجازت دیں (AllowInsecureConnections) | غیر فعال | آف ہونے پر، کنکشنز کو TLS استعمال کرنا ہوگا (ای میل: TLS یا STARTTLS؛ کیلنڈر: HTTPS)۔ |
| میل | غیر پڑھے کی جانچ کا وقفہ (منٹ) (UnreadCheckMinutes) | 2 منٹ | جب ای میل سرور غیر پڑھے کی تعداد کو پش نہیں کر سکتا، تو کتنی بار غیر پڑھے کی تعداد کی جانچ کی جاتی ہے۔ |
| میل | پیغام کی زیادہ سے زیادہ سائز (MB) (MaxMessageSizeMB) | 25 MB | بجھے اور پڑھے گئے پیغامات کی سائز کی حد۔ |
| کیلنڈر | ریمائنڈرز بھیجیں (EnableReminders) | آن | کیلنڈر بوٹ ایونٹس سے پہلے براہِ راست پیغام بھیجتا ہے (اپنے الارم کے بغیر ایونٹس کے لیے 10 منٹ پہلے)۔ |
لوگوں کو پاس ورڈ کے بجائے اپنے اکاؤنٹ کے ذریعے Gmail یا Microsoft 365 میل باکس میں سائن ان کرنے کی اجازت دینے کے لیے، ایک OAuth کلائنٹ بنائیں اور ای میل ایپ کے Google یا Microsoft فیلڈز بھریں:
- Google: Gmail API اور اسکوپ
https://mail.google.com/کے ساتھ ایک ویب OAuth کلائنٹ۔ - Microsoft: delegated permissions
IMAP.AccessAsUser.All،SMTP.Send،offline_access،openid،emailاورprofileکے ساتھ ایک Entra ID ایپ۔ ٹیننٹ ڈیفالٹ طور پرcommonہوتا ہے۔ - دونوں میں، ری ڈائریکٹ URI
https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback(آپ کے سائٹ URL) ہے۔
Kanban، Notes، Whiteboard، Polls اور Playbooks
- Kanban (
focalboard) بات چیت کے ساتھ ساتھ اس کے سائیڈ پینل میں کھلتا ہے، جیسا کہ Playbooks کرتا ہے۔/kanban/…اور/boards/…صفحات کی پرانی لنکس ایک کمیونٹی میں اسی بورڈ یا کارڈ کو کھولتی ہیں۔ اس کی واحد ترتیب، Enable Publicly-Shared Boards (EnablePublicSharedBoards، غیر فعال)، بورڈ ایڈیٹرز کو کسی بھی ایسے شخص کے ساتھ بورڈ شیئر کرنے کی اجازت دیتی ہے جس کے پاس لنک ہو، بغیر سائن ان کے۔ - Notes اور Polls کی کوئی ترتیبات نہیں ہیں۔
- Whiteboard: سسٹم ایڈمنز اس کی ترتیبات کی صفحے پر پورے سرور کے لیے شکل کی لائبریریاں (Excalidraw
.excalidrawlibفائلیں، ہر ایک زیادہ سے زیادہ 5 MB) اپ لوڈ کر سکتے ہیں۔ کمیونٹی ایڈمنز اپنی کمیونٹی کی لائبریریاں خود منظم کرتے ہیں۔ - Playbooks اس کے سائیڈ پینل میں کھلتا ہے۔
/playbooks/…صفحات کی پرانی لنکس ایک کمیونٹی میں اسی رن یا پلے بک کو کھولتی ہیں۔ اس کی کچھ ترتیبات ہیں، زیادہ تر تجرباتی خصوصیات؛ ڈیفالٹس زیادہ تر سرورز کے لیے موزوں ہیں۔ - Memes: میم ٹیمپلیٹس شامل کرنے کی اجازت کسے ہے: سب (ڈیفالٹ)، سسٹم ایڈمنز، یا کوئی نہیں (کسٹم ٹیمپلیٹس غیر فعال)، جو نئے ٹیمپلیٹس شامل کرنے کو روکتا ہے حالانکہ پہلے سے شامل ٹیمپلیٹس استعمال میں رہتے ہیں۔ مہمان کبھی ٹیمپلیٹس شامل نہیں کرتے۔ جو شخص ٹیمپلیٹ شامل کرتا ہے اور سسٹم ایڈمنز اسے حذف کر سکتے ہیں۔
- Todo کی کوئی سرور ترتیبات نہیں ہیں۔
GitHub، GitLab اور Jira
یہ ایپس Antimatter کو آپ کے کوڈ ہوسٹنگ اور ایسو ٹریکر سے جڑاتی ہیں۔ ہر ایک کے لیے دوسری طرف ایک OAuth ایپلیکیشن اور Antimatter کی طرف اشارہ کرنے والا ایک webhook درکار ہے۔ ایپ کو فعال کریں، پھر کسی بھی چینل میں اس کی سیٹ اپ کمانڈ چلائیں، جو آپ کو مرحلہ وار رہنمائی دے گی: /github setup، /gitlab setup یا /jira setup۔
| ایپ | OAuth redirect URL | Webhook URL |
|---|---|---|
| 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 URLs کو پرنٹ کرتا ہے۔ | |
GitHub اور GitLab ایپس اپنا webhook secret اور encryption key پہلی سیو پر جنریٹ کرتی ہیں۔ GitHub ایپ کو تنظیموں (GithubOrg) تک محدود کیا جا سکتا ہے اور GitLab ایپ کو ایک گروپ (GitlabGroup) تک؛ GitHub Enterprise یا self-hosted GitLab کے لیے اس کا base URL سیٹ کریں۔
میٹرکس
Metrics ایپ سرور کے کارکردگی کے میٹرکس کو Antimatter کے اندر ایک چھوٹے time-series ڈیٹا بیس میں جمع کرتی ہے، تاکہ آپ انہیں ڈاؤن لوڈ کر سکیں یا Prometheus چلائے بغیر سپورٹ پیکٹ میں شامل کر سکیں۔ جب یہ شروع ہوتی ہے، تو یہ سرور کے metrics endpoint (MetricsSettings.Enable) کو آن کر دیتی ہے۔ دیکھیں Operations۔
دیگر ایپس کی تنصیب
Antimatter Mattermost ایپس (پلیگن) چلاتا ہے۔ اسے شامل کرنے کے تین طریقے ہیں:
- ریموٹ مارکیٹ پلیس سے۔ ریموٹ مارکیٹ پلیس کو فعال کریں (
PluginSettings.EnableRemoteMarketplace) پہلے سے غیر فعال ہے، اور مارکیٹ پلیس URL (PluginSettings.MarketplaceURL) خالی ہے: Antimatter Mattermost کی مارکیٹ پلیس کا استعمال نہیں کرتا، اور اگر Mattermost کی کوئی ترتیب اس پتے کو رکھتی ہو تو اسے نظرانداز کر دیتا ہے۔ کسی ایسی مارکیٹ پلیس سرور کی ایپس کو فہرست میں دیکھنے کے جس پر آپ اعتماد کرتے ہیں، اس ترتیب کو آن کریں اور اس کا URL سیٹ کریں۔ Antimatter کے ساتھ شامل ایپس (Calls, Playbooks, Kanban وغیرہ) کی اس مارکیٹ پلیس کی بلڈز چھپی ہوئی ہیں، تاکہ وہ Antimatter کی ایپس کی جگہ نہ لے سکیں: Antimatter پلگ انز کے مارکیٹ پلیس بلڈز کی اجازت دیں (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) پہلے سے غیر فعال ہے۔ - بندل اپ لوڈ کر کے (
.tar.gz)۔ اپ لوڈز پہلے سے غیر فعال ہیں اور ان کے لیے سسٹم کنسول میں کوئی سوئچ نہیں ہے:AM_PLUGINSETTINGS_ENABLEUPLOADS=trueمقرر کریں، پھر پلگ ان مینجمنٹ میں پلگ ان اپ لوڈ کریں استعمال کریں، یاamctl --local plugin add app.tar.gz۔ - URL سے:
amctl plugin install-url <url>، یہ بھی اپ لوڈز فعال ہونے کی صورت میں۔
Antimatter ایپس کے سائنچرز کو ان کیز کے خلاف چیک کرتا ہے جن پر اس کا اعتماد ہے: Antimatter کی کی، Mattermost, Inc. کی وہ کی جس کے ساتھ وہ اپنے پبلش شدہ ایپس سائن کرتا ہے (اس لیے کہ آپ خود ڈاؤن لوڈ کی ہوئی Mattermost ایپ نصب ہو سکتی ہے)، اور کوئی بھی کی جو آپ PluginSettings.SignaturePublicKeyFiles میں شامل کریں۔ جب پلگ ان سائنچر کو لازمی قرار دیں (PluginSettings.RequirePluginSignature، پہلے سے غیر فعال) آن ہو، تو بغیر سائنچر والی ایپس کو مسترد کر دیا جاتا ہے اور اپ لوڈز غیر فعال ہو جاتے ہیں۔
Mattermost کی ادائیگی والی ایڈیشنز کے لیے بنائی گئی کچھ ایپس خود Mattermost لائسنس کی جانچ کرتی ہیں اور چلنے سے انکار کر دیتی ہیں؛ Antimatter ان کے لیے اس کا دعویٰ نہیں کرتا۔