Αντιγραφή ασφαλείας και αναβαθμίσεις

Τι πρέπει να κάνετε αντιγραφή, πώς να το επαναφέρετε σε έναν νέο host, πώς να κάνετε αναβάθμιση και πώς να μεταφέρετε έναν server Mattermost ή μια ενιαία κοινότητα στο Antimatter.

Τι πρέπει να κάνετε αντιγραφή

ΤιΜε το compose file του siteΜε ένα αρχείο releaseΜε το πακέτο .deb ή .rpm
Η βάση δεδομένων: μηνύματα, χρήστες, κοινότητες, κανάλια και, με το compose file του site, οι ρυθμίσειςvolume antimatter_postgres, μέσω pg_dumpη βάση δεδομένων PostgreSQLη βάση δεδομένων PostgreSQL
Ανεβασμένα αρχεία, εικόνες και εγκατεστημένες εφαρμογέςvolume antimatter_files (η αποθήκευση S3)FileSettings.Directory, προεπιλεγμένα ./data//var/lib/antimatter
Το αρχείο ρυθμίσεων(στη βάση δεδομένων)config/config.json/etc/antimatter/config/config.json
GIF και αυτοκόλληταvolume antimatter_gifsο κατάλογος δεδομένων της υπηρεσίας GIF/var/lib/gifs-server
Μυστικά.env (και compose.override.yaml)το αρχείο περιβάλλοντος/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 των συνδέσεών του με τα μοντέλα, και κάθε ένα πρέπει να πληκτρολογηθεί ξανά. Κρατήστε ένα αντίγραφο του κλειδιού χωριστά από τα αντίγραφα ασφαλείας της βάσης δεδομένων, ώστε μια κλεμμένη αντίγραφο να μην περιέχει και τα δύο. Δείτε Το κλειδί κρυπτογράφησης.

Η βάση δεδομένων και τα αρχεία ανήκουν μαζί: κάντε αντιγραφή τους ταυτόχρονα και διατηρήστε αντίγραφα εκτός από τον server. Τα ονόματα των volumes ξεκινούν με το όνομα του compose project, 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 με την ίδια ασφάλεια με τον server: περιέχουν τους κωδικούς πρόσβασής του.

Για να αντιγράψετε τα ανεβασμένα αρχεία αντικείμενο προς αντικείμενο (για παράδειγμα σε άλλη αποθήκευση S3), χρησιμοποιήστε το εργαλείο γραμμής εντολών 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.

Επαναφορά σε νέο host

Τοποθετήστε το 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. Αλλάξτε την ετικέτα της εικόνας στο .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

Το αρχείο compose χρησιμοποιεί postgres:17-alpine. Το Antimatter απαιτεί PostgreSQL 15 ή νεότερη έκδοση. Μια νέα κύρια έκδοση του PostgreSQL δεν μπορεί να διαβάσει τον κατάλογο δεδομένων της προηγούμενης: για να μεταβείτε σε αυτή, δημιουργήστε ένα dump της βάσης, εκκινήστε τη νέα έκδοση σε έναν νέο τόμο (volume) και επαναφέρετε το dump σε αυτή.

Αναβάθμιση στην 0.9.0

Η πρώτη εκκίνηση της έκδοσης 0.9.0 (ή μιας εικόνας που χτίστηκε από τις 17 Οκτωβρίου 2026 και μετά) κάνει μερικές μονομερείς αλλαγές στα δεδομένα. Κάθε μία εκτελείται μία φορά και καταγράφεται στη βάση δεδομένων. Φέρνουν ό,τι είχε μείνει σε παλιά προεπιλογή στη νέα, και αφήνουν αλώβητο ό,τι είχε επιλέξει ένας διαχειριστής. Ακολουθήστε τις στο αρχείο καταγραφής.

