بیک اپس اور اپ گریڈز

کیا چیزیں بیک اپ کرنی ہیں، نئے ہوسٹ پر کیسے بحال کرنی ہیں، کیسے اپ گریڈ کرنا ہے، اور Antimatter پر Mattermost سرور یا ایک کومونٹی کیسے منتقل کرنی ہے۔

کیا چیزیں بیک اپ کرنی ہیں

کیاسائٹ کے compose فائل کے ساتھریلیس آرکائیو کے ساتھ.deb یا .rpm پیکج کے ساتھ
ڈیٹا بیس: پیغامات، صارفین، کومونٹیز، چینلز اور، سائٹ کے compose فائل کے ساتھ، کنفیگریشنوولیوم antimatter_postgres، pg_dump کے ذریعےآپ کا PostgreSQL ڈیٹا بیسآپ کا PostgreSQL ڈیٹا بیس
اپ لوڈ شدہ فائلیں، تصاویر اور انسٹال شدہ ایپسوولیوم antimatter_files (S3 اسٹوریج)FileSettings.Directory، پہلے سے طے شدہ ./data//var/lib/antimatter
کنفیگریشن فائل(ڈیٹا بیس میں)config/config.json/etc/antimatter/config/config.json
GIFs اور اسٹیکرزوولیوم antimatter_gifsGIF سروس کا ڈیٹا ڈائریکٹری/var/lib/gifs-server
راز (Secrets).env (اور compose.override.yaml)آپ کا ماحول فائل/etc/antimatter/antimatter.env, /etc/gifs-server
AI انکرپشن کلید، جو ماڈل کنکشنز کی کلیدز کو انکرپٹ کرتی ہے.env میں AM_AI_ENCRYPTION_KEY (تجویز کردہ)، یا antimatter_data وولوم میں ai-encryption.key فائلAM_AI_ENCRYPTION_KEY، یا data/ai-encryption.keyantimatter.env میں AM_AI_ENCRYPTION_KEY، یا /var/lib/antimatter/data/ai-encryption.key

AI انکرپشن کلید کے بغیر، بحال شدہ سرور اپنے ماڈل کنکشنز کی API کلیدز نہیں پڑھ سکتا، اور ہر ایک کو دوبارہ ٹائپ کرنا پڑتا ہے۔ کلید کی ایک کاپی ڈیٹا بیس بیک اپس سے الگ رکھیں، تاکہ ایک چوری شدہ بیک اپ میں دونوں موجود نہ ہوں۔ دیکھیں انکرپشن کلید۔

ڈیٹا بیس اور فائلیں ایک ساتھ ہیں: انہیں ایک ہی وقت میں بیک اپ کریں، اور کاپیاں سرور سے باہر رکھیں۔ وولیوم کے نام compose پروجیکٹ کے نام، antimatter سے شروع ہوتے ہیں (docker volume ls انہیں فہرست کرتا ہے)۔

بیک اپ کریں

compose.yaml کے ڈائریکٹری سے۔ پہلے Antimatter کو روکنا مکمل طور پر متوازن کاپی دیتا ہے؛ چلتے ہوئے سرور سے لیا گیا بیک اپ عام طور پر ٹھیک ہوتا ہے، لیکن بیک اپ کے دوران اپ لوڈ شدہ فائلیں اس میں موجود نہ ہو سکتی ہیں۔

stamp=$(date +%Y%m%d-%H%M%S)
mkdir -p backups
docker compose stop antimatter
# Database
docker compose exec -T postgres pg_dump -U antimatter -d antimatter -Fc \
    > "backups/antimatter-db-$stamp.dump"
# File storage, GIF service and the data directory (the AI key file)
for v in files gifs data; do
    docker run --rm -v "antimatter_$v:/data:ro" -v "$PWD/backups:/backup" \
        alpine tar -czf "/backup/antimatter-$v-$stamp.tar.gz" -C /data .
done
docker compose start antimatter
# Secrets
cp .env "backups/env-$stamp"

