Einen Palaver-Server aktualisieren
Voraussetzung: Server nach der Installationsanleitung
Platzhalter in den Befehlen:
| Platzhalter | Ersetzen durch |
|---|---|
0.3.1 |
neue Palaver-Version |
https://<release host>/lasse-tech/palaver/releases/download |
Download-Adresse der Versionen, wie in der Installationsanleitung |
chat.example.org |
deinen Domainnamen (Blöcke der Installationsanleitung) |
<cert-name> |
Name des Zertifikats, falls er von der Domain abweicht |
vi |
Editor deiner Wahl |
1. Versionshinweise
- lesen: Versionshinweise jeder Version nach der installierten
- umsetzen: die dort genannten Änderungen (Konfigurationsdateien, Units, nginx, LiveKit-Version)
Zeige die installierte Version an.
/opt/palaver/bin/palaverd version
2. Sicherung
Sichere die Datenbank.
sudo -u palaver pg_dump -Fc palaver > "palaver-$(date +%F).dump"
Sichere die Konfiguration.
sudo tar -czf "palaver-etc-$(date +%F).tar.gz" -C /opt/palaver etc
Behalte das aktuelle palaverd für den Weg zurück.
sudo cp /opt/palaver/bin/palaverd /opt/palaver/bin/palaverd.old
3. Palaver herunterladen
Lade Server, Web-Client und Prüfsummen herunter.
curl -fLO "https://<release host>/lasse-tech/palaver/releases/download/v0.3.1/palaverd-0.3.1-linux-amd64"
curl -fLO "https://<release host>/lasse-tech/palaver/releases/download/v0.3.1/palaver-web-0.3.1.tar.gz"
curl -fLO "https://<release host>/lasse-tech/palaver/releases/download/v0.3.1/SHA256SUMS"
Prüfe beide Dateien; jede Zeile muss auf OK enden.
sha256sum -c --ignore-missing SHA256SUMS
4. palaverd
Installiere das neue palaverd.
sudo install -m 755 palaverd-0.3.1-linux-amd64 /opt/palaver/bin/palaverd
5. Web-Client
Entpacke den neuen Web-Client neben den alten.
sudo install -d -m 755 /opt/palaver/web.new
sudo tar -xzf palaver-web-0.3.1.tar.gz --no-same-owner -C /opt/palaver/web.new
sudo chmod -R u=rwX,go=rX /opt/palaver/web.new
Tausche sie aus.
sudo mv /opt/palaver/web /opt/palaver/web.old
sudo mv /opt/palaver/web.new /opt/palaver/web
6. Neu starten
Starte palaverd neu; Datenbank-Update beim Start, Clients verbinden sich neu.
sudo systemctl restart palaverd
7. LiveKit
Nur bei neuerem LiveKit in den Versionshinweisen. Zeige die installierte Version an.
/opt/palaver/bin/livekit-server --version
Download und Installation: Schritt 7 der Installationsanleitung, ohne die Konfiguration.
Starte LiveKit neu; laufende Gespräche brechen ab.
sudo systemctl restart livekit
8. Prüfen
Führe doctor aus; erwartet: kein Befund.
sudo -u palaver /opt/palaver/bin/palaverd -env /opt/palaver/etc/palaverd.env doctor
Öffne den Web-Client und melde dich an.
Destruktiv: Entferne den vorigen Web-Client (/opt/palaver/web.old, nur Dateien der Version).
sudo rm -r /opt/palaver/web.old
Destruktiv: Entferne das vorige palaverd (/opt/palaver/bin/palaverd.old).
sudo rm /opt/palaver/bin/palaverd.old
Einmalig: mit install.sh eingerichtete Server
- für: mit
install.sheingerichtete Server (Palaver 0.2.x) - einmalig, nach Schritt 8
- Altlasten: Hilfsskript, Installationsprotokoll, nginx-Site ohne Web-Snippet
Zeige den Namen des Zertifikats an; weicht womöglich von der Domain ab (install.sh --cert).
sudo ls /etc/letsencrypt/live/
Bewahre die alte nginx-Site außerhalb der nginx-Verzeichnisse auf.
sudo cp /etc/nginx/sites-available/palaver "/root/nginx-palaver-$(date +%F).conf"
Web-Snippet /etc/nginx/snippets/palaver-web.conf: wie in Schritt 9 der Installationsanleitung.
Site /etc/nginx/sites-available/palaver: vollständige Site wie in Schritt 10 der Installationsanleitung.
Name des Zertifikats weicht von der Domain ab: öffne /etc/nginx/sites-available/palaver in einem Editor.
sudo vi /etc/nginx/sites-available/palaver
Ändere:
ssl_certificate,ssl_certificate_key:/etc/letsencrypt/live/chat.example.org/→/etc/letsencrypt/live/<cert-name>/
Prüfe und lade sie.
sudo nginx -t && sudo systemctl reload nginx
Destruktiv: Entferne das Hilfsskript (/usr/local/sbin/palaverctl); ersetzt durch palaverd -env.
sudo rm /usr/local/sbin/palaverctl
Destruktiv: Entferne das Installationsprotokoll (/var/log/palaver-install.log).
sudo rm /var/log/palaver-install.log
Destruktiv: Entferne die Datei mit dem Zertifikatsnamen von install.sh (/opt/palaver/etc/cert), falls vorhanden.
sudo rm /opt/palaver/etc/cert
Zurück zur vorigen Version
- für: neue Version funktioniert nicht
- Datenbankänderungen bleiben; falls nötig: Sicherung aus Schritt 2, wie unter Installationsanleitung, Wiederherstellen
Setze das vorige palaverd wieder ein.
sudo cp /opt/palaver/bin/palaverd.old /opt/palaver/bin/palaverd
Setze den vorigen Web-Client wieder ein.
sudo mv /opt/palaver/web /opt/palaver/web.failed
sudo mv /opt/palaver/web.old /opt/palaver/web
Starte palaverd neu.
sudo systemctl restart palaverd
Updating a Palaver server
Prerequisite: server installed per the install guide
Placeholders in the commands:
| Placeholder | Replace with |
|---|---|
0.3.1 |
new Palaver release |
https://<release host>/lasse-tech/palaver/releases/download |
release download location, as in the install guide |
chat.example.org |
your domain name (INSTALL.md blocks) |
<cert-name> |
certificate name, if it differs from the domain |
vi |
editor of your choice |
1. Release notes
- read: release notes of every version after the installed one
- apply: changes listed there (configuration files, units, nginx, LiveKit version)
Show the installed version.
/opt/palaver/bin/palaverd version
2. Backup
Dump the database.
sudo -u palaver pg_dump -Fc palaver > "palaver-$(date +%F).dump"
Save the configuration.
sudo tar -czf "palaver-etc-$(date +%F).tar.gz" -C /opt/palaver etc
Keep the current palaverd for the way back.
sudo cp /opt/palaver/bin/palaverd /opt/palaver/bin/palaverd.old
3. Download Palaver
Download the server, the web client and the checksums.
curl -fLO "https://<release host>/lasse-tech/palaver/releases/download/v0.3.1/palaverd-0.3.1-linux-amd64"
curl -fLO "https://<release host>/lasse-tech/palaver/releases/download/v0.3.1/palaver-web-0.3.1.tar.gz"
curl -fLO "https://<release host>/lasse-tech/palaver/releases/download/v0.3.1/SHA256SUMS"
Verify both files; each line must end in OK.
sha256sum -c --ignore-missing SHA256SUMS
4. palaverd
Install the new palaverd.
sudo install -m 755 palaverd-0.3.1-linux-amd64 /opt/palaver/bin/palaverd
5. Web client
Unpack the new web client next to the old one.
sudo install -d -m 755 /opt/palaver/web.new
sudo tar -xzf palaver-web-0.3.1.tar.gz --no-same-owner -C /opt/palaver/web.new
sudo chmod -R u=rwX,go=rX /opt/palaver/web.new
Swap them.
sudo mv /opt/palaver/web /opt/palaver/web.old
sudo mv /opt/palaver/web.new /opt/palaver/web
6. Restart
Restart palaverd; database update on start, clients reconnect.
sudo systemctl restart palaverd
7. LiveKit
Only for a newer LiveKit in the release notes. Show the installed version.
/opt/palaver/bin/livekit-server --version
Download and install: the install guide, step 7, without the configuration.
Restart LiveKit; calls in progress drop.
sudo systemctl restart livekit
8. Check
Run doctor; expected: no findings.
sudo -u palaver /opt/palaver/bin/palaverd -env /opt/palaver/etc/palaverd.env doctor
Open the web client and log in.
Destructive: remove the previous web client (/opt/palaver/web.old, release files only).
sudo rm -r /opt/palaver/web.old
Destructive: remove the previous palaverd (/opt/palaver/bin/palaverd.old).
sudo rm /opt/palaver/bin/palaverd.old
Once: servers installed with install.sh
- for: servers set up with
install.sh(Palaver 0.2.x) - once, after step 8
- leftovers: helper script, install log, nginx site without the web snippet
Show the certificate name; may differ from the domain (install.sh --cert).
sudo ls /etc/letsencrypt/live/
Keep the old nginx site outside nginx's directories.
sudo cp /etc/nginx/sites-available/palaver "/root/nginx-palaver-$(date +%F).conf"
Web snippet /etc/nginx/snippets/palaver-web.conf: as in the install guide, step 9.
Site /etc/nginx/sites-available/palaver: full site as in the install guide, step 10.
Certificate name differs from the domain: open /etc/nginx/sites-available/palaver in an editor.
sudo vi /etc/nginx/sites-available/palaver
Change:
ssl_certificate,ssl_certificate_key:/etc/letsencrypt/live/chat.example.org/→/etc/letsencrypt/live/<cert-name>/
Check and load it.
sudo nginx -t && sudo systemctl reload nginx
Destructive: remove the helper script (/usr/local/sbin/palaverctl); replaced by palaverd -env.
sudo rm /usr/local/sbin/palaverctl
Destructive: remove the install log (/var/log/palaver-install.log).
sudo rm /var/log/palaver-install.log
Destructive: remove install.sh's certificate name file (/opt/palaver/etc/cert), if present.
sudo rm /opt/palaver/etc/cert
Back to the previous version
- for: new version does not work
- database changes are not undone; if needed: dump from step 2, as in the install guide, Restore
Put the previous palaverd back.
sudo cp /opt/palaver/bin/palaverd.old /opt/palaver/bin/palaverd
Put the previous web client back.
sudo mv /opt/palaver/web /opt/palaver/web.failed
sudo mv /opt/palaver/web.old /opt/palaver/web
Restart palaverd.
sudo systemctl restart palaverd