การสำรองข้อมูลและการอัปเกรด

สิ่งที่ต้องสำรอง, วิธีกู้คืนบนโฮสต์ใหม่, วิธีอัปเกรด และวิธีย้ายเซิร์ฟเวอร์ Mattermost หรือชุมชนเดียวไปยัง Antimatter

สิ่งที่ต้องสำรอง

รายการด้วยไฟล์ 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
GIF และสติ๊กเกอร์โวลุ่ม antimatter_gifsไดเรกทอรีข้อมูลของบริการ GIF/var/lib/gifs-server
ข้อมูลลับ (Secrets).env (และ compose.override.yaml)ไฟล์ environment ของคุณ/etc/antimatter/antimatter.env, /etc/gifs-server
คีย์การเข้ารหัส AI ซึ่งใช้เข้ารหัสคีย์ของการเชื่อมต่อโมเดลAM_AI_ENCRYPTION_KEY ใน .env (แนะนำ) หรือไฟล์ ai-encryption.key ในโวลุ่ม antimatter_dataAM_AI_ENCRYPTION_KEY หรือ data/ai-encryption.keyAM_AI_ENCRYPTION_KEY ใน antimatter.env หรือ /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 อื่น) ใช้เครื่องมือ command-line ของ AWS ของบริการ bucket:

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)

ทดสอบการสำรองข้อมูลของคุณโดยกู้คืนบนเครื่องอื่นเป็นครั้งคราว

อัปเกรด

ไฟล์ Compose ที่ดาวน์โหลดก่อนวันที่ 17 ตุลาคม 2026 ไม่มีโวลุ่ม 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. เปลี่ยนแท็กของ image ใน .env (ANTIMATTER_IMAGE) หากคุณตรึงเวอร์ชันไว้ ตามคำแนะนำ
  3. ดึงและรีสตาร์ท:
    docker compose pull
    docker compose up -d
    docker compose logs -f antimatter

เมื่อเริ่มทำงาน เซิร์ฟเวอร์จะอัปเกรดโครงสร้างฐานข้อมูล (ติดตามความคืบหน้าในบันทึก; เซิร์ฟเวอร์ขนาดใหญ่อาจใช้เวลาหลายนาที) และติดตั้งเวอร์ชันใหม่กว่าของแอปที่รวมอยู่ในภาพ (image) สำหรับอาร์ไคฟ์ของเวอร์ชัน: หยุดเซิร์ฟเวอร์ แทนที่ทุกอย่างยกเว้น config/, data/, logs/, plugins/ และ client/plugins/ ด้วยเนื้อหาจากอาร์ไคฟ์ใหม่ แล้วเริ่มทำงานอีกครั้ง สำหรับแพ็กเกจ .deb หรือ .rpm ติดตั้งแพ็กเกจใหม่ตามที่อธิบายไว้ใน การอัปเกรดแพ็กเกจ

การอัปเกรดทำได้เฉพาะไปข้างหน้าเท่านั้น เมื่อเซิร์ฟเวอร์เวอร์ชันใหม่กว่าอัปเกรดฐานข้อมูลแล้ว เวอร์ชันเก่าจะไม่สามารถใช้งานฐานข้อมูลนั้นได้: หากต้องการย้อนกลับ ให้กู้คืนแบ็กอัพที่สร้างไว้ก่อนการอัปเกรด ข้อนี้ใช้กับการย้ายจาก antimatter-next กลับไป antimatter เช่นกัน

เวอร์ชัน

เซิร์ฟเวอร์ของ Antimatter รายงานเวอร์ชันของสาย Mattermost ที่ใช้เป็นฐาน (ปัจจุบันคือ 12.0.0) การเผยแพร่บน GitHub ซึ่งประกอบด้วยอาร์ไคฟ์และแพ็กเกจ มีหมายเลขเวอร์ชันของตัวเอง ในซีรีส์ 0.9.0 ระหว่างช่วงเบต้า: antimatter version แสดงเป็น เลขที่บิลด์ ภาพ (images) จะถูกสร้างใหม่จากสาขา main: antimatter-next ทุกคืน (แท็ก nightly-<YYYYMMDD>) และทั้งสองภาพเมื่อมีการเปลี่ยนแปลง (แท็ก sha-<commit>) ระบุ (pin) แท็กเหล่านี้ไว้ อัปเกรดอย่างมีเจตนา และจดบันทึกแท็กก่อนหน้าไว้เพื่อให้ทราบว่าการสำรองข้อมูล (backup) ไหนตรงกับเวอร์ชันนั้น