Εάν το Antimatter προορίζεται για μια εταιρεία ή έναν οργανισμό, ορίστε τον Τύπο νέων κοινοτήτων σε Χώρο εργασίας πριν αναβαθμίσετε: AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND=workplace. Η αναβάθμιση αποδίδει σε κάθε κοινότητα τον τύπο που έχει αυτή η ρύθμιση εκείνη τη στιγμή, και οι κλήσεις είναι απενεργοποιημένες από προεπιλογή στα κανάλια κοινοτήτων τύπου Συντεχνία. Δείτε Συντεχνία ή χώρος εργασίας.
ΤιΗ αλλαγή
Είδη κοινοτήτωνΚάθε κοινότητα αποκτά έναν τύπο, Συντεχνία ή Χώρος εργασίας: την τιμή του Τύπου νέων κοινοτήτων (TeamSettings.DefaultCommunityKind) κατά την πρώτη εκκίνηση. Ένας τύπος που έχει ήδη οριστεί διατηρείται. Οι διαχειριστές κοινότητας μπορούν να αλλάξουν τον τύπο της κοινότητάς τους αργότερα, στις Ρυθμίσεις ομάδας › Γενικά.
Ποιος αρχειοθετεί κανάλιαΤα μέλη των καναλιών δεν αρχειοθετούν πλέον τα κανάλια στα οποία βρίσκονται: αυτό το κάνουν οι διαχειριστές της κοινότητας. Σε έναν χώρο εργασίας, οι διαχειριστές του καναλιού (όποιος το δημιούργησε και όσοι ορίστηκαν από αυτόν ως διαχειριστές) μπορούν επίσης να το αρχειοθετήσουν. Αυτό αλλάζει τους ρόλους του συστήματος· τα σχήματα δικαιωμάτων που δημιούργησε ένας διαχειριστής συστήματος για ορισμένες κοινότητες παραμένουν ως έχουν.
Ο ρόλος «Moderators» των προεπιλογών διάταξηςΟ ρόλος Moderators που οι κοινότητες έλαβαν από μια προεπιλογή διάταξης αποκτά τη δυνατότητα Αφαίρεση ατόμων, η οποία απαιτείται για την αποχώρηση και την αφαίρεση χρηστών. Αλλάζουν μόνο οι ρόλοι που παραμένουν ακριβώς όπως τους δημιούργησε η προεπιλογή· ένας ρόλος που κάποιος έχει επεξεργαστεί παραμένει αμετάβλητος.
Ρόλοι με ΔιαχειριστήςΈνας ρόλος κοινότητας με το διακόπτη Διαχειριστής ενεργοποιημένο κατέχει πλέον όλα όσα μπορούν να κάνουν οι διαχειριστές της κοινότητας, όπως δηλώνει ο διακόπτης, και όχι μόνο τις ρυθμίσεις της κοινότητας.
Το όριο μελώνΤο Μέγιστος αριθμός μελών ανά κοινότητα (TeamSettings.MaxUsersPerTeam) αλλάζει από 50, την παλιά προεπιλογή, σε 0 (χωρίς όριο). Κάθε άλλη τιμή διατηρείται, όπως και ένα όριο που ορίστηκε με AM_TEAMSETTINGS_MAXUSERSPERTEAM.
Συνδέσεις μοντέλωνΟι διαχειριστές συστήματος αποκτούν τη διαχείριση των συνδέσεων μοντέλων, ενώ οι διαχειριστές κοινότητας (και ρόλοι με Διαχειριστής) αποκτούν τη διαχείριση των δικών τους. Οι υπηρεσίες AI της εφαρμογής Agents γίνονται συνδέσεις μοντέλων σε επίπεδο εξυπηρετητή, όπως περιγράφεται παρακάτω.
Το Town Square γίνεται GeneralΤο κανονικό κανάλι κάθε κοινότητας μετονομάζεται από town-square (Town Square) σε general (General). Διατηρεί το ID, τα μέλη, τα μηνύματα και τις ρυθμίσεις του, καθώς και το όνομα εμφάνισης που επέλεξαν οι διαχειριστές. Τα παλιά σύνδεσμοι και οι αναζητήσεις με town-square οδηγούν ακόμα σε αυτό. Μια κοινότητα που έχει ήδη ένα κανάλι με το όνομα general, ακόμα κι αν είναι αρχειοθετημένο, διατηρεί το town-square ως κανονικό της κανάλι, όπως και μια κοινότητα cuyo town-square είναι αρχειοθετημένο: το αρχείο τα αναφέρει και οι διαχειριστές τους μπορούν να μετονομάσουν τα κανάλια.
ΑγαπημέναΗ κατηγορία «Αγαπημένα» στην πλευρική στήλη όλων μετονομάζεται σε «Αγαπημένα», όπως το δείχνει πλέον η διεπαφή. Οι κατηγορίες που δημιούργησαν χρήστες με αυτό το όνομα παραμένουν αμετάβλητες.