اگر آپ نے AM_AI_ENCRYPTION_KEY سیٹ نہیں کیا ہے، تو سرور کی کلید فائل data وولوم میں ہے، جسے اوپر والا لوپ فائلوں کے ساتھ محفوظ کرتا ہے۔ بہتر ہے کہ اس کا مواد .env میں رکھیں، جیسا کہ انکرپشن کلید میں بیان کیا گیا ہے، اور اس کی ایک کاپی ڈیٹا بیس بیک اپس سے الگ رکھیں۔

روزانہ کے بیک اپ کے لیے cron سے چلائیں، اور backups/ ڈائریکٹری کو کسی اور مشین پر کاپی کریں۔ .env کی کاپیاں سرور جتنی محفوظ رکھیں: ان میں اس کے پاس ورڈز ہیں۔

اپ لوڈ شدہ فائلوں کو آئیٹم بہ آئیٹم کاپی کرنے کے لیے (مثلاً کسی اور S3 اسٹوریج پر)، bucket سروس کا AWS کمانڈ لائن ٹول استعمال کریں:

docker compose run --rm -v "$PWD/backups/files:/backup" bucket \
    "aws --endpoint-url http://files:9000 s3 sync s3://antimatter /backup"

ریلیس آرکائیو کے ساتھ، ڈیٹا بیس کو pg_dump -Fc کے ساتھ بیک اپ کریں، اور data/ اور config/ ڈائریکٹریز کو اپنے معمول کے ٹولز کے ساتھ (data/ میں AI کلید فائل ہوتی ہے)۔ پیکجز کے ساتھ، ڈیٹا بیس کو اسی طرح بیک اپ کریں، اور /etc/antimatter، /var/lib/antimatter، /etc/gifs-server اور /var/lib/gifs-server۔

نئے ہوسٹ پر بحال کریں

compose.yaml، محفوظ شدہ .env اور بیک اپس کو ایک نئے ڈائریکٹری میں رکھیں، پھر:

stamp=20261016-030000          # the backup to restore
docker compose create           # creates the volumes, starts nothing
docker compose up -d postgres
docker compose exec -T postgres pg_restore -U antimatter -d antimatter --no-owner \
    < "backups/antimatter-db-$stamp.dump"
for v in files gifs data; do
    docker run --rm -v "antimatter_$v:/data" -v "$PWD/backups:/backup" \
        alpine tar -xzf "/backup/antimatter-$v-$stamp.tar.gz" -C /data
done
docker compose up -d

ایسی ہی .env استعمال کریں: اسٹوریج اور ڈیٹا بیس کو ان کے پاس موجود پاس ورڈز برقرار رکھنے ہوں گے، اور ماڈل کنکشنز کو وہی AI انکرپشن کلید درکار ہوگی۔ اگر نئے ہوسٹ کا پتہ مختلف ہے، تو SITE_URL (اور DOMAIN) کو اپ ڈیٹ کریں۔

کبھی کبھار بیک اپس کی جانچ کے لیے انہیں کسی اور مشین پر بحال کریں۔

اپ گریڈ کریں

17 اکتوبر 2026 سے پہلے ڈاؤن لوڈ کیے گئے Compose فائلوں میں data وولوم نہیں تھا: AI کلید فائل کنٹینر میں تھی۔ جب آپ نئی compose.yaml استعمال کرنے سے پہلے، اور اگر .env میں AM_AI_ENCRYPTION_KEY موجود نہیں ہے، تو سرور نے جو کلید بنائی ہے اسے محفوظ کریں: echo "AM_AI_ENCRYPTION_KEY=$(docker compose exec -T antimatter cat /antimatter/data/ai-encryption.key)" >> .env۔ اگر کمانڈ کو کوئی فائل نہیں ملتی، تو اس کا مطلب ہے کہ ابھی تک کوئی ماڈل کنکشن نے کوئی کلید محفوظ نہیں کی ہے۔
  1. بیک اپ لیں۔
  2. اگر آپ ایک پین کرتے ہیں، جیسا کہ تجویز کیا گیا ہے، تو .env میں امیج ٹیگ (ANTIMATTER_IMAGE) کو تبدیل کریں۔
  3. پل اور ری اسٹارٹ کریں:
    docker compose pull
    docker compose up -d
    docker compose logs -f antimatter