เวอร์ชันหลักของ PostgreSQL

ไฟล์ compose ใช้ postgres:17-alpine Antimatter ต้องการ PostgreSQL 15 หรือใหม่กว่า เวอร์ชันหลักใหม่ของ PostgreSQL ไม่สามารถอ่านไดเรกทอรีข้อมูลของเวอร์ชันก่อนหน้าได้: หากต้องการย้ายไปเวอร์ชันใหม่ ให้ทำ dump ฐานข้อมูล เริ่มเวอร์ชันใหม่บนโวลุ่มใหม่ และกู้คืน dump เข้าไป

การอัปเกรดเป็น 0.9.0

การเริ่มทำงานครั้งแรกของเวอร์ชัน 0.9.0 (หรือของภาพที่สร้างจากวันที่ 17 ตุลาคม 2026 เป็นต้นไป) จะทำการเปลี่ยนแปลงครั้งเดียว (one-time) บางประการกับข้อมูล แต่ละรายการจะทำงานเพียงครั้งเดียว และถูกบันทึกไว้ในฐานข้อมูล สิ่งเหล่านี้จะนำค่าที่ตั้งไว้เป็นค่าเริ่มต้นเดิม (old default) ไปเป็นค่าเริ่มต้นใหม่ และจะไม่แตะต้องค่าที่ผู้ดูแลระบบเลือกไว้ ติดตามความคืบหน้าในบันทึก (log)