Οι υπηρεσίες της εφαρμογής Agents

Η αναβάθμιση αντιγράφει κάθε υπηρεσία AI της εφαρμογής Πράκτορες σε μια σύνδεση μοντέλου σε επίπεδο διακομιστή, κοινή για όλες τις κοινότητες και διαθέσιμη σε όλους εκτός από τους επισκέπτες (ενεργοποιήστε Και επισκέπτες για να τους επιτρέψετε τη χρήση). Τα κλειδιά κρυπτογραφούνται κατά τη διαδικασία, οπότε ο διακομιστής χρειάζεται το κλειδί κρυπτογράφησης AI: σε ένα σύμπλεγμα (cluster) των οποίων τα αρχεία βρίσκονται σε S3, ορίστε πρώτα το AM_AI_ENCRYPTION_KEY, αλλιώς η αντιγραφή θα περιμένει την επόμενη εκκίνηση. Στη συνέχεια, ελέγξτε Κονσόλα συστήματος › AI › Συνδέσεις μοντέλων:

  • Κάθε σύνδεση διατηρεί το ID της υπηρεσίας της, οπότε οι πράκτορες της εφαρμογής και μια ρύθμιση αυτόματης μετάφρασης που δείχνει σε μια υπηρεσία Agents θα την βρουν ακόμα.
  • Οι υπηρεσίες OpenAI, συμβατές με OpenAI, Anthropic, Mistral, Cohere και Gemini γίνονται συνδέσεις στο αντίστοιχο (ή Anthropic) endpoint συμβατό με OpenAI. Μια υπηρεσία Azure γίνεται σύνδεση στο endpoint συμβατό με OpenAI του πόρου: δοκιμάστε το.
  • Οι υπηρεσίες AWS Bedrock, Google Vertex AI και Cohere North, καθώς και άγνωστοι τύποι, σήματισονται ως Χρειάζονται προσοχή, με την αιτία. Τα διαπιστευτήρια του cloud δεν αντιγράφονται: κατευθύνετέ τις στο endpoint συμβατό με OpenAI του προμηθευτή ή σε ένα gateway όπως το LiteLLM, και στη συνέχεια αποθηκεύστε.
  • Η υπηρεσία ενσωματώσεων (embeddings) γίνεται το μοντέλο Ενσωματώσεις της σύνδεσης με την ίδια διεύθυνση και κλειδί, ή μια σύνδεση από μόνη της. Η υπηρεσία μεταγραφής λαμβάνει το μοντέλο whisper-1.
  • Όταν η переформулировка (переписывание) και τα σύνοψα δεν έχουν ακόμα σύνδεση, λαμβάνουν την υπηρεσία και το μοντέλο του προεπιλεγμένου πράκτορα της εφαρμογής.

Οι πράκτορες της εφαρμογής Πράκτορες

Μετά τις υπηρεσίες, η αναβάθμιση μετατρέπει κάθε πράκτορα της εφαρμογής Πράκτορες (τώρα η εφαρμογή συνομιλίας AI) σε έναν πράκτορα σε επίπεδο διακομιστή, στον ίδιο λογαριασμό: τη σύνδεσή του (αυτή που αντιγράφηκε από την υπηρεσία του), το μοντέλο, τις οδηγίες, τη συλλογιστική, τις στροφές εργαλείων και ποιος μπορεί να τον χρησιμοποιήσει. Ο διακομιστής στη συνέχεια απαντά για αυτούς τους πράκτορες. Εκεί όπου η εφαρμογή περιορίζει έναν πράκτορα με τρόπο που οι πράκτορες του διακομιστή δεν εκφράζουν (τα κανάλια όπου απαντούσε, οι λίστες αποκλεισμού, η πρόσβαση βάσει χαρακτηριστικών), ο πράκτορας περιορίζεται στα μέλη αυτών των καναλιών ή σε κανέναν, και επισημαίνεται ως απαιτώντας προσοχή, όπως και ένας πράκτορας του οποίου η υπηρεσία δεν έγινε σύνδεση. Ελέγξτε τους στο Κονσόλα συστήματος › AI › Συνδέσεις μοντέλων. Οι άλλες ρυθμίσεις της εφαρμογής παραμένουν ως είχαν.

Άλλες αλλαγές στις προεπιλογές

  • Κλήσεις: το Λειτουργία δοκιμής είναι απενεργοποιημένο και το Ενεργοποίηση βίντεο είναι ενεργοποιημένο από προεπιλογή. Μια επιλογή που αποθηκεύτηκε στη διαμόρφωση διατηρείται. Οι κλήσεις ακολουθούν επίσης τον τύπο της κοινότητας (βλ. Κλήσεις και φωνή).
  • Η τοποθέτηση μηνυμάτων στην κορυφή είναι προνόμιο των διαχειριστών του καναλιού, των διαχειριστών και των μεσών (moderators) της κοινότητας (με Διαχείριση μηνυμάτων); τα μέλη ενός άμεσου ή ομαδικού μηνύματος μπορούν ακόμα να το κάνουν.
  • Τα αρχειοθετημένα κανάλια μπορούν να λάβουν νέα μέλη, τα οποία διαβάζουν το ιστορικό τους. Κανείς δεν δημοσιεύει, δεν αντιδρά ή δεν αλλάζει τίποτα σε αυτά.

Μετάβαση από Mattermost

Το Antimatter χρησιμοποιεί το σχήμα βάσης δεδομένων του Mattermost και προσθέτει τα δικά του πίνακες, οπότε μπορεί να αναλάβει τη βάση PostgreSQL και τα αρχεία ενός διακομιστή Mattermost. Δοκιμάστε πρώτα σε ένα αντίγραφο:

  1. Δημιουργήστε αντίγραφα ασφαλείας της βάσης δεδομένων Mattermost, της αποθήκευσης αρχείων (data/ ή S3 bucket) και του config.json, και στη συνέχεια σταματήστε το Mattermost.
  2. Επαναφέρετε τη βάση δεδομένων στη PostgreSQL του Antimatter, ή κατευθύνετε το Antimatter σε ένα αντίγραφο αυτής (AM_SQLSETTINGS_DATASOURCE).
  3. Αντιγράψτε τα αρχεία στην αποθήκευση του Antimatter, διατηρώντας τις διαδρομές τους: στο bucket antimatter με ένα εργαλείο S3, ή στο data/ με ένα αρχείο έκδοσης.
  4. Επαναχρησιμοποιήστε τις ρυθμίσεις σας: αντιγράψτε το config.json, ή μετακινήστε το στη βάση δεδομένων με amctl --local config migrate (βλ. Ρυθμίσεις). Οι μεταβλητές περιβάλλοντος MM_ συνεχίζουν να λειτουργούν· μετονομάστε τις σε AM_ όταν σας είναι βολικό.
  5. Εκκινήστε το Antimatter και παρακολουθήστε το αρχείο καταγραφής ενώ αναβαθμίζει τη βάση δεδομένων. Στη συνέχεια, ελέγξτε την Κονσόλα συστήματος › Προσθήκες › Διαχείριση Plugins. Το Antimatter εγκαθιστά τις δικές του εκδόσεις των Calls, AI chat και των ενσωματώσεων όταν είναι νεότερες από την εγκατεστημένη έκδοση, καθώς και των Playbooks και Kanban (Boards) εάν ο διακομιστής Mattermost είχε ήδη εγκατεστημένο κάποιο από αυτά (κανένα δεν περιλαμβάνεται πλέον σε έναν νέο διακομιστή: δείτε Ενσωματωμένες εφαρμογές). Εάν το Mattermost είχε νεότερη έκδοση κάποιας από αυτές, καταργήστε αυτήν την εφαρμογή και επανεκκινήστε το Antimatter, ώστε να εγκατασταθεί η δική του έκδοση.
  6. Επαναφέρετε τις push ειδοποιήσεις χρησιμοποιώντας το δικό σας proxy push: το Antimatter δεν στέλνει ποτέ ειδοποιήσεις στις υπηρεσίες push του Mattermost, είτε δοκιμαστικές είτε φιλοξενούμενες, οι οποίες αποστέλλουν ειδοποιήσεις μόνο στις δικές του εφαρμογές. Μέχρι να αλλάξετε το Διακομιστής push ειδοποιήσεων, ο διακομιστής δεν στέλνει push ειδοποιήσεις (βλ. Push ειδοποιήσεις).

Το Antimatter δεν επικοινωνεί με καμία υπηρεσία που εκτελείται από τη Mattermost, Inc. (βλ. Συνδέσεις με εξωτερικές υπηρεσίες), ακόμη και αν η ρύθμισή σας αναφέρει ακόμα μία:

  • ο διακομιστής push ειδοποιήσεων του Mattermost παραμένει στις ρυθμίσεις, αλλά δεν χρησιμοποιείται ποτέ;
  • Οι διευθύνσεις του Mattermost για το marketplace εφαρμογών (Διεύθυνση Marketplace) και για τις ειδοποιήσεις προϊόντος αδειάζονται;
  • οι σύνδεσμοι λήξης εφαρμογών που ήταν προεπιλογές της Mattermost (Σελίδα λήξης εφαρμογών Antimatter, Σύνδεσμος λήξης εφαρμογής Android και Σύνδεσμος λήψης εφαρμογής iOS) αντικαθίστανται από τις σελίδες λήξης των εφαρμογών Antimatter στο GitHub; οι σύνδεσμοι που ορίσατε εσείς διατηρούνται;
  • η εφαρμογή Calls χρησιμοποιεί τον δημόσιο διακομιστή STUN της Cloudflare αντί για αυτόν του Mattermost, χωρίς να αλλάζει η αποθηκευμένη ρύθμιση (βλ. Calls);
  • ο έλεγχος ασφαλείας και η αναφορά σφαλμάτων έχουν αφαιρεθεί, μαζί με τις αντίστοιχες ρυθμίσεις στην Κονσόλα συστήματος (Ενεργοποίηση ειδοποιήσεων ασφαλείας, Ενεργοποίηση διαγνωστικών και αναφορά σφαλμάτων) και τη σελίδα Ειδοποιήσεις.

Η τοπική socket είναι πλέον /var/tmp/antimatter_local.socket; το amctl δοκιμάζει επίσης την παλιά /var/tmp/mattermost_local.socket. Το Mattermost υποστηρίζει μόνο PostgreSQL στις πρόσφατες εκδόσεις του, και το ίδιο ισχύει και για το Antimatter: μεταφέρετε πρώτα μια βάση MySQL σε PostgreSQL. Η επιστροφή στο Mattermost μετά την αναβάθμιση της βάσης δεδομένων από το Antimatter σημαίνει την αποκατάσταση της αντίστοιχης σας αντίγραφου (backup) του Mattermost.

Εξαγωγή και εισαγωγή δεδομένων

Η μορφή ομαδικής εξαγωγής μεταφέρει δεδομένα μεταξύ διακομιστών: ολόκληρο τον διακομιστή, ορισμένες κοινότητες ή ορισμένα κανάλια, με συνημμένα, εικόνες προφίλ και προσαρμοσμένα emoji, εφόσον τα επιθυμείτε.

# 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.

Η γραμμή ενός καναλιού στην εξαγωγή περιέχει τον τύπο και τις ρυθμίσεις του (am_type, am_mode, am_root_posts και, για φόρουμ, am_forum_view). Μια γραμμή χωρίς αυτές εισάγεται ως απλό κανάλι κειμένου Chat. Η γραμμή μιας ρίζας ανάρτησης σε κανάλι φόρουμ απαιτεί το props.am_thread_title, τον τίτλο του θέματος· χωρίς αυτόν, η εισαγωγή αποτυγχάνει σε αυτήν τη γραμμή.