Aktualisieren¶
Krywerk prüft nicht selbst auf neue Versionen und sendet dafür keine Anfragen ins Internet. Neue Versionen erscheinen auf der Release-Seite; was sich geändert hat, steht im Changelog. Versionen folgen Semantic Versioning: Vor 1.0 können sich Konfiguration und Server-Schnittstelle noch ändern – das steht dann im Changelog unter „Geändert“ mit Hinweisen zur Umstellung.
Desktop-App¶
- Krywerk beenden (Infobereich bzw. Menüleiste › Beenden – hängt alle Laufwerke aus).
- Neue Version wie bei der Installation installieren:
- Windows: neuen Installer ausführen (ersetzt die alte Version).
- macOS: neue
Krywerk.appin Programme ersetzen. - Linux:
sudo apt install ./Krywerk_<Version>_amd64.deb, AppImage austauschen bzw.install.sherneut ausführen.
- Krywerk starten. Einstellungen, gemerkte Passwörter und freigeschaltete Geräte bleiben erhalten.
macOS fragt bei nicht signierten Versionen nach einem Update einmal, ob Krywerk auf den Schlüsselbund zugreifen darf – Immer erlauben wählen.
Ältere Versionen lesen Einstellungen einer neueren Version, überschreiben sie aber nicht (Hinweis in der App).
Krywerk Server¶
cd /opt/krywerk && git pull
cd crates/kw-server/deploy
./backup.sh /var/backups/krywerk 30 # vorher sichern
docker compose build && docker compose run --rm server check
docker compose up -d # Datenbank-Migrationen laufen beim Start automatisch
Ein Zurück auf eine ältere Version ist nach einer Schema-Änderung nur mit der Sicherung von vorher möglich (ältere
Server verweigern neuere Datenbanken mit einer klaren Meldung). Caddy/Keycloak/Postgres-Images regelmäßig
aktualisieren (docker compose pull && docker compose up -d; Keycloak-Hauptversionen nach dessen Upgrade-Anleitung).
Mit dem fertigen Image statt eigenem Build: in deploy/.env KRYWERK_VERSION=<Version> setzen, dann
docker compose pull && docker compose up -d.
Kompatibilität¶
- Die Apps (Krywerk, Cryptomator) sprechen das Hub-Protokoll; eine neue Server-Version bleibt dazu kompatibel.
- Die Datenbank wird beim Start automatisch migriert. Ein älterer Server verweigert eine neuere Datenbank mit klarer Meldung – zurück nur mit der Sicherung von vor dem Update.
Neue Version veröffentlichen (Betreuer)¶
- In
CHANGELOG.mdden Abschnitt „Unreleased“ in## [<Version>] – <JJJJ-MM-TT>umbenennen und einen neuen, leeren „Unreleased“ darüber anlegen. - Version in
Cargo.toml([workspace.package]) setzen;cargo buildaktualisiertCargo.lock. - Commit, Pull Request, nach
mainmergen. - Tag setzen und pushen:
git tag -s v<Version> -m "Krywerk <Version>" && git push origin v<Version>. - Der Workflow Release baut alle Pakete, das Server-Image (
ghcr.io/…/krywerk-server:<Version>), SBOM und Prüfsummen und legt das Release mit den Notizen aus dem Changelog an. Versionen0.xerscheinen als Vorabversion. - Website und Dokumentation neu bauen und veröffentlichen:
make site deploy.