หาก Antimatter ใช้สำหรับบริษัทหรือองค์กร ให้ตั้งค่า ประเภทของชุมชนใหม่ เป็น ที่ทำงาน ก่อนที่คุณจะอัปเกรด: AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND=workplace การอัปเกรดจะกำหนดประเภทนี้ให้กับทุกชุมชนตามค่าที่ตั้งไว้ในขณะนั้น และการโทร (calls) จะถูกปิดไว้เป็นค่าเริ่มต้นในช่องของชุมชนที่มีประเภท ชุมชน ดู ที่ทำงานหรือชุมชน
รายการการเปลี่ยนแปลง
ประเภทของชุมชนทุกชุมชนจะมีประเภท ชุมชน หรือ ที่ทำงาน: คือค่าของ ประเภทของชุมชนใหม่ (TeamSettings.DefaultCommunityKind) ในการเริ่มทำงานครั้งแรก ประเภทที่ตั้งไว้แล้วจะยังคงอยู่ ผู้ดูแลชุมชนสามารถเปลี่ยนประเภทของชุมชนของตนได้ภายหลัง ใน การตั้้งค่าทีม › ช่อง › ประเภทของชุมชน
ผู้ใดจะเก็บถาวรช่องสมาชิกในช่องจะไม่ได่เก็บถาวรช่องท่ีเขาร่วมอีกต่อไป: ผู้ดูแลระบบของชุมชนจะเป็นผู้เก็บถาวร ในพื้้นท่ีทำงาน ผู้ดูแลระบบของช่อง (ผู้สร้า และผู้ท่ีเขาได้ตั้งให้เป็นผู้ดูแลระบบ) ก็น่าจะเก็บถาวรช่องนั้่น การเปลี่นแปลงน้ีจะเปลี่นแปลงบทบาทของสคีมระบบ; สคีมการอนุญาติท่ีผู้ดูแลระบบของระบบได้สร้าไว้ให้ชุมชนบางชุมชนจะยังคงอย่อดังเดิมนั้่น
บทบาทผู้ดู้แลระบบ (Moderators) ของเทมเพลตเลย์เอาต์บทบาท Moderators ท่ีชุมชนได้จาก layout preset จะได้สิทธิ์ นำคนออก ท่ีจำเป้นสำหรบั การไล้คนออกและการนำคนออก ซ่ึงบทบาทท่ียังคงเป็นไปตามท่ี preset สร้า้งไว้เท่านั้้นท่ีจะเปล่ียนแปลง ส่วนบทบาทท่ีผ้ใข้ได้แก้งไข้แล้วจะไม่ได้รบัผล
บทบาทท่ีมีผู้ดูแลระบบบทบาทของชุมชนท่ีเปิดสวิตช์ ผู้ดูแลระบบ จะมปีระสิทธิตามท่ีสวิตช์บอกลงมา ครอบคลุมทังหมดท่ีผู้ดูแลระบบของชุมชนสามารถทำได้ ไม่เพียงเพีงการตังค่าของชุมชนเท่านั้้น
ขีดจำกัดจำนวนสมาชิกรายสมาชิกรวมที่มากที่สุดต่อชุมชน (TeamSettings.MaxUsersPerTeam) เปลี่ยนจากค่าเริ่มต้นเดิม 50 เป็น 0 (ไม่จำกัด) ค่าอื่น ๆ ที่ตั้งไว้จะยังคงอยู่ รวมถึงค่าที่จำกัดด้วย AM_TEAMSETTINGS_MAXUSERSPERTEAM
การเชื่อมต่อโมเดลผู้ดูแลระบบ (System administrators) จะได่รับความรับผิดชอบในการจัดการการเชื่่อมต่อโมเดล ส่วนผู้ดูแลระบบของชุมชน (community admins) (และบทบาทท่ีมีผู้ดูแลระบบ) จะรับผิดชอบในการจัดการการเชื่่อมต่อโมเดลของชุมชนตนเอง บริการ AI ของแอป Agents จะกลายเป็็นการเชื่่อมต่อโมเดลท่ีใช้ร่วมกันทั้่งเซิร์ฟเวอร์ ดูข้้อมูลเพิ่่มเติมด้านล่าง
Town Square กลายเป็น Generalช่องเริ่มต้นของทุกชุมชนจะถูกเปลี่ยนชื่อจาก town-square (Town Square) เป็น general (General) โดยยังคง ID, สมาชิก, ข้อความ และการตั้งค่า รวมถึงชื่อที่แสดงซึ่งผู้ดูแลระบบเป็นผู้เลือกไว้ ลิงก์เดิมและการค้นหาโดย town-square จะยังคงนำไปยังช่องดังกล่าว หากชุมชนมีช่องที่ชื่อ general อยู่แล้ว (แม้จะถูกระบุว่าถูกเก็บถาวร) ช่อง town-square ของชุมชนนั้นจะยังคงเป็นช่องเริ่มต้น เช่นเดียวกับชุมชนที่ town-square ถูกระบุว่าถูกเก็บถาวร: บันทึกจะระบุชื่อของช่องเหล่านี้ไว้ และผู้ดูแลระบบสามารถเปลี่ยนชื่อของช่องเหล่านี้ได้
รายการโปรดหมวดหมู่ในแถบด้านข้างที่เคยมีชื่อว่า "Everyone's Favorites" ได้เปลี่ยนชื่อเป็น "Favourites" ตามที่อินเทอร์เฟซแสดงปัจจุบัน ส่วนหมวดหมู่ที่ผู้ใช้สร้างไว้ด้วยชื่อนั้นจะยังคงเดิม

บริการของแอป Agents

การอัปเกรดจะคัดลอกบริการ AI แต่ละตัวของแอป Agents ไปเป็นการเชื่อมต่อโมเดลระดับเซิร์ฟเวอร์ ซึ่งชุมชนทุกชุมชนสามารถใช้งานร่วมกันได้ และทุกคนยกเว้นแขก (เปิด รวมแขกด้วย เพื่ออนุญาตให้พวกเขาใช้) คีย์จะถูกเข้ารหัสระหว่างทาง ดังนั้นเซิร์ฟเวอร์จึงต้องมีคีย์การเข้ารหัส AI: สำหรับคลัสเตอร์ที่ไฟล์อยู่ใน S3 ให้ตั้งค่า AM_AI_ENCRYPTION_KEY ก่อน ไม่อย่างนั้นการคัดลอกจะรอจนกว่าจะรีสตาร์ทครั้งถัดไป จากนั้นตรวจสอบ คอนโซลระบบ › AI › การเชื่อมต่อโมเดล:

  • แต่ละการเชื่อมต่อจะเก็บ ID ของบริการไว้ ดังนั้นเอเจนต์ของแอปและการแปลอัตโนมัติที่ตั้งไว้กับบริการ Agents จึงยังค้นหาบริการนั้นได้
  • บริการ OpenAI, OpenAI-compatible, Anthropic, Mistral, Cohere และ Gemini จะกลายเป็นการเชื่อมต่อไปยังปลายทาง OpenAI-compatible (หรือ Anthropic) ของแต่ละบริการ บริการ Azure จะกลายเป็นการเชื่อมต่อไปยังปลายทาง OpenAI-compatible ของทรัพยากร: ทดสอบดู
  • บริการ AWS Bedrock, Google Vertex AI และ Cohere North รวมถึงประเภทที่ไม่รู้จัก จะถูกทำเครื่องหมายว่า ต้องดำเนินการ พร้อมเหตุผล ข้อมูลประจำตัวบนคลาวด์ของพวกนั้นไม่ถูกคัดลอก: ชี้ไปยังปลายทาง OpenAI-compatible ของผู้ให้บริการหรือเกตเวย์เช่น LiteLLM จากนั้นบันทึก
  • บริการ embedding จะกลายเป็นโมเดล Embeddings ของการเชื่อมต่อที่มีที่อยู่และคีย์เดียวกัน หรือจะเป็นการเชื่อมต่อแยกต่างหาก บริการถอดเสียงจะได้โมเดล whisper-1
  • เมื่อการเขียนใหม่และสรุปยังไม่มี การเชื่อมต่อพวกนั้นจะได้บริการและโมเดลของเอเจนต์เริ่มต้นของแอป

การตั้งค่าและข้อมูลของแอป Agents เองยังคงเหมือนเดิม: เอเจนต์ของแอปยังคงใช้บริการของแอป

การเปลี่ยนแปลงค่าเริ่มต้นอื่น ๆ

  • การโทร: โหมดทดสอบ ปิดอยู่ และ เปิดใช้งานวิดีโอ เปิดอยู่โดยค่าเริ่มต้น ตัวเลือกที่บันทึกไว้ในค่าการตั้งค่าจะยังคงอยู่ การโทรยังปฏิบัติตามประเภทของชุมชน (ดู การโทรและเสียง)
  • การปักหมุดข้อความไว้บนสุดเป็นหน้าที่ของผู้ดูลระบบของช่อง ผู้ดูลระบบของชุมชน และผู้ดูแล (ที่มี จัดการข้อความ); สมาชิกของข้อความส่วนตัวหรือข้อความกลุ่มยังคงทำได้
  • ช่องที่ถูกเก็บถาวรสามารถรับสมาชิกรายใหม่ได้ ซึ่งพวกเขาสามารถอ่านประวัติได้ ไม่มีใครโพสต์ รีแอคชัน หรือเปลี่ยนแปลงสิ่งใดในนั้น

การย้ายจาก Mattermost

Antimatter ใช้โครงสร้างฐานข้อมูลของ Mattermost และเพิ่มตารางของตัวเอง จึงสามารถรับช่วงต่อฐานข้อมูล PostgreSQL และไฟล์ของเซิร์ฟเวอร์ Mattermost ได้ ลองทำกับสำเนาข้อมูลก่อน:

  1. สำรองข้อมูลฐานข้อมูล Mattermost, ที่เก็บไฟล์ (data/ หรือ S3 bucket) และ config.json จากนั้นหยุด Mattermost
  2. กู้คืนฐานข้อมูลเข้าสู่ PostgreSQL ของ Antimatter หรือชี้ Antimatter ไปยังสำเนาของฐานข้อมูลนั้น (AM_SQLSETTINGS_DATASOURCE)
  3. คัดลอกไฟล์เข้าสู่ที่เก็บของ Antimatter โดยรักษาเส้นทางเดิม: ไปยัง S3 bucket ของ antimatter ด้วยเครื่องมือ S3 หรือไปยัง data/ ด้วยอาร์ไคฟ์การปล่อยเวอร์ชัน
  4. นำการตั้งค่าของคุณกลับมาใช้: คัดลอก config.json หรือย้ายเข้าสู่ฐานข้อมูลด้วย amctl --local config migrate (ดู การตั้งค่า) ตัวแปรสภาพแวดล้อม MM_ ของคุณยังคงทำงานได้; เปลี่ยนชื่อเป็น AM_ เมื่อสะดวก
  5. เริ่ม Antimatter และติดตามบันทึกขณะมันอัปเกรดฐานข้อมูล จากนั้นตรวจสอบ คอนโซลระบบ › ปลั๊กอิน › การจัดการปลั๊กอิน Antimatter จะติดตั้งการสร้างของ Calls, Playbooks, Kanban (Boards), Agents และอินทิเกรชันของมันเองเมื่อพวกนั้นใหม่กว่าเวอร์ชันที่ติดตั้งอยู่ หาก Mattermost มีเวอร์ชันที่ใหม่กว่าของหนึ่งในนั้น ให้ลบแอปนั้นและรีสตาร์ท Antimatter เพื่อให้การติดตั้งของมันเองเสร็จสมบูรณ์
  6. ตั้้งค่าการแจ้งเตือนแบบพุชใหม่อีกครั่ง ดวยการใช้ push proxy ของคุนเอง: Antimatter จะไม่ส่่งการแจ้งเตือนไปย้งเซิรฟ์เวอรฟ์การแจ้งเตือนของ Mattermost ท้้งท่ีเป็นเซิรฟ์เวอรฟ์ทดสอบหรือท่ีเข้้าถึงได้ออนไลน์ เพราะเซิรฟ์เวอรฟ์เหล่าน้ีจะส่่งการแจ้งเตือนไปย้งแอปของ Mattermost เองเท่านั้้น จนกว่าคุนจะเปลี่่ยนเซิรฟ์เวอรฟ์การแจ้งเตือนแบบพุช เซิรฟ์เวอรฟ์จะไม่ส่่งการแจ้งเตือนแบบพุชเลย (ดูการแจ้งเตือนแบบพุช)

Antimatter ไม่ติดต่อใช้บริการใด ๆ ที่ดำเนินการโดย Mattermost, Inc. (ดู การเชื่อมต่อไปยังบริการภายนอก) แม้การตั้งค่าของคุณจะยังระบุไว้ก็ตาม:

  • เซิร์ฟเวอร์การแจ้งเตือนแบบ push ของ Mattermost ยังคงถูกเก็บไว้ในตั้งค่า แต่จะไม่ถูกใช้งาน;
  • ท่ีอยู้ของ Mattermost สำหรบั Marketplace (URL ของ Marketplace) และสำหรบัประกาศของผลิ่ตภัณฑ์ จะถูกลบออก;
  • ลิงก์ดาวน์โหลดแอปท่ีเป็นค่าเริ่มต้นของ Mattermost (ลิงก์หน้าดาวน์โหลดแอป Antimatter, ลิงก์ดาวน์โหลดแอป Android และ ลิงก์ดาวน์โหลดแอป iOS) จะถูกลบออกและเปลี่่ยนไปย้งหน้าดาวน์โหลดแอปของ Antimatter บน GitHub; ลิงก์ท่ีคุนตั้้งค่าเองจะถูกรักเร้นไว้;
  • แอป Calls ใช้เซิร์ฟเวอร์ STUN สาธารณะของ Cloudflare แทนที่จะใช้ของ Mattermost โดยไม่มีการเปลี่ยนแปลงค่าที่ตั้งไว้ (ดู การโทร);
  • the security update check and crash reporting are gone, and so are their System Console settings (Enable Security Alerts, Enable Diagnostics and Error Reporting) and the Notices page.

ซ็อกเก็ตสำหรับโหมดท้องถิ่นตอนนี้คือ /var/tmp/antimatter_local.socket; amctl จะลองใช้ /var/tmp/mattermost_local.socket เดิมด้วย Mattermost รองรับเฉพาะ PostgreSQL ในเวอร์ชันล่าสุด และ Antimatter ก็เช่นกัน: ย้ายฐานข้อมูล MySQL ไปยัง PostgreSQL ก่อน หากต้องการกลับไปใช้ Mattermost หลังจาก Antimatter อัปเกรดฐานข้อมูลแล้ว คุณต้องกู้คืนข้อมูลสำรอง (backup) ของ Mattermost ของคุณ

ส่งออกและนำเข้าข้อมูล

รูปแบบการส่งออกข้อมูลจำนวนมาก (bulk export) ช่วยย้ายข้อมูลระหว่างเซิร์ฟเวอร์: ทั้งเซิร์ฟเวอร์, ชุมชนบางส่วน หรือช่องบางส่วน พร้อมไฟล์แนบ รูปภาพโปรไฟล์ และอิโมจิกำหนดเอง หากคุณต้องการ

# 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