شروع پر، سرور ڈیٹا بیس اسکیمے کو اپ گریڈ کرتا ہے (اسے لاگ میں دیکھیں؛ بڑے سرور کے لیے یہ کئی منٹ لگ سکتا ہے) اور امیج سے شامل ایپس کے نئے ورژن انسٹال کرتا ہے۔ ریلیس آرکائیو کے ساتھ: سرور روکیں، config/، data/، logs/، plugins/ اور client/plugins/ کے علاوہ ہر چیز کو نئے آرکائیو کے مواد سے تبدیل کریں، اور دوبارہ شروع کریں۔ .deb یا .rpm پیکیج کے ساتھ، نئے پیکیج کو اس طرح انسٹال کریں جیسا کہ پیکیج اپ گریڈ میں بیان کیا گیا ہے۔

اپ گریڈ صرف آگے بڑھتے ہیں۔ ایک بار جب نیا سرور ڈیٹا بیس کو اپ گریڈ کر دے، تو پرانا ورژن اس کا استعمال نہیں کر سکتا: واپسی کے لیے، اپ گریڈ سے پہلے لیا گیا بیک اپ بحال کریں۔ یہی بات antimatter-next سے antimatter کی واپسی پر بھی لاگو ہوتی ہے۔

ورژنز

Antimatter کا سرور اس Mattermost لائن کے ورژن کی رپورٹ کرتا ہے جس پر یہ مبنی ہے (حالیہ ورژن 12.0.0 ہے)۔ GitHub پر دستیاب ریلیز، جن کے ساتھ آرکائیوز اور پیکیجز ہیں، اپنے اپنے ورژن نمبرز رکھتی ہیں، بیٹا کے دوران یہ 0.9.0 سیریز میں ہیں: antimatter version اسے بلڈ نمبر کے طور پر دکھاتا ہے۔ امیجز main برانچز سے دوبارہ تعمیر کی جاتی ہیں: antimatter-next ہر رات (ٹیگز nightly-<YYYYMMDD>)، اور ہر تبدیلی پر دونوں امیجز (ٹیگز sha-<commit>)۔ ان میں سے ایک ٹیگ کو فکس کریں، ارادتی طور پر اپ گریڈ کریں، اور پچھلی ٹیگ کو نوٹ کر رکھیں تاکہ آپ کو معلوم ہو کہ کون سا بیک اپ اس کے ساتھ جاتا ہے۔

PostgreSQL کے بڑے ورژنز

کمپوز فائل postgres:17-alpine استعمال کرتی ہے۔ Antimatter کو PostgreSQL 15 یا اس سے نئے ورژن کی ضرورت ہے۔ PostgreSQL کا نیا بڑا ورژن پچھلے ورژن کا ڈیٹا ڈائریکٹری نہیں پڑھ سکتا: اسے منتقل کرنے کے لیے، ڈیٹا بیس ڈمپ کریں، نئے ورژن کو نئے وولوم پر شروع کریں اور ڈمپ کو اس میں بحال کریں۔

0.9.0 میں اپ گریڈ

ورژن 0.9.0 (یا 17 اکتوبر 2026 کے بعد سے بنائی گئی امیج) کا پہلا شروع ڈیٹا میں کچھ ایک بار کے تبدیلیاں کرتا ہے۔ ہر تبدیلی ایک بار چلتی ہے اور ڈیٹا بیس میں ریکارڈ کی جاتی ہے۔ یہ پرانے ڈیفالٹ پر چھوڑے گئے چیزوں کو نئے ڈیفالٹ تک لاتی ہیں، اور ایڈمنسٹریٹر کے منتخب کردہ چیزوں کو ہاتھ نہیں لگاتی۔ انہیں لاگ میں دیکھیں۔

If Antimatter is for a company or an organisation, set Kind of new communities to Workplace before you upgrade: AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND=workplace. The upgrade gives every community the kind this setting has at that moment, and calls are off by default in the channels of communities of the Community kind. See Workplace or community.
کیاتبدیلی
کمیونٹی کی اقسامہر کمیونٹی کو ایک قسم ملتی ہے، کمیونٹی یا ورک پلیس: پہلے شروع پر نئی کمیونٹیز کی قسم (TeamSettings.DefaultCommunityKind) کی قدر۔ پہلے سے سیٹ کردہ قسم برقرار رہتی ہے۔ کمیونٹی ایڈمنسٹریٹرز بعد میں اپنی کمیونٹی کی قسم بدل سکتے ہیں، ٹیم کی ترتیبات › چینلز › کمیونٹی کی قسم میں۔
کون چینلز آرکائیو کرتا ہےچینلز کے اراکین اب ان چینلز کو آرکائیو نہیں کرتے جن میں وہ شامل ہیں؛ یہ کام کمیونٹی کے ایڈمنسٹریٹرز کرتے ہیں۔ ایک ورک پلیس میں، چینل کے ایڈمنسٹریٹرز (جو اسے بنائے اور جنہیں انہوں نے ایڈمنسٹریٹرز بنایا) بھی چینل کو آرکائیو کرتے ہیں۔ اس تبدیلی سے سسٹم اسکیم کے کردار بدل جاتے ہیں؛ تاہم، سسٹم ایڈمنسٹریٹر کی طرف سے کچھ کمیونٹیز کے لیے بنائے گئے پرمیشن اسکیمز کو ویسے ہی چھوڑ دیا جاتا ہے۔
لی آؤٹ پری سیٹس کا Moderators کردارکمیونٹیز کو لی آؤٹ پری سیٹ سے ملنے والا Moderators کردار اب لوگوں کو ہٹائیں کی صلاحیت حاصل کرتا ہے، جو لوگوں کو وقت کی بنیاد پر ہٹانے اور انہیں بالکل خارج کرنے کے لیے ضروری ہے۔ صرف وہی کردار تبدیل ہوتے ہیں جو پری سیٹ کے مطابق بالکل ویسے ہی ہیں؛ کسی کے طرف سے ایڈٹ شدہ کردار کو چھوڑ دیا جاتا ہے۔
ایڈمنسٹریٹر کے ساتھ کردارکمیونٹی کا وہ کردار جس میں ایڈمنسٹریٹر سوئچ آن ہے، اب کمیونٹی کے ایڈمنسٹریٹرز کے تمام اختیارات حاصل کرتا ہے، جیسا کہ سوئچ بتاتا ہے، صرف کمیونٹی کی ترتیبات تک محدود نہیں رہتا۔
ارکان کی حدہر کمیونٹی میں زیادہ سے زیادہ اراکین (TeamSettings.MaxUsersPerTeam) 50 (پرانے ڈیفالٹ) سے 0 (کوئی حد نہیں) تک تبدیل ہو جاتا ہے۔ کوئی اور قیمت برقرار رہتی ہے، اور AM_TEAMSETTINGS_MAXUSERSPERTEAM کے ذریعے سیٹ کی گئی حد بھی برقرار رہتی ہے۔
ماڈل کنکشنزسسٹم ایڈمنسٹریٹرز کو ماڈل کنکشنز کی نگرانی کا اختیار ملتا ہے، اور کمیونٹی ایڈمنسٹریٹرز (اور ایڈمنسٹریٹر کے ساتھ کردار) کو اپنی کمیونٹی کے کنکشنز کی نگرانی کا اختیار ملتا ہے۔ ایجنٹس ایپ کے AI سروسز سرور-وائیڈ ماڈل کنکشنز بن جاتے ہیں، تفصیل کے لیے نیچے دیکھیں۔
ٹاؤن اسکوئر جنرل بن جاتا ہےہر کمیونٹی کا ڈیفالٹ چینل town-square (Town Square) سے general (General) کے نام سے دوبارہ نامزد کیا جاتا ہے۔ اس کا ID، ارکان، پیغامات اور ترتیبات برقرار رہتے ہیں، اور ایڈمنسٹریٹرز کے منتخب کردہ ڈسپلے نام بھی برقرار رہتا ہے۔ پرانے لنکس اور town-square کے ذریعے تلاش اب بھی اس چینل کو لے جاتی ہیں۔ اگر کسی کمیونٹی میں پہلے سے general نام کا چینل موجود ہے (چاہے آرکائیو شدہ ہو)، تو اس کا town-square ڈیفالٹ چینل کے طور پر برقرار رہتا ہے، اور اسی طرح اگر town-square آرکائیو شدہ ہو۔ لاگ میں ان کمیونٹیز کے نام درج ہوتے ہیں، اور ان کے ایڈمنسٹریٹرز چینلز کے نام دوبارہ تبدیل کر سکتے ہیں۔
پسندیدہہر فرد کے Favorites سائیڈ بار کیٹیگری کا نام Favourites کر دیا جاتا ہے، جیسا کہ انٹرفیس اب ظاہر کرتا ہے۔ لوگوں کی طرف سے اس نام سے بنائی گئی کیٹیگریز کو چھوڑ دیا جاتا ہے۔

ایجنٹس ایپ کے سروسز

اپ گریڈ کے دوران ایجنٹس ایپ کے ہر AI سروس کو سرور کے پورے ماڈل کنکشن میں تبدیل کیا جاتا ہے، جو ہر کمیونٹی کے ساتھ شیئر ہوتا ہے اور مہمانوں کے علاوہ ہر کوئی اس کا استعمال کر سکتا ہے (انہیں بھی اجازت دینے کے لیے مہمانوں کو بھی کو آن کریں)۔ راستے میں کلز کو انکرپٹ کیا جاتا ہے، اس لیے سرور کو اپنا AI انکرپشن کل درکار ہے: اگر کلسٹر کی فائلیں S3 میں ہیں تو پہلے AM_AI_ENCRYPTION_KEY سیٹ کریں، ورنہ کاپی اگلے شروع ہونے تک انتظار کرے گی۔ پھر سسٹم کنسول › AI › ماڈل کنکشنز کو چیک کریں:

  • ہر کنکشن اپنی سروس کا ID برقرار رکھتا ہے، تاکہ ایپ کے ایجنٹس اور ایجنٹس سروس پر سیٹ خودکار ترجمہ اسے پھر بھی ڈھونڈ سکیں۔
  • OpenAI، OpenAI-compatibile، Anthropic، Mistral، Cohere اور Gemini سروسز ان کے OpenAI-compatibile (یا Anthropic) اینڈ پوائنٹ کے کنکشن بن جاتی ہیں۔ Azure سروس ریسورس کے OpenAI-compatibile اینڈ پوائنٹ کے کنکشن بن جاتی ہے: اسے ٹیسٹ کریں۔
  • AWS Bedrock، Google Vertex AI اور Cohere North سروسز، اور نامعلوم اقسام کو توجہ درکار کے طور پر نشان زد کیا جاتا ہے، وجہ کے ساتھ۔ ان کے کلاؤڈ کریڈنشلز کاپی نہیں کیے جاتے: انہیں پرووائڈر کے OpenAI-compatibile اینڈ پوائنٹ یا LiteLLM جیسے گیٹ وے پر سیٹ کریں، پھر محفوظ کریں۔
  • ایمبیڈنگ سروس اسی ایڈریس اور کل والے کنکشن کا ایمبیڈنگز ماڈل بن جاتی ہے، یا اپنا الگ کنکشن۔ ٹرانسکرپشن سروس کو whisper-1 ماڈل ملتا ہے۔
  • اگر ری رائٹ اور ریکپس کے پاس ابھی کوئی کنکشن نہیں ہے، تو انہیں ایپ کے ڈیفالٹ ایجنٹ کی سروس اور ماڈل مل جاتے ہیں۔

ایجنٹس ایپ کی اپنی ترتیبات اور ڈیٹا ویسے ہی رہتے ہیں جیسے تھے: اس کے ایجنٹس اس کی سروسز کا استعمال جاری رکھتے ہیں۔

ڈیفالٹس میں دیگر تبدیلیاں

  • کالز: ٹیسٹ موڈ آف اور ویڈیو فعال کریں ڈیفالٹ طور پر آن ہے۔ کنفیگریشن میں محفوظ شدہ انتخاب برقرار رہتا ہے۔ کالز کمیونٹی کی قسم کے پیروی بھی کرتی ہیں (دیکھیں کالز اور وائس)۔
  • پیغامات کو اوپر لانے کا حق چینل کے ایڈمنز، کمیونٹی کے ایڈمنز اور مڈریٹرز (جن کے پاس پیغامات کا انتظام ہے) کو ہے؛ براہِ راست یا گروپ پیغام کے ارکان اب بھی یہ کر سکتے ہیں۔
  • آرکائیو شدہ چینلز نئے ارکان قبول کر سکتے ہیں، جو ان کی تاریخ پڑھ سکتے ہیں۔ کوئی بھی ان میں پوسٹ نہیں کر سکتا، ردعمل نہیں دے سکتا یا کچھ نہیں بدل سکتا۔

Mattermost سے منتقلی

Antimatter، Mattermost کے ڈیٹا بیس اسکیمے کا استعمال کرتا ہے اور اپنی کچھ ٹیبلز شامل کرتا ہے، اس لیے یہ Mattermost سرور کے PostgreSQL ڈیٹا بیس اور فائلز کو اپنانے کے قابل ہے۔ پہلے اسے کسی کاپی پر آزمائیں:

  1. Mattermost ڈیٹا بیس، اس کی فائل اسٹوریج (data/ یا S3 بکٹ) اور config.json کا بیک اپ لیں، پھر Mattermost روکیں۔
  2. ڈیٹا بیس کو Antimatter کے PostgreSQL میں بحال کریں، یا Antimatter کو اس کی کاپی کی طرف اشارہ کریں (AM_SQLSETTINGS_DATASOURCE)۔
  3. فائلز کو Antimatter کی اسٹوریج میں کاپی کریں، ان کے راستے برقرار رکھتے ہوئے: S3 ٹول کے ذریعے antimatter بکٹ میں، یا ریلیز آرکائیو کے ذریعے data/ میں۔
  4. اپنی ترتیبات دوبارہ استعمال کریں: config.json کاپی کریں، یا اسے amctl --local config migrate کے ذریعے ڈیٹا بیس میں منتقل کریں (دیکھیں ترتیبات)۔ آپ کے MM_ ماحولیاتی متغیرات (environment variables) اب بھی کام کرتے ہیں؛ جب مناسب ہو تو انہیں AM_ میں تبدیل کر دیں۔
  5. Antimatter کو شروع کریں اور ڈیٹا بیس اپ گریڈ ہوتے ہوئے لاگ کو دیکھتے رہیں۔ پھر سسٹم کنسول › پلگ انز › پلگ ان مینجمنٹ کا جائزہ لیں۔ Antimatter اپنے Calls، Playbooks، Kanban (Boards)، Agents اور انٹیکریشنز کے اپنے بیلڈز اس وقت انسٹال کرتا ہے جب وہ انسٹال شدہ ورژن سے نئے ہوں۔ اگر Mattermost میں ان میں سے کسی ایک کا نیا ورژن موجود ہو، تو اس ایپ کو ہٹا دیں اور Antimatter کو دوبارہ شروع کریں تاکہ اس کا اپنا بیلڈ انسٹال ہو جائے۔
  6. اپنے اپنے پش پراکسی کے ساتھ پش اطلاعات دوبارہ ترتیب دیں: Antimatter کبھی بھی Mattermost کے پش سروسز کو اطلاعات نہیں بھیجتا، چاہے وہ ٹیسٹ ہو یا ہوسٹڈ، کیونکہ وہ صرف Mattermost کی اپنی ایپس کو ڈیلیور کرتی ہیں۔ جب تک آپ پش نوٹیفیکیشن سرور کو تبدیل نہیں کرتے، سرور کوئی پش اطلاعات نہیں بھیجتا (دیکھیں پش اطلاعات)۔

Antimatter Mattermost, Inc. کے چلائے ہوئے کسی بھی سروس سے رابطہ نہیں کرتا (دیکھیں بیرونی سروسز سے روابط)، یہاں تک کہ اگر آپ کی کنفیگریشن میں ابھی بھی اس کا نام موجود ہو:

  • Mattermost پر موجود پش نوٹیفیکیشن سرور ترتیبات میں محفوظ رہتا ہے لیکن کبھی استعمال نہیں ہوتا؛
  • ایپ مارکیٹ پلیس (مارکیٹ پلیس URL) اور پروڈکٹ نوٹسز کے لیے Mattermost کے ایڈریس خالی کر دیے جاتے ہیں؛
  • ایپ ڈاؤن لوڈ لنکس جو Mattermost کے ڈیفالٹ تھے (Antimatter Apps Download Page Link، Android ایپ ڈاؤن لوڈ لنک اور iOS ایپ ڈاؤن لوڈ لنک) Antimatter کے ایپس کے GitHub پر ڈاؤن لوڈ پیجز سے تبدیل کر دیے گئے ہیں؛ آپ کے خود سیٹ کیے گئے لنکس برقرار رہتے ہیں؛
  • Calls ایپ Mattermost کے بجائے Cloudflare کے پبلک STUN سرور کا استعمال کرتی ہے، محفوظ شدہ ترتیب کو تبدیل کیے بغیر (دیکھیں Calls)؛
  • سیکیوٹی اپڈیٹ چیک اور کریش رپورٹنگ ختم ہو گئی ہیں، اور ان کے سسٹم کنسول کی ترتیبات (سیکیوٹی الرٹس فعال کریں، ڈائیگنوسٹکس اور ایرر رپورٹنگ فعال کریں) اور اطلاعات پیج بھی ختم ہو گئے ہیں۔

لوکل موڈ سوکیٹ اب /var/tmp/antimatter_local.socket ہے؛ amctl پرانے /var/tmp/mattermost_local.socket کی کوشش بھی کرتا ہے۔ Mattermost اپنے حالیہ ورژنز میں صرف PostgreSQL کو سپورٹ کرتا ہے، اور Antimatter بھی ایسا ہی کرتا ہے: پہلے MySQL ڈیٹا بیس کو PostgreSQL پر منتقل کریں۔ Antimatter کے ڈیٹا بیس اپ گریڈ کرنے کے بعد Mattermost پر واپس جانا اس کا مطلب ہے کہ آپ کو اپنا Mattermost بیک اپ بحال کرنا ہوگا۔

ڈیٹا ایکسپورٹ اور امپورٹ کریں

بُلک ایکسپورٹ فارمیٹ ڈیٹا کو سرورز کے درمیان منتقل کرتا ہے: پورا سرور، کچھ کمیونٹیز، یا کچھ چینلز، آپ کی مرضی کے مطابق منسلک فائلوں، پروفائل تصاویر اور کسٹم ایموجی کے ساتھ۔

# on the source server
amctl export create --team-name design --include-profile-pictures
amctl export list
amctl export download <export file> design.zip
# on the destination server
amctl import upload design.zip
amctl import list available
amctl import process <uploaded file> --imported-users active

کاموں کو amctl export job list اور amctl import job list کے ذریعے دیکھیں۔ کسی کمیونٹی یا چینل کے ایکسپورٹ کے لیے --imported-users ضروری ہے: جب لوگ اس سرور پر منتقل ہوں تو active، اور جب ان کے پہلے سے موجود اکاؤنٹس والے سرور میں امپورٹ ہو رہا ہو تو inactive، تاکہ غیر یقینی میچز سے بنائے گئے اکاؤنٹس ایڈمن کی تصدیق تک غیر فعال رہیں۔ --destination-team-name موجودہ کمیونٹی میں امپورٹ کرتا ہے۔ ایکسپورٹ اور امپورٹز سرور کے اسٹوریج (ExportSettings.Directory، ImportSettings.Directory) پر ڈیفالٹ طور پر 30 دن تک محفوظ رہتے ہیں۔

سرور پر خود، antimatter export bulk اور antimatter import bulk --apply فائلز کے ذریعے اسی کام کو API کے بغیر انجام دیتے ہیں۔