Aufgabe #1649
geschlossen
Aufgabe #1647: Aktualisierung Instanzen NixOS von Version 22.11 auf Version 23.05
NixOs update MediaWiki
Von MaximilianTraenkler vor mehr als 1 Jahr hinzugefügt.
Vor mehr als 1 Jahr aktualisiert.
Kategorie:
Instanz MediaWiki
Beschreibung
Das Update der Mediawiki-Instanz hat gegenüber den anderen eine besondere herangehensweise. Zum einen soll eine Überführung in einen Proxmox-lxc container erfolgen und zum anderen ein aufräumen der aktuellen Konfiguration.
- Erstellen einer neuen Instanz mit NixOS 23.05
- Installation Mediawiki mit einer Konfiguration im Sinne vom #1582 und zusätzlich soll auch schon Defaultisiert werden.
- Migration der Datenbank der alten Mediawiki Instanz in die neue Instanz
Zugehörige Tickets
1 (1 offen — 0 geschlossen)
Ich hab ein Shell script geschrieben um die gewünschten Mediawiki extension ohne größeren aufwand in die Mediawiki konfig zu kopieren und es immer wieder zu bauen um die passenden hash werte zu bekommen. (Vorsicht: nixos will kein sha256 sondern ein SRI auf der basis eines sha256 hashes)
Das Skript verlangt experimental features (nix hash to-sri) und wurde mit nix version 2.11.1 ausgeführt.
Das skript schreibt die datei in /etc/nixos/
und als Input braucht es die Namen der Extensions (Achtung: CaseSensitive)
#!/usr/bin/env bash
# mit nachstehendem kommando kann man die sri hashsum für die Mediawiki extensions generieren lassen
# curl https://extdist.wmflabs.org/dist/extensions/ -s | grep '"Lockdown-REL1_39' | awk -F '"' '{printf "https://extdist.wmflabs.org/dist/extensions/%s",$2}' | xargs nix-prefetch-url --type sha256 | xargs nix hash to-sri --type sha256 --experimental-features 'nix-command flakes'
mw_file="/etc/nixos/mediawiki_extensions.nix"
touch $mw_file
for extension in $@
do
extension_url=$(curl https://extdist.wmflabs.org/dist/extensions/ -s | grep '"'$extension'-REL1_39' | awk -F '"' '{printf "https://extdist.wmflabs.org/dist/extensions/%s",$2}')
extension_sha256=$(nix-prefetch-url --unpack --type sha256 $extension_url)
extension_sri=$(nix hash to-sri --type sha256 $extension_sha256 --experimental-features 'nix-command flakes')
echo "
$extension = pkgs.fetchzip {
url = \"$extension_url\";
sha256 = \"$extension_sri\";
};" >> $mw_file
done
#### TODO
#### 1. der output soll in services.mediawiki.extensions = {...}; stehen
#### 2. der header für das nixfile wäre schön
#### 3. Die Versioniserung (also Mediawiki Version) soll angegeben werden und mit einbezogen werden für die passenden extensions. Das soll verhindern dieses file verändern zu müssen.
Der Output von dem Skript sieht dann so aus:
Lockdown = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/Lockdown-REL1_39-12dd618.tar.gz";
sha256 = "sha256-vqieEXc/QqndjsIzuBlsxzbF8h59AXu/iO/QjPO7oaQ=";
};
ConfirmEdit = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/ConfirmEdit-REL1_39-c653817.tar.gz";
sha256 = "sha256-3K3oImOEq26uaNw2WG3j9Us5vMKiSgiyZxhLsmDGeGk=";
};
ContributionScores = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/ContributionScores-REL1_39-0e7e99d.tar.gz";
sha256 = "sha256-zJ3NlwM7i0Fq/86ibTxJQixLwvEXANqlJ37ENtCCaAU=";
};
Interwiki = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/Interwiki-REL1_39-55ff0b8.tar.gz";
sha256 = "sha256-9bo2mffPgYs/0Tw+FeOL3BZLSyUe43aj/D2+j0vnHrQ=";
};
Cite = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/Cite-REL1_39-88642fa.tar.gz";
sha256 = "sha256-O0AaIcFgQLO0YZQ3rxRCn3rzRDoebjOPklRXW6KHT/M=";
};
UserMerge = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/UserMerge-REL1_39-a71dd82.tar.gz";
sha256 = "sha256-JCCCrDAPnhMkSJs5FlLJQAle4XY4+d1jWNMB+u7cdQI=";
};
- Beziehung mit Aufgabe #1582: Überführung MediaWiki mit NixOS zu Proxmox-lxc wurde hinzugefügt
- Priorität wurde von Normal zu Dringend geändert
MaximilianTraenkler schrieb:
Das Update der Mediawiki-Instanz hat gegenüber den anderen eine besondere herangehensweise. Zum einen soll eine Überführung in einen Proxmox-lxc container erfolgen und zum anderen ein aufräumen der aktuellen Konfiguration.
Die herangehensweise wurde nicht durchgeführt. Stattdessen wurde lxc-container ausgetauscht mit dem import von proxmox-lxc.nix . D.h. die Konfiguration muss noch defaultisiert werden
- Erstellen einer neuen Instanz mit NixOS 23.05
Es wurde keine neue Instanz erstellt, sondern nur upgedatet von 22.11 auf 23.05
- Installation Mediawiki mit einer Konfiguration im Sinne vom #1582 und zusätzlich soll auch schon Defaultisiert werden.
- Migration der Datenbank der alten Mediawiki Instanz in die neue Instanz
Die letzten beiden Punkte mussten nicht durchgeführt werden.
Es läuft nun NixOs 23.05 mit Mediawiki 1.39 auf einem proxmox-lxc container. Faist!
- Status wurde von Neu zu Feedback geändert
- Zugewiesen an wurde von Zuständigkeit Instandhaltung IT-Services zu Bereich Administration Rechentechnik geändert
- Status wurde von Feedback zu Erledigt geändert
Auch abrufbar als: Atom
PDF