From a02045f13ddfc415da65273e28713f6445b8b321 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 4 Dec 2023 14:30:04 +0000 Subject: [PATCH 1/7] (Grav GitSync) Automatic Commit from yunohost-bot --- pages/02.administer/10.install/install.de.md | 796 ++++++++++++++++++ .../03.archivist/archivist.md | 1 + .../10.backup_methods/backup_methods.md | 31 + .../01.dns_nohost_me/dns_nohost_me.it.md | 63 ++ .../25.external_storage/external_storage.md | 4 +- .../change_admin_password.md | 2 +- .../11.helpers/packaging_apps_helpers.md | 247 +++--- .../packaging_apps_resources.md | 2 +- 8 files changed, 1026 insertions(+), 120 deletions(-) create mode 100644 pages/02.administer/10.install/install.de.md create mode 100644 pages/02.administer/20.backups/10.backup_methods/backup_methods.md create mode 100644 pages/02.administer/45.tutorials/05.domains/01.dns_nohost_me/dns_nohost_me.it.md diff --git a/pages/02.administer/10.install/install.de.md b/pages/02.administer/10.install/install.de.md new file mode 100644 index 00000000..f76e74ef --- /dev/null +++ b/pages/02.administer/10.install/install.de.md @@ -0,0 +1,796 @@ +--- +title: YunoHost Installieren +template: docs +taxonomy: + category: docs +never_cache_twig: true +twig_first: true +process: + markdown: true + twig: true +page-toc: + active: true + depth: 2 +routes: + default: '/install' + aliases: + - '/install_iso' + - '/install_on_vps' + - '/install_manually' + - '/install_on_raspberry' + - '/install_on_arm_board' + - '/install_on_debian' + - '/install_on_virtualbox' + - '/plug_and_boot' + - '/burn_or_copy_iso' + - '/boot_and_graphical_install' + - '/postinstall' + - '/hardware' +--- +{% set image_type = 'YunoHost' %} +{% set arm, at_home, regular, rpi34, rpi012, show_legacy_arm_menu, arm_sup, arm_unsup, vps, vps_debian, vps_ynh, virtualbox, wsl, internetcube = false, false, false, false, false, false, false, false, false, false, false, false, false, false %} +{% set hardware = uri.param('hardware') %} + +{% if hardware == 'regular' %} + {% set regular = true %} +{% elseif hardware == 'internetcube' %} + {% set arm, arm_sup, internetcube = true, true, true %} + {% set image_type = 'Internet Cube' %} + {% set show_legacy_arm_menu = true %} +{% elseif hardware == 'rpi34' %} + {% set arm, rpi34 = true, true %} +{% elseif hardware == 'rpi012' %} + {% set arm, arm_unsup, rpi012 = true, true, true %} + {% set image_type = 'Raspberry Pi OS Lite (32-bit, Bullseye)' %} +{% elseif hardware == 'arm_sup' %} + {% set arm, arm_sup = true, true %} + {% set show_legacy_arm_menu = true %} +{% elseif hardware == 'arm' %} + {% set arm, arm_unsup = true, true %} + {% set image_type = 'Armbian' %} +{% elseif hardware == 'arm_unsup' %} + {% set arm, arm_unsup = true, true %} + {% set show_legacy_arm_menu = true %} + {% set image_type = 'Armbian' %} +{% elseif hardware == 'vps_debian' %} + {% set vps, vps_debian = true, true %} +{% elseif hardware == 'vps_ynh' %} + {% set vps, vps_ynh = true, true %} +{% elseif hardware == 'virtualbox' %} + {% set at_home, virtualbox = true, true %} +{% elseif hardware == 'wsl' %} + {% set wsl = true %} +{% endif %} + +{% if arm or regular %} + {% set at_home = true %} +{% endif %} + +Wähle die Hardware, auf der du YunoHost installieren willst : +[div class="flex-container"] + +[div class="flex-child hardware{%if virtualbox %} active{% endif %}"] +[[figure caption="VirtualBox"]![](image://virtualbox.png?height=75)[/figure]](/install/hardware:virtualbox) +[/div] + +[div class="flex-child hardware{%if rpi012 or rpi34 %} active{% endif %}"] +[[figure caption="Raspberry Pi"]![](image://raspberrypi.png?height=75)[/figure]](/install/hardware:rpi34) +[/div] + +[div class="flex-child hardware{%if arm_sup or (arm_unsup and not rpi012) or internetcube %} active{% endif %}"] +[[figure caption="ARM Board"]![](image://olinuxino.png?height=75)[/figure]](/install/hardware:arm) +[/div] + +[div class="flex-child hardware{%if regular %} active{% endif %}"] +[[figure caption="Normaler Computer"]![](image://computer.png?height=75)[/figure]](/install/hardware:regular) +[/div] + +[div class="flex-child hardware{%if wsl %} active{% endif %}"] +[[figure caption="WSL"]![](image://wsl.png?height=75)[/figure]](/install/hardware:wsl) +[/div] + +[div class="flex-child hardware{%if vps_debian or vps_ynh %} active{% endif %}"] +[[figure caption="Remote Server"]![](image://vps.png?height=75)[/figure]](/install/hardware:vps_debian) +[/div] + +[/div] +[div class="flex-container pt-2"] + +{% if rpi012 or rpi34 %} +[div class="flex-child hardware{%if rpi34 %} active{% endif %}"] +[[figure caption="Raspberry Pi 3 oder 4"]![](image://raspberrypi.png?height=50)[/figure]](/install/hardware:rpi34) +[/div] + +[div class="flex-child hardware{%if rpi012 %} active{% endif %}"] +[[figure caption="Raspberry Pi 0, 1 oder 2"]![](image://rpi1.png?height=50)[/figure]](/install/hardware:rpi012) +[/div] + +{% elseif show_legacy_arm_menu %} + +[div class="flex-child hardware{%if internetcube %} active{% endif %}"] +[[figure caption="Internet cube mit VPN"]![](image://internetcube.png?height=50)[/figure]](/install/hardware:internetcube) +[/div] + +[div class="flex-child hardware{%if arm_sup and not internetcube %} active{% endif %}"] +[[figure caption="Olinuxino lime1&2 oder Orange Pi PC+"]![](image://olinuxino.png?height=50)[/figure]](/install/hardware:arm_sup) +[/div] + +[div class="flex-child hardware{%if arm_unsup %} active{% endif %}"] +[[figure caption="Andere Boards"]![](image://odroidhc4.png?height=50)[/figure]](/install/hardware:arm_unsup) +[/div] +{% elseif vps_debian or vps_ynh %} + +[div class="flex-child hardware{%if vps_debian %} active{% endif %}"] +[[figure caption="VPS oder dedizierter Server mit Debian 11"]![](image://debian-logo.png?height=50)[/figure]](/install/hardware:vps_debian) +[/div] + +[div class="flex-child hardware{%if vps_ynh %} active{% endif %}"] +[[figure caption="VPS oder dedizierter Server mit YunoHost vorinstalliert"]![](image://logo.png?height=50)[/figure]](/install/hardware:vps_ynh) +[/div] + +{% endif %} + +[/div] + + +{% if hardware != '' %} + +{% if wsl %} +!! Dieses Setup ist vorwiegend für lokales Testing durch fortgeschrittene Benutzer gedacht. Aufgrund Limitierungen auf WSL Seite (insbesondere veränderliche IP Adresse), selfhosting kann damit knifflig sein und wird hier nicht weiter beschrieben. +{% endif %} + + +## [fa=list-alt /] Pre-requisites + +{% if regular %} +* Eine x86-kompatible für YunoHost bestimmte (dedizierte) Hardware: Laptop, Nettop, Netbook, Desktop mit 512MB RAM und 16GB Speicherkapazität (Minimum) +{% elseif rpi34 %} +* Ein Raspberry Pi 3 oder 4 +{% elseif rpi012 %} +* Ein Raspberry Pi 0, 1 oder 2 mit mindestens 512MB RAM +{% elseif internetcube %} +* Ein Orange Pi PC+ oder ein Olinuxino Lime 1 oder 2 +* Ein VPN mit einer festen öffentlichen IP Adresse und einer `.cube` Datei +{% elseif arm_sup %} +* Ein Orange Pi PC+ oder ein Olinuxino Lime 1 oder 2 +{% elseif arm_unsup %} +* Ein ARM Board mit mindestens 512MB RAM +{% elseif vps_debian %} +* Ein dedizierter oder Virtual Private Server mit Debian 11 (Bullseye) (mit **kernel >= 3.12**) vorinstalliert, 512MB RAM und 16GB Speicherkapazität (Minimum) +{% elseif vps_ynh %} +* Ein dedizierter oder Virtual Private Server mit YunoHost vorinstalliert, 512MB RAM und 16GB Speicherkapazität (Minimum) +{% elseif virtualbox %} +* Ein x86 Computer mit [VirtualBox installiert](https://www.virtualbox.org/wiki/Downloads) und ausreichend Arbeitsspeicherkapazität (RAM), um eine kleine virtuelle Maschine mit 1024MB RAM und 8GB Speicherkapazität (Minimum) betreiben zu können +{% endif %} +{% if arm %} +* Eine Spannungsversorung (entweder ein Netzteil oder ein MicroUSB Kabel) für dein Board; +* Eine microSD Karte: 16GB Speicherkapazität (Minimum), [class "A1"](https://en.wikipedia.org/wiki/SD_card#Class) nachdrücklich empfohlen (so wie [diese SanDisk A1 Karte](https://www.amazon.fr/SanDisk-microSDHC-Adaptateur-homologu%C3%A9e-Nouvelle/dp/B073JWXGNT/)); +{% endif %} +{% if regular %} +* Ein USB Stick mit mindestens 1GB Speicherkapazität ODER einem Standard CD-Rohling +{% endif %} +{% if wsl %} +* Windows 10 und neuer +* Administrator Rechte +* Windows Subsystem for Linux, aus dem Optional Features Menü von Windows installiert +* *Empfohlen:* Windows Command Prompt App, aus dem Microsoft Store installiert. Viel besser als der Standard Terminal, weil sie Shortcuts für WSL distros bietet. +{% endif %} +{% if at_home %} +* Ein [vernünftiger ISP](/isp), vorzugsweise mit einer guten und unbegrenzten Upstream Bandbreite +{% if not virtualbox %} +* Ein Ethernet Kabel (RJ-45), um deinen Server mit deinem Router zu verbinden. {% if rpi012 %} (Oder, für Rasperry Pi Zero : und USB OTG oder ein Wifi Dongle) {% endif %} +{% endif %} +* Ein Computer, um diese Anleitung zu lesen, das Image zu flashen und auf deinen Server zuzugreifen. +{% else %} +* Ein Computer oder ein Smartphone, um diese Anleitung zu lesen und auf deinen Server zuzugreifen. +{% endif %} + +{% if virtualbox %} +! Anmerkung : YunoHost in einer VirtualBox zu installieren ist normalerweise nur zu Test- oder Entwicklungszwecken gedacht . Es ist nicht dafür geeignet einen wirklichen Server langfristig zu betreiben, weil die Machine auf der es installiert ist wahrscheinlich nicht 24/7 laufen wird und weil VirtualBox eine zusätzliche Komplexitätsschicht beim Freigeben der Maschine zum Internet mitbringt. +{% endif %} + +{% if wsl %} +## Vorstellung +WSL ist ein cooles Windows 10 Feature, das Linux pseudo-Distributionen durch die Kommandozeile verfügbar macht. Lass es uns pseudo nennen, weil auch obwohl sie nicht wirklich wie virtuelle Maschinen sind, sind sie auf Virtualisierungskapazitäten angewiesen, die deren Integration mit Windows fast nahtlos machen. +So kann z.B. Docker für Windows jetzt auf WSL bauen, anstatt auf Hyper-V. + +! Beachte, dass dieses Setup selbst *kein* Container jeglicher Art ist. Falls etwas bricht, gibt es keine Rollback Möglichkeit. +! Vielleicht musst du die Debian Distro vollkommen löschen und ganz wiederherstellen. + +## Installation in Debian 11 + +Lass uns YunoHost in einem PowerShell Terminal in seine eigene Distro installieren und nicht die default Distro verändern: + +```bash +# Geh in dein home Verzeichnis und bereite die Arbeitsverzeichnisse vor +cd ~ +mkdir -p WSL\YunoHost +# Lade das Debian appx Paket herunter und entpacke es (unzip) +curl.exe -L -o debian.zip https://aka.ms/wsl-debian-gnulinux +Expand-Archive .\debian.zip -DestinationPath .\debian +# Importiere Debian als Grundlage in eine neue Distro +wsl --import YunoHost ~\WSL\YunoHost ~\debian\install.tar.gz --version 2 +# Aufräumen +rmdir .\debian -R +``` + +Nun kannst du darauf zugreifen: Führe `wsl.exe -d YunoHost` aus. + +Da es Debian 9 Stretch ist, lass uns ein Upgrade auf Debian 11 Bullseye machen: + +```bash +# In WSL +sudo sed -i 's/stretch/bullseye/g' /etc/apt/sources.list` +sudo apt update +sudo apt upgrade +sudo apt dist-upgrade +``` +## Verhindern, dass WSL an Konfigurationsdateien herumfeilt + +Bearbeite `/etc/wsl.conf` und füge den folgenden Code darin ein: + +``` +[network] +generateHosts = false +generateResolvConf = false +``` + +## Erzwinge die Verwendung von iptables-legacy + +Irgendwie mag die YunoHost Post-Installation `nf_tables` nicht, die neue Software ersetzt `iptables`. +Wir können trotzdem immer noch explizit die guten alten `iptables` benutzen: + +```bash +# In WSL +sudo update-alternatives --set iptables /usr/sbin/iptables-legacy +sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy +``` + +## Systemd installieren + +Unter WSL fehlt Debian `systemd`, eine Service-Konfigurations-Software. +Diese ist ein Schlüsselelement für YunoHost, und für jede anständige Debian Distro (also ernsthaft Microsoft, was zum Henker). Lass es uns installieren: + +1. Installation der dotNET Runtime: +```bash +# In WSL +wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb +sudo dpkg -i packages-microsoft-prod.deb +sudo apt update +sudo apt install -y apt-transport-https +sudo apt update +sudo apt install -y dotnet-sdk-3.1 +``` + +2. Installation von [Genie](https://github.com/arkane-systems/genie): +```bash +# In WSL +# Das repository hinzufügen +echo "deb [trusted=yes] https://wsl-translinux.arkane-systems.net/apt/ /" > /etc/apt/sources.list.d/wsl-translinux.list +# Genie installieren +sudo apt update +sudo apt install -y systemd-genie +``` + +## YunoHost Installation + +```bash +# In WSL +# zum root user wechseln, wenn you das nicht schon bist +sudo su +# Die Genie Flasche initialisiern, um systemd am Laufen zu haben +genie -s +# Dein hostname sollte mit "-wsl" enden +# Installiere YunoHost +curl https://install.yunohost.org | bash -s -- -a +``` + +### Öffne die Kommandozeile + +Rufe `genie -s` immer während des Startes deiner Distro auf. + +`wsl -d YunoHost -e genie -s` + +## Backup und Wiederherstellung der Distro +### Mache dein erstes Distro Backup +Wie zuvor gesagt, gibt es keine Rollback Möglichkeit. Lass uns deshal deine frische Distro exportieren. In PowerShell: + +``` +cd ~ +wsl --export YunoHost .\WSL\YunoHost.tar.gz +``` + +### Im Falle eines Crash, lösche und stelle die gesamte Distro wieder her + +``` +cd ~ +wsl --unregister YunoHost +wsl --import YunoHost .\WSL\YunoHost .\WSL\YunoHost.tar.gz --version 2 +``` +{% endif %} + + +{% if vps_ynh %} +## YunoHost VPS Provider + +Hier sind ein paar VPS Provider, die YunoHost nativ unterstützen : + +[div class="flex-container"] + +[div class="flex-child"] +[[figure caption="Alsace Réseau Neutre - FR"]![](image://vps_ynh_arn.png?height=50)[/figure]](https://vps.arn-fai.net) +[/div] +[div class="flex-child"] +[[figure caption="FAImaison - FR"]![](image://vps_ynh_faimaison.svg?height=50)[/figure]](https://www.faimaison.net/services/vm.html) +[/div] +[div class="flex-child"] +[[figure caption="Association ECOWAN - FR"]![](image://vps_ynh_ecowan.png?height=50)[/figure]](https://www.ecowan.fr/vps-linux) +[/div] +[/div] +{% endif %} + + +{% if at_home %} +## [fa=download /] Lade das {{image_type}} Image herunter + +{% if rpi012 %} +! Leider wird der Support für Rasperry Pi 0, 1 und 2 so langsam eingestellt : Das Bauen neuer Images ist komplex und RPi 0, 1 und 2 sind ARM-32bit Systeme, die über die Zeit mehr und mehr veralten (deprecated) werden. Da unsere vorinstallierten Images ziemlich alt sind, empfehlen wir stattdessen das [offizielle Rasperry Pi OS Lite (**32-bit**, **Bullseye**)](https://downloads.raspberrypi.org/raspios_lite_armhf/images/?C=M;O=D) zu downloaden und YunoHost [unter Verwendung ähnlicher Instruktionen wie für andere ARM Boards](/install/hardware:arm) oben drauf zu installieren. +{% endif %} + +{% if virtualbox or regular %} +!!! Achte darauf, dass du das 32-bit Image herunterlädst, wenn dein Host ein 32 Bit System ist. +{% elseif arm_unsup and not rpi012 %} +[fa=external-link] Lade das Image für dein Board auf der Armbian Website herunter. + +!!! Anmerkung: Du solltest das Image Armbian Bullseye downloaden. +{% endif %} + +!!! Wenn du die Validität deiner signierten Images prüfen will, kannst du [unseren public key downloaden](https://forge.yunohost.org/yunohost.asc). + +{% if internetcube or arm_sup %} +! Aktuelle Images stammen von Debian Buster (YunoHost v4.x) und erfordern, dass du einen manuellen apt update Befehl per SSH oder CLI durchführst, um weiter zu aktualisieren. +! Antworte mit Ja auf die Warnung über den Wechsel von stable zu oldstable. +{% endif %} + +
+
+
+
+ + + + + + + + +{% if not virtualbox %} + +{% if arm %} +## ![microSD Karte mit Adapter](image://sdcard_with_adapter.png?resize=100,75&class=inline) Flash das {{image_type}} Image +{% else %} +## ![USB Stick](image://usb_key.png?resize=100,100&class=inline) Flash das YunoHost Image +{% endif %} + +Jetzt wo du das Image von {{image_type}} heruntergeladen hast, solltest du es auf {% if arm %}einer microSD Karte{% else %}einem USB stick oder einer CD/DVD flashen.{% endif %} + +[ui-tabs position="top-left" active="0" theme="lite"] +[ui-tab title="(Empfohlen) Mit Etcher"] + +Lade Etcher für dein Betriebssystem herunter und installiere es. + +Steck {% if arm %}die SD Karte{% else %}den USB Stick{% endif %} an, wähle dein Image und klicke "Flash". + +![Etcher](image://etcher.gif?resize=700&class=inline) + +[/ui-tab] +[ui-tab title="Mit USBimager"] + +Lade [USBimager](https://bztsrc.gitlab.io/usbimager/) für dein Betriebssystem herunter und installiere es. + +Steck {% if arm %}die SD Karte{% else %}den USB Stick{% endif %} an, wähle dein Image und klicke "Write". + +![USBimager](image://usbimager.png?resize=700&class=inline) + +[/ui-tab] +[ui-tab title="Mit dd Befehl"] + +Wenn du mit GNU/Linux / macOS arbeitest und dich mit der Kommandozeile auskennst, kannst du deinen USB Stick oder deine SD Karte auch mit `dd` flashen. Du kannst mit `fdisk -l` oder `lsblk` feststellen welches Device deinem USB stick oder deiner SD Karte entspricht. Ein typischer SD Karten Name ist sowas wie `/dev/mmcblk0`. SEI VORSICHTIG und stelle sicher, dass du den richtigen Namen hast. + +Führe dann Folgendes aus : + +```bash +# Ersetze /dev/mmcblk0 durch das richtige Device, wenn der Name deines Device anders ist... +dd if=/path/to/yunohost.img of=/dev/mmcblk0 +``` +[/ui-tab] +{% if regular %} +[ui-tab title="Eine CD/DVD brennen"] +Für ältere Geräte könntest du eine CD/DVD brennen wollen. Die zu verwendende Software hängt von deinem Betriebssystem ab. + +* Auf Windows, benutze [ImgBurn](http://www.imgburn.com/), um die Image Datei auf die Disc zu schreiben. + +* Auf macOS, benutze [Disk Utility](http://support.apple.com/kb/ph7025) + +* Auf GNU/Linux hat man eine große Auswahl, wie [Brasero](https://wiki.gnome.org/Apps/Brasero) oder [K3b](http://www.k3b.org/) +[/ui-tab] +{% endif %} +[/ui-tabs] + +{% else %} + +## Erzeuge eine neue virtuelle Maschine + +![](image://virtualbox_1.png?class=inline) + +! Es ist in Ordnung, wenn du nur 32-bit Versionen haben kannst. Sei einfach sicher, dass du zuvor das 32-bit Image heruntergeladen hast. + +## Netzwerk Einstellungen justieren + +! Dieser Schritt ist wichtig, um die virtuelle Maschine ordnungsgemäß im Netzwerk zugänglich zu machen. + +Gehe zu **Settings** > **Network**: + +* Wähle `Bridged adapter` +* Wähle den Namen deines Interface: + **wlan0**, wenn du kabellos verbunden bist, oder andernfalls **eth0**. + +![](image://virtualbox_2.png?class=inline) + +{% endif %} + + + + + + + + + +{% if arm %} +## [fa=plug /] Das Board einschalten + +* Schließe das Ethernet Kabel an (ein Ende an deinem Router, das andere an deinem Board). + * Fortgeschrittene Nutzer, die das Board konfigurieren möchten, um sich stattdessen per WiFi zu verbinden, können bspw. [hier](https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md) nachlesen. +* Stecke die SD Karte in dein Board. +* (Optional) Du kannst Bildschirm+Tastatur direkt an deinem Board anschließen, wenn du Fehler am Boot Prozess beheben willst oder wenn du dich wohler fühlst zu "sehen was passiert" oder du direkten Zugriff auf das Board haben willst. +* Schalte das Board ein. +* Warte ein paar Minuten während sich das Board beim ersten Boot automatisch selbst konfiguriert. +* Stelle sicher, dass dein Computer (Desktop/Laptop) mit dem selben lokalen Netzwerk verbunden ist (z.B. mit der selben Internet Box) wie dein Server. + +{% elseif virtualbox %} +## [fa=plug /] Die virtuelle Maschine hochfahren + +Starte die virtuelle Maschine nach der Auswahl des YunoHost Image. + +![](image://virtualbox_2.1.png?class=inline) + +! Wenn du an den Fehler "VT-x ist nicht erreichbar" gerätst, musst du wahrscheinlich Virtualisierung im BIOS deines Computers einschalten. + + +{% else %} +## [fa=plug /] Die Maschine von deinem USB Stick booten + +* Schließe das Ethernet Kabel an (ein Ende an deinem Router, das andere an deinem Board). +* Fahre deinen Server mit dem USB Stick oder einer eingesteckten CD-ROM hoch und wähle es durch Drücken einer der folgenden (Hardware spezifischen) Tasten als **bootable device** aus: +``, ``, ``, ``, `` oder ``. + * Anmerkung: Wenn auf dem Server zuvor eine aktuelle Windows Version (8+) installiert war, musst du Windows zuerst "actually reboot" sagen. Das kann irgendwo in "Advanced startup options" gemacht werden. +{% endif %} + +{% if regular or virtualbox %} +## [fa=rocket /] Die grafische Installation starten + +Du solltest einen Bildschirm wie diesen sehen: + +[figure class="nomargin" caption="Vorschau des ISO Menüs"] +![](image://virtualbox_3.png?class=inline) +[/figure] +[ui-tabs position="top-left" active="0" theme="lite"] + +[ui-tab title="Klassische Installation auf einer ganzen Festplatte"] + +!! Anmerkung: Sobald du das Tastaturlayout bestätigt hast, wird die Installation gestartet und die Daten auf deiner Festplatte werden vollständig gelöscht! + + 1. Wähle `Graphical install` aus + 2. Wähle deine Sprache, deinen Standort, dein Tastaturlayout und schließlich deine Zeitzone aus. + 3. Das Installationsprogramm lädt dann alle erforderlichen Pakete herunter und installiert sie. + +[/ui-tab] +[ui-tab title="Installation im Expertenmodus"] + +Das YunoHost-Projekt hat die klassische Installation so weit wie möglich vereinfacht, damit sich möglichst viele Menschen nicht in zu technischen oder fallbezogenen Fragen verlieren. + +Mit der Installation im Expertenmodus hast du mehr Möglichkeiten, insbesondere was die genaue Partitionierung deiner Speichermedien betrifft. Du kannst dich auch für den klassischen Modus entscheiden und [deine Festplatten anschließend hinzufügen](/external_storage). + +### Zusammenfassung der Schritte im Expertenmodus: + 1. Wähle `Expert graphical install` aus. + 2. Wähle deine Sprache, deinen Standort, dein Tastaturlayout und möglicherweise deine Zeitzone aus. + 3. Partitioniere deine Festplatten. Hier kanst du ein RAID einrichten oder den Server ganz oder teilweise verschlüsseln. + 4. Gib einen möglichen HTTP-Proxy an, der für die Installation der Pakete verwendet werden soll. + 5. Gib an, auf welchen Volumes Grub installiert werden soll. + +### Bezüglich der Partitionierung + +Im Allgemeinen raten wir davon ab, „/var“, „/opt“, „/usr“, „/bin“, „/etc“, „/lib“, „/tmp“ und „/root“ auf separaten Partitionen zu partitionieren. Dadurch musst du dir keine Sorgen über volle Partitionen machen, die deinen Computer zum Absturz bringen, zum Scheitern von App-Installationen führen oder sogar deine Datenbanken beschädigen könnten. + +Aus Performance Gründen wird empfohlen, den schnellsten Speicher (SSD) als root `/` zu mounten. + +Wenn du über eine oder mehrere Festplatten zum Speichern von Daten verfügst, kannst du diese je nach Nutzung in einem dieser Ordner bereitstellen: + +| Path | Contents | +|--------|---| +| `/home` | Benutzerordner, auf die über SFTP zugegriffen werden kann | +| `/home/yunohost.backup/archives` | YunoHost-Backups, die idealerweise an anderer Stelle als auf den Datenträgern platziert werden, auf denen die Daten verwaltet werden | +| `/home/yunohost.app` | Umfangreiche Datenmengen aus YunoHost Apps (nextcloud, matrix...) | +| `/home/yunohost.multimedia` | Große Datenmenge, die von mehreren Anwendungen gemeinsam genutzt wird | +| `/var/mail` | User mail + +Wenn du Flexibilität haben möchtest und die Größe von Partitionen nicht (verändern) möchtest, kannst du dich auch dafür entscheiden, auf `/mnt/hdd` zu mounten und dieser [Anleitung zum Mounten aller dieser Ordner mit `mount --bind`](/external_storage) zu folgen. + +### Über Verschlüsselung +Beachte: Wenn du deine Festplatten ganz oder teilweise verschlüsselst, musst du bei jedem Neustart deines Servers die Passphrase eingeben. Das kann ein Problem darstellen, wenn du nicht vor Ort bist. Es gibt jedoch (ziemlich schwierig zu implementierende) Lösungen, die es dir ermöglichen, die Passphrase über SSH oder über eine Webseite einzugeben (suche nach "Dropbear Encrypted Disk"). + +### Über RAID +Denk daran, dass: + * die Festplatten in deinen RAIDs von unterschiedlichen Marken, Abnutzungserscheinungen oder Chargen sein müssen (insbesondere, wenn es sich um SSDs handelt). + * ein RAID 1 (auch ohne Ersatz) aus Wahrscheinlichkeitssicht zuverlässiger als ein RAID 5 ist. + * und Hardware-Raids von der Raid-Karte abhängen. Wenn die Karte ausfällt, benötigst du einen Ersatz, um das Array zu lesen und neu aufzubauen. + +[/ui-tab] +[/ui-tabs] +{% endif %} + + +{% if rpi012 %} +## [fa=bug /] Mit dem Board verbinden und das Image per Hotfix reparieren +Raspberry Pi 1 und 0 werden aufgrund von [Kompilierungsproblemen für diese Architektur](https://github.com/YunoHost/issues/issues/1423) nicht vollständig unterstützt. + +Es ist jedoch möglich, das Image selbst zu reparieren, bevor du die Erstkonfiguration ausführst. + +Um das zu erreichen, musst du dich auf deinem Raspberry Pi als Root-Benutzer [über SSH](/ssh) mit dem temporären Passwort „yunohost“ verbinden: +``` +ssh root@yunohost.local +``` +(oder „yunohost-2.local“ usw., wenn sich mehrere YunoHost-Server in deinem Netzwerk befinden) + +Führe dann die folgenden Befehle aus, um das Metronomproblem zu umgehen: +``` +mv /usr/bin/metronome{,.bkp} +mv /usr/bin/metronomectl{,.bkp} +ln -s /usr/bin/true /usr/bin/metronome +ln -s /usr/bin/true /usr/bin/metronomectl +``` + +Und diesen hier, um das UpnPC-Problem zu umgehen: +``` +sed -i 's/import miniupnpc/#import miniupnpc/g' /usr/lib/moulinette/yunohost/firewall.py +``` + +! Der letzte Befehl muss nach jedem Yunohost-Upgrade ausgeführt werden :/ + +{% elseif arm_unsup %} +## [fa=terminal /] Verbindung zum Board + +Als nächstes musst du [die lokale IP-Adresse deines Servers finden](/finding_the_local_ip), um dich als Root-Benutzer [über SSH](/ssh) mit dem temporären Passwort `1234` zu verbinden. + +``` +ssh root@192.168.x.xxx +``` + +{% endif %} + +{% endif %} + + +{% if vps_debian or arm_unsup %} +## [fa=rocket /] Das Installationsskript ausführen + +- Öffne eine Kommandozeile auf deinem Server (entweder direkt oder [über SSH](/ssh)) +- Stelle sicher, dass du Root bist (oder gib „sudo -i“ ein, um Root zu werden) +- Führe den folgenden Befehl aus: + +```bash +curl https://install.yunohost.org | bash +``` + +!!! Falls `curl` nicht auf deinem System installiert ist, kann es sein, dass du es mit `apt install curl` installieren musst. +!!! Falls der Befehl nichts bewirkt, kann es sein, dass du möglicherweise `apt install ca-certificates` ausführen musst. + +!!! **Hinweis für fortgeschrittene Benutzer, die sich mit dem `curl|bash`-Ansatz befassen approach:** Ziehe das Lesen von ["Ist curl|bash unsicher?"](https://sandstorm.io/news/2015-09-24-is-curl-bash-insecure-pgp-verified-install) auf Sandstoms Blog und möglicherweise [diese Diskussion auf Hacker News](https://news.ycombinator.com/item?id=12766350&noprocess) in Erwägung. + +{% endif %} + +## [fa=cog /] Mit der Erstkonfiguration fortfahren + +!!! Wenn du dabei bist, einen Server mithilfe eines YunoHost-Backups wiederherzustellen, solltest du diesen Schritt überspringen und [anstelle des Postinstallationsschritts das Backup wiederherstellen](/backup#restoring-during-the-postinstall). + +[ui-tabs position="top-left" active="0" theme="lite"] +[ui-tab title="Über die Weboberfläche"] +{%if at_home %} +Gib in einem Internet Browser **{% if internetcube %}`https://internetcube.local`{% else %}`https://yunohost.local` (oder `yunohost-2.local` usw., wenn mehrere YunoHost Server in deinem Netzwerk sind){% endif %}** ein. + +!!! Wenn das nicht funktioniert, kannst du [nach der lokalen IP-Adresse deines Servers suchen](/finding_the_local_ip). Die Adresse sieht normalerweise wie `192.168.x.y` aus und du solltest daher `https://192.168.x.y` in die Adressleiste deines Browsers eingeben. +{% else %} +Du kannst die Erstkonfiguration mit der Weboberfläche durchführen, indem du in die Adresszeile deines Webbrowsers **die öffentliche IP-Adresse deines Servers** eingibst. Normalerweise sollte dir dein VPS-Anbieter die IP des Servers mitgeteilt haben. +{% endif %} + +! Beim ersten Besuch wirst du höchstwahrscheinlich auf eine Sicherheitswarnung bezüglich des vom Server verwendeten Zertifikats stoßen. Im Moment verwendet dein Server ein selbstsigniertes Zertifikat. {% if not wsl %}Später kannst du ein von Webbrowsern automatisch erkanntes Zertifikat hinzufügen, wie in der [Zertifikatdokumentation](/certificate) beschrieben ist. {% endif %} Zunächst solltest du eine Sicherheitsausnahme hinzufügen, um das aktuelle Zertifikat zu akzeptieren. (Aber BITTE gewöhne dir nicht an, diese Art von Sicherheitswarnung blind zu akzeptieren!) + +{% if not internetcube %} +Dann solltest du auf dieser Seite landen: + +[figure class="nomargin" caption="Vorschau der Web-Erstkonfigurationsseite"] +![Initial configuration page](image://postinstall_web.png?resize=100%&class=inline) +[/figure] + +{% endif %} +[/ui-tab] +[ui-tab title="Mit der Kommandozeile"] + +Du kannst die Post-Installation auch mit dem Befehl `yunohost tools postinstall` direkt auf dem Server oder [über SSH](/ssh) durchführen. + +[figure class="nomargin" caption="Vorschau der Kommandozeile nach der Post-Installation"] +![Initial configuration with CLI](image://postinstall_cli.png?resize=100%&class=inline) +[/figure] + +[/ui-tab] +[/ui-tabs] + +{% if not internetcube %} + +##### [fa=globe /] Haupt-Domain + +Dies ist die Domäne, über die die Benutzer deines Servers auf das **Authentifizierungsportal** zugreifen. Du kannst später weitere Domains hinzufügen und bei Bedarf ändern, welche Domain die Haupt-Domain ist. + +{% if not wsl %} + +* Wenn du neu im Self-Hosting bist und noch keinen Domain-Namen hast, empfehlen wir die Verwendung eines **.nohost.me** / **.noho.st** / **.ynh.fr** (z.B. `homersimpson.nohost.me`). Sofern die Domain noch nicht vergeben ist, wird sie automatisch konfiguriert und du benötigst keinen weiteren Konfigurationsschritt. Bitte beachte, dass der Nachteil darin besteht, dass du nicht die vollständige Kontrolle über die DNS-Konfiguration hast. + +* Wenn du bereits einen Domain-Namen besitzt, möchtest du ihn wahrscheinlich hier verwenden. Später musst du DNS-Einträge konfigurieren, so wie [hier](/dns_config) beschrieben. + +!!! Ja, du *musst* eine Domain-Namen konfigurieren. Wenn du keinen Domain-Namen hast und auch keine **.nohost.me** / **.noho.st** / **.ynh.fr** möchtest, kannst du eine Dummy-Domain einrichten wie `yolo.test` und passt deine **lokale** `/etc/hosts` Datei so an, dass diese Dummy-Domain [auf die entsprechende IP verweist, wie hier erklärt](/dns_local_network). + +{% else %} + +Du musst eine Fake-Domain wählen, da diese von außen nicht zugänglich ist. +Zum Beispiel `ynh.wsl`. Der schwierige Teil besteht darin, diese Domain bei deinem Host zu bekannt zu machen. + +Ändere deine `C:\Windows\System32\drivers\etc\hosts` Datei. Du solltest eine Zeile haben, die mit `::1` beginnt. Aktualisiere sie oder füge sie bei Bedarf hinzu, um Folgendes zu erhalten: + +``` +::1 ynh.wsl localhost +``` + +Wenn du Subdomains erstellen möchtest, denk daran, diese auch in der Datei `hosts` hinzuzufügen: + +``` +::1 ynh.wsl subdomain.ynh.wsl localhost +``` + +{% endif %} + +##### [fa=key /] Der erste Benutzer + +[Seit YunoHost 11.1](https://forum.yunohost.org/t/yunohost-11-1-release-sortie-de-yunohost-11-1/23378) wird in dieser Phase der erste Benutzer erstellt. Du solltest einen Benutzernamen und ein einigermaßen komplexes Passwort wählen. (Wir können nicht genug betonen, dass das Passwort **robust** sein sollte!) Dieser Benutzer wird der Administratoren-Gruppe hinzugefügt und kann daher auf das Benutzerportal und die Webadministrationsoberfläche zugreifen und eine Verbindung [über **SSH**](/ssh) oder [**SFTP**](/filezilla) herstellen. Administratoren erhalten außerdem E-Mails an `root@yourdomain.tld` und `admin@yourdomain.tld`: Diese E-Mails können zum Versenden technischer Informationen oder Warnungen verwendet werden. Du kannst später weitere Benutzer hinzufügen, die du auch zur Administratoren-Gruppe hinzufügen kannst. + +Dieser Benutzer ersetzt den alten `admin` Benutzer, auf den sich einige alte Dokumentationsseiten möglicherweise noch beziehen. In diesem Fall: Ersetzen Sie einfach `admin` durch Ihren Benutzernamen. + + +## [fa=stethoscope /] Die Erstdiagnose durchführen + +Sobald die Post-Installation abgeschlossen ist, solltest du dich tatsächlich mit den Credentials des ersten Benutzers, den du gerade erstellt hast, bei der Webadministrationsoberfläche anmelden können. + +{% if wsl %} +! Erinngerung: YunoHost wird in der WSL von außen wahrscheinlich nicht erreichbar sein und ihr können keine echten Domains und Zertifikate zugewiesen werden. +{% endif %} +{% if virtualbox %} +! Erinnerung: YunoHost wird in VirtualBox ohne weitere Netzwerkkonfiguration in den Virtualbox-Einstellungen wahrscheinlich nicht von außen erreichbar sein. Die Diagnose wird sich darüber wahrscheinlich beschweren. +{% endif %} + +Das Diagnosesystem soll eine einfache Möglichkeit bieten, zu überprüfen, ob alle kritischen Aspekte deines Servers ordnungsgemäß konfiguriert sind – und dich bei der Behebung von Problemen unterstützen. Die Diagnose wird zweimal täglich ausgeführt und sendet eine Warnung, wenn Probleme erkannt werden. + +!!! Anmerkung : **Lauf nicht davon** ! Wenn du die Diagnose zum ersten Mal ausführst, ist es durchaus zu erwarten, dass eine Reihe gelber/roter Warnungen angezeigt werden, da du normalerweise [DNS-Einträge konfigurieren](/dns_config) musst (wenn du keine `.nohost.me`/`noho.st`/`ynh.fr` Domain verwendest). Lege ein Swapfile an, wenn nicht genügend RAM vorhanden ist {% if at_home %} und/oder richte [Portweiterleitung](/isp_box_config) ein.{% endif %} + +!!! Ist eine Warnung für dich nicht relevant (z.B. weil du nicht vor hast, eine bestimmte Funktion zu verwenden), ist es völlig in Ordnung, das Problem als 'ignoriert' zu markieren, indem du im Webadmin > Diagnose auf den "Ignorieren" Button (für diese bestimmte Funktion) klickst. + + +[ui-tabs position="top-left" active="0" theme="lite"] +[ui-tab title="(Empfohlen) Über die Weboberfläche"] +Um eine Diagnose auszuführen, gehe im Web Admin auf den Abschnitt "Diagnose". Klicke auf "Erstdiagnose ausführen". Du solltest nun einen Bildschirm wie diesen erhalten: + +[figure class="nomargin" caption="Vorschau des Diagnosepanels"] +![](image://diagnostic.png?resize=100%&class=inline) +[/figure] + +[/ui-tab] +[ui-tab title="In der Kommandozeile"] +``` +yunohost diagnosis run +yunohost diagnosis show --issues --human-readable +``` +[/ui-tab] +[/ui-tabs] + +## [fa=lock /] Ein Let's Encrypt Zertifikat holen + +Sobald du die DNS-Einträge und die Portweiterleitung (falls erforderlich) konfiguriert hast, solltest du ein Let's Encrypt-Zertifikat einrichten können. Dadurch entfällt für neue Besucher die gruselige Sicherheitswarnung von vorhin. + +Ausführlichere Anweisungen oder weitere Informationen zu SSL/TLS-Zertifikaten findest du [hier auf der entsprechenden Seite](/certificate). + +[ui-tabs position="top-left" active="0" theme="lite"] +[ui-tab title="Über die Weboberfläche"] + +Gehe zu Domains > Klicke auf deine Domain > SSL Zertifikat + +[figure class="nomargin" caption="Vorschau des Diagnosepanels"] +![](image://certificate-before-LE.png?resize=100%&class=inline) +[/figure] + +[/ui-tab] +[ui-tab title="In der Kommandozeile"] +``` +yunohost domain cert install +``` +[/ui-tab] +[/ui-tabs] + +## ![](image://tada.png?resize=32&classes=inline) Gratulation! + +Jetzt hast du ein sehr gut konfigurierten Server. Wenn du neu bei YunoHost bist, empfehlen wir dir, einen Blick auf [die geführte Tour](/overview) zu werfen. Du solltest auch in der Lage sein, [deine Lieblingsanwendungen zu installieren](/apps). Vergiss nicht, [Backups zu planen](/backup)! + +{% endif %} +{% endif %} diff --git a/pages/02.administer/20.backups/10.backup_methods/03.archivist/archivist.md b/pages/02.administer/20.backups/10.backup_methods/03.archivist/archivist.md index 808d5528..4debd205 100644 --- a/pages/02.administer/20.backups/10.backup_methods/03.archivist/archivist.md +++ b/pages/02.administer/20.backups/10.backup_methods/03.archivist/archivist.md @@ -10,6 +10,7 @@ page-toc: depth: 3 --- +!! This application is currently broken! To help fix this application please checkout [https://github.com/YunoHost-Apps/archivist_ynh](https://github.com/YunoHost-Apps/archivist_ynh) ## Functionality This application is based on rsync and GPG, it offers: diff --git a/pages/02.administer/20.backups/10.backup_methods/backup_methods.md b/pages/02.administer/20.backups/10.backup_methods/backup_methods.md new file mode 100644 index 00000000..37f283b4 --- /dev/null +++ b/pages/02.administer/20.backups/10.backup_methods/backup_methods.md @@ -0,0 +1,31 @@ +--- +title: Backup Methods +template: docs +taxonomy: + category: docs +routes: + default: '/backup/backup_methods' +page-toc: + active: true + depth: 3 +--- + +## [BorgBackup](/borgbackup) +This application offers: +* backup of data on an external disk or on a remote Borg repository +* deduplication and compression of files, which allows to keep many previous copies +* data encryption, which allows you to store data with a third party +* to define the frequency and type of data to be backed up +* a mail alert system in case of backup failure. + +## [Restic](/restic) +This application offers: +* backup of data to remote storage (support for different types of storage) +* deduplication and compression of files, which makes it possible to keep many previous copies +* data encryption, which allows to store data at a third party + +## [Archivist](/archivist) +!! This application is currently broken! +This application is based on rsync and GPG, it offers: +* backup of data on a remote storage (support for different types of storage) +* data encryption, which allows to store data at a third party diff --git a/pages/02.administer/45.tutorials/05.domains/01.dns_nohost_me/dns_nohost_me.it.md b/pages/02.administer/45.tutorials/05.domains/01.dns_nohost_me/dns_nohost_me.it.md new file mode 100644 index 00000000..299f3174 --- /dev/null +++ b/pages/02.administer/45.tutorials/05.domains/01.dns_nohost_me/dns_nohost_me.it.md @@ -0,0 +1,63 @@ +--- +title: Domini nohost.me +template: docs +taxonomy: + category: docs +routes: + default: '/dns_nohost_me' +--- + +Al fine di rendere il self-hosting accessibile al maggior numero di persone, il progetto YunoHost fornisce un servizio *gratuito* di nomi di dominio *configurati automaticamente*. Utilizzando questo servizio non dovrete [configurare i record DNS](/dns_config), in generale un'operazione abbastanza complessa. + +Potete scegliere tra i (sotto-) domini seguenti: +- `miosito.nohost.me`; +- `miosito.noho.st`; +- `miosito.ynh.fr`. + +Per usare questo servizio sarà sufficiente scegliere uno di questi domini nella fase di post installazione e YunoHost si occuperà di configurare il tutto! + +!!! Per ragioni di equità, **non potete avere più di un dominio nohost.me** per ogni installazione di YunoHost. + +### Sotto domini + +Il servizio di domini `nohost.me`, `noho.st` e `ynh.fr` permette la creazione di sotto domini. + +YunoHost permette l'installazione di applicazioni in sotto domini (ad esempio avere l'applicazione NextCloud accessibile dall'indirizzo `cloud.miosito.org`), e questa funzionalità è permessa anche con i domini `nohost.me`, `noho.st` e `ynh.fr.` e quindi è possibile avere un sotto-sotto dominio com ad esempio `cloud.miosito.nohost.me`. Per creare un sotto dominio in un dominio `nohost.me`, `noho.st` e `ynh.fr` è sufficiente aggiungere quest'ultimo a YunoHost, con la stessa procedura di un qualsiasi altro nome di dominio. + +### Aggiungere un dominio nohost.me, noho.st e ynh.fr dopo la post-installazione. + +Se avete già effettuato la post-installazione e desiderate aggiungere un dominio del tipo nohost.me, potere utilizzare la sezione "Domini" dall'interfaccia web di amministrazione, +scegliendo l'opzione "Non ho un nome di dominio.." + +Potete compiere la stessa operazione da shell con i seguenti comandi. + +```bash +# Aggiungere il domino +yunohost domain add miosito.nohost.me + +# Registrare il dominio nel servizio dydns +yunohost dyndns subscribe -d miosito.nohost.me + +# [ attendere ~ 30 secondi ] + +# Aggiornare la configurazione DNS +yunohost dyndns update + +# Impostarlo come dominio principale +yunohost domain main-domain -n miosito.nohost.me +``` + +### Ripristinare un dominio nohost.me, noho.st, ynh.fr + +Se dovete reinstallare il vostro server e volete utilizzare un dominio offerto da YunoHost ma già utilizzato precedentemente, dovete chiedere la reinizializzazione del dominio [nella specifica sezione del forum](https://forum.yunohost.org/t/nohost-domain-recovery/442). + + +### Cambiare uno dominio nohost.me, noho.st, ynh.fr + +Se volete cambiare il dominio automatico, dovete inizialmente cancellare quello già configurato seguendo le istruzioni seguenti: + +1. Cancellare il dominio dalla vostra istanza (utilizzando l'interfaccia web oppure il comando da shell `yunohost domain remove`). +2. Richiedere la cancellazione del nome del dominio [nella specifica sezione del forum](https://forum.yunohost.org/t/nohost-domain-recovery/442). +3. Cancellare i file di configurazione automatica sulla vostra istanza (al momento solamente da linea di comando: `sudo rm /etc/cron.d/yunohost-dyndns && sudo rm -r /etc/yunohost/dyndns` + +Potete quindi registrare un nuovo nome di dominio. diff --git a/pages/02.administer/45.tutorials/25.external_storage/external_storage.md b/pages/02.administer/45.tutorials/25.external_storage/external_storage.md index 0e8a09e5..9a1b4024 100644 --- a/pages/02.administer/45.tutorials/25.external_storage/external_storage.md +++ b/pages/02.administer/45.tutorials/25.external_storage/external_storage.md @@ -214,9 +214,7 @@ If your tests are successful, you should keep the mount points, otherwise you sh To begin with, let's find the UUID (universal identifier) of our disk with : ```bash -blkid | grep "/dev/YOUR_DISK1:" -# Returns something like : -# /dev/sda1:UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" TYPE="ext4" PARTUUID="34e4b02c-02" +lsblk -f ``` Let's add a line to the `/etc/fstab` file that handles the mounting of disks at boot time. So we open the file with `nano` : diff --git a/pages/02.administer/50.troubleshooting/10.admin_password/change_admin_password.md b/pages/02.administer/50.troubleshooting/10.admin_password/change_admin_password.md index 1abba53a..d01d6eb6 100644 --- a/pages/02.administer/50.troubleshooting/10.admin_password/change_admin_password.md +++ b/pages/02.administer/50.troubleshooting/10.admin_password/change_admin_password.md @@ -24,5 +24,5 @@ Then go to Tools > Change administration password. ```bash -yunohost tools adminpw +yunohost tools rootpw ``` diff --git a/pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md b/pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md index 05e8f8c3..0fde3f4f 100644 --- a/pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md +++ b/pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md @@ -7,7 +7,7 @@ routes: default: '/packaging_apps_helpers' --- -Doc auto-generated by [this script](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/doc/generate_helper_doc.py) on 10/10/2023 (YunoHost version 11.2.5) +Doc auto-generated by [this script](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/doc/generate_helper_doc.py) on 27/11/2023 (YunoHost version 11.2.7) ## APPS @@ -25,7 +25,7 @@ Requires YunoHost version *.*.* or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apps#L9) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apps#L9) [/details] ---------------- @@ -41,7 +41,7 @@ Requires YunoHost version *.*.* or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apps#L65) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apps#L65) [/details] ---------------- @@ -70,7 +70,7 @@ If the app relies on a specific PHP version, then `php` will be aliased that ver -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apps#L128) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apps#L128) [/details] ---------------- @@ -94,7 +94,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L53) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L53) [/details] ---------------- @@ -115,7 +115,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L75) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L75) [/details] ---------------- @@ -129,7 +129,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L107) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L107) [/details] ---------------- @@ -146,7 +146,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L117) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L117) [/details] ---------------- @@ -163,7 +163,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L128) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L128) [/details] ---------------- @@ -180,7 +180,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L138) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L138) [/details] ---------------- @@ -197,7 +197,7 @@ Requires YunoHost version 2.7.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L148) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L148) [/details] ---------------- @@ -219,7 +219,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L225) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L225) [/details] ---------------- @@ -236,7 +236,7 @@ Requires YunoHost version 3.8.1 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L338) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L338) [/details] ---------------- @@ -252,7 +252,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L357) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L357) [/details] ---------------- @@ -272,7 +272,7 @@ Requires YunoHost version 3.8.1 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/apt#L391) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/apt#L391) [/details] ---------------- @@ -345,7 +345,7 @@ Requires YunoHost version 3.5.0 or higher for the argument `--not_mandatory` -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L64) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L64) [/details] ---------------- @@ -359,7 +359,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L179) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L179) [/details] ---------------- @@ -404,7 +404,7 @@ Requires YunoHost version 3.5.0 or higher for the argument --not_mandatory -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L238) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L238) [/details] ---------------- @@ -423,7 +423,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L306) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L306) [/details] ---------------- @@ -445,7 +445,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L357) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L357) [/details] ---------------- @@ -464,7 +464,7 @@ Requires YunoHost version 3.3.1 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L397) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L397) [/details] ---------------- @@ -487,7 +487,7 @@ Requires YunoHost version 2.7.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L432) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L432) [/details] ---------------- @@ -510,7 +510,7 @@ Requires YunoHost version 2.7.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/backup#L480) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/backup#L480) [/details] ---------------- @@ -576,8 +576,6 @@ IP/hostname matching and is only an alias for `(?:::f{4,6}:)?(?P[\w\-.^_]+ You can find some more explainations about how to make a regex here : https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters -Note that the logfile need to exist before to call this helper !! - To validate your regex you can test with this command: ``` fail2ban-regex /var/log/YOUR_LOG_FILE_PATH /etc/fail2ban/filter.d/YOUR_APP.conf @@ -587,7 +585,7 @@ Requires YunoHost version 4.1.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/fail2ban#L64) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/fail2ban#L62) [/details] ---------------- @@ -601,7 +599,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/fail2ban#L119) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/fail2ban#L134) [/details] ---------------- @@ -629,7 +627,7 @@ Requires YunoHost version 3.8.1 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/hardware#L13) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/hardware#L13) [/details] ---------------- @@ -652,7 +650,7 @@ Requires YunoHost version 3.8.1 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/hardware#L75) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/hardware#L75) [/details] ---------------- @@ -673,7 +671,7 @@ Requires YunoHost version 2.4.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L10) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L10) [/details] ---------------- @@ -690,7 +688,7 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L30) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L30) [/details] ---------------- @@ -707,7 +705,7 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L56) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L56) [/details] ---------------- @@ -724,7 +722,7 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L73) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L73) [/details] ---------------- @@ -743,7 +741,7 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L92) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L92) [/details] ---------------- @@ -762,7 +760,7 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L113) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L113) [/details] ---------------- @@ -781,7 +779,7 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L134) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L134) [/details] ---------------- @@ -800,7 +798,7 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L155) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L155) [/details] ---------------- @@ -819,7 +817,26 @@ Requires YunoHost version 3.2.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L176) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L176) +[/details] +---------------- + +#### ynh_exec_and_print_stderr_only_if_error +[details summary="Execute a command and redirect stderr in /dev/null. Print stderr on error." class="helper-card-subtitle text-muted"] + +**Usage**: `ynh_exec_and_print_stderr_only_if_error your command and args` + +**Arguments**: +- `command`: command to execute + +**Details**:
+Note that you should NOT quote the command but only prefix it with ynh_exec_and_print_stderr_only_if_error + +Requires YunoHost version 11.2 or higher. + + + +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L197) [/details] ---------------- @@ -839,7 +856,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L237) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L257) [/details] ---------------- @@ -854,7 +871,7 @@ Requires YunoHost version 3.6.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logging#L325) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logging#L345) [/details] ---------------- @@ -883,7 +900,7 @@ Requires YunoHost version 3.2.0 or higher for the argument `--specific_user` -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logrotate#L18) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logrotate#L18) [/details] ---------------- @@ -897,7 +914,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/logrotate#L109) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/logrotate#L110) [/details] ---------------- @@ -914,7 +931,7 @@ Requires YunoHost version 4.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/multimedia#L11) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/multimedia#L11) [/details] ---------------- @@ -934,7 +951,7 @@ Requires YunoHost version 4.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/multimedia#L64) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/multimedia#L64) [/details] ---------------- @@ -951,7 +968,7 @@ Requires YunoHost version 4.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/multimedia#L93) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/multimedia#L93) [/details] ---------------- @@ -984,7 +1001,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/mysql#L15) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/mysql#L15) [/details] ---------------- @@ -1002,7 +1019,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/mysql#L36) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/mysql#L36) [/details] ---------------- @@ -1020,7 +1037,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/mysql#L60) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/mysql#L60) [/details] ---------------- @@ -1041,7 +1058,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/mysql#L128) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/mysql#L128) [/details] ---------------- @@ -1060,7 +1077,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/mysql#L160) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/mysql#L160) [/details] ---------------- @@ -1082,7 +1099,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/mysql#L198) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/mysql#L198) [/details] ---------------- @@ -1100,7 +1117,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/mysql#L224) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/mysql#L224) [/details] ---------------- @@ -1124,7 +1141,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/network#L12) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/network#L12) [/details] ---------------- @@ -1145,7 +1162,7 @@ Requires YunoHost version 3.8.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/network#L36) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/network#L36) [/details] ---------------- @@ -1166,7 +1183,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/network#L99) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/network#L99) [/details] ---------------- @@ -1187,7 +1204,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/network#L119) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/network#L119) [/details] ---------------- @@ -1215,7 +1232,7 @@ Requires YunoHost version 4.1.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/nginx#L19) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/nginx#L19) [/details] ---------------- @@ -1229,7 +1246,7 @@ Requires YunoHost version 2.7.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/nginx#L41) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/nginx#L41) [/details] ---------------- @@ -1243,7 +1260,7 @@ Requires YunoHost version 11.1.9 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/nginx#L52) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/nginx#L52) [/details] ---------------- @@ -1297,7 +1314,7 @@ Requires YunoHost version 2.7.12 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/nodejs#L52) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/nodejs#L52) [/details] ---------------- @@ -1321,7 +1338,7 @@ Requires YunoHost version 2.7.12 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/nodejs#L92) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/nodejs#L92) [/details] ---------------- @@ -1339,7 +1356,7 @@ Requires YunoHost version 2.7.12 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/nodejs#L165) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/nodejs#L165) [/details] ---------------- @@ -1412,7 +1429,7 @@ Requires YunoHost version 3.7.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L66) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L66) [/details] ---------------- @@ -1431,7 +1448,7 @@ Requires YunoHost version 3.7.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L152) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L152) [/details] ---------------- @@ -1449,7 +1466,7 @@ Requires YunoHost version 3.7.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L169) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L169) [/details] ---------------- @@ -1472,7 +1489,7 @@ Requires YunoHost version 3.7.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L192) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L192) [/details] ---------------- @@ -1495,7 +1512,7 @@ Requires YunoHost version 3.7.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L260) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L260) [/details] ---------------- @@ -1516,7 +1533,7 @@ Requires YunoHost version 3.7.1 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L329) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L329) [/details] ---------------- @@ -1531,7 +1548,7 @@ Requires YunoHost version 4.1.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L359) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L359) [/details] ---------------- @@ -1542,7 +1559,7 @@ Requires YunoHost version 4.1.2 or higher. **Example**: `if ynh_legacy_permissions_exists then ynh_legacy_permissions_delete_all # You can recreate the required permissions here with ynh_permission_create fi Requires YunoHost version 4.1.2 or higher.` -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/permission#L379) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/permission#L379) [/details] ---------------- @@ -1616,7 +1633,7 @@ Requires YunoHost version 4.1.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/php#L70) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/php#L70) [/details] ---------------- @@ -1630,7 +1647,7 @@ Requires YunoHost version 2.7.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/php#L284) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/php#L284) [/details] ---------------- @@ -1649,7 +1666,7 @@ Requires YunoHost version 4.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/php#L517) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/php#L517) [/details] ---------------- @@ -1669,7 +1686,7 @@ Requires YunoHost version 4.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/php#L549) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/php#L549) [/details] ---------------- @@ -1702,7 +1719,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L18) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L18) [/details] ---------------- @@ -1720,7 +1737,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L39) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L39) [/details] ---------------- @@ -1738,7 +1755,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L64) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L64) [/details] ---------------- @@ -1759,7 +1776,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L135) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L135) [/details] ---------------- @@ -1777,7 +1794,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L168) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L168) [/details] ---------------- @@ -1795,7 +1812,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L190) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L190) [/details] ---------------- @@ -1817,7 +1834,7 @@ Requires YunoHost version 2.7.13 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L234) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L234) [/details] ---------------- @@ -1835,7 +1852,7 @@ Requires YunoHost version 2.7.13 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/postgresql#L265) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/postgresql#L265) [/details] ---------------- @@ -1856,7 +1873,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/setting#L10) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/setting#L10) [/details] ---------------- @@ -1875,7 +1892,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/setting#L36) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/setting#L36) [/details] ---------------- @@ -1893,7 +1910,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/setting#L62) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/setting#L62) [/details] ---------------- @@ -1913,7 +1930,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/setting#L123) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/setting#L123) [/details] ---------------- @@ -1934,7 +1951,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/setting#L145) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/setting#L145) [/details] ---------------- @@ -1959,7 +1976,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/string#L13) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/string#L13) [/details] ---------------- @@ -1981,7 +1998,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/string#L40) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/string#L40) [/details] ---------------- @@ -2003,7 +2020,7 @@ Requires YunoHost version 2.7.7 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/string#L71) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/string#L71) [/details] ---------------- @@ -2026,7 +2043,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/string#L103) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/string#L103) [/details] ---------------- @@ -2052,7 +2069,7 @@ Requires YunoHost version 4.1.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/systemd#L15) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/systemd#L15) [/details] ---------------- @@ -2069,7 +2086,7 @@ Requires YunoHost version 2.7.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/systemd#L38) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/systemd#L38) [/details] ---------------- @@ -2091,7 +2108,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/systemd#L67) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/systemd#L67) [/details] ---------------- @@ -2115,7 +2132,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L12) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L12) [/details] ---------------- @@ -2137,7 +2154,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L33) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L33) [/details] ---------------- @@ -2155,7 +2172,7 @@ Requires YunoHost version 2.4.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L53) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L53) [/details] ---------------- @@ -2174,7 +2191,7 @@ Requires YunoHost version 2.2.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L64) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L64) [/details] ---------------- @@ -2193,7 +2210,7 @@ Requires YunoHost version 3.5.0.2 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L82) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L82) [/details] ---------------- @@ -2222,7 +2239,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L111) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L111) [/details] ---------------- @@ -2239,7 +2256,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L153) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L153) [/details] ---------------- @@ -2253,7 +2270,7 @@ Requires YunoHost version 4.1.7 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/user#L179) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/user#L179) [/details] ---------------- @@ -2274,7 +2291,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L61) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L61) [/details] ---------------- @@ -2366,7 +2383,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L154) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L154) [/details] ---------------- @@ -2392,7 +2409,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L399) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L399) [/details] ---------------- @@ -2450,7 +2467,7 @@ Requires YunoHost version 4.1.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L483) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L483) [/details] ---------------- @@ -2494,7 +2511,7 @@ Requires YunoHost version 4.3 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L637) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L637) [/details] ---------------- @@ -2513,7 +2530,7 @@ Requires YunoHost version 4.3 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L714) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L714) [/details] ---------------- @@ -2529,7 +2546,7 @@ Requires YunoHost version 2.7.12 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L829) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L829) [/details] ---------------- @@ -2546,7 +2563,7 @@ Requires YunoHost version 2.6.4 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L860) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L860) [/details] ---------------- @@ -2566,7 +2583,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L894) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L894) [/details] ---------------- @@ -2591,7 +2608,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L937) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L937) [/details] ---------------- @@ -2614,7 +2631,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L966) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L966) [/details] ---------------- @@ -2637,7 +2654,7 @@ Requires YunoHost version 3.5.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L991) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L991) [/details] ---------------- @@ -2669,7 +2686,7 @@ Requires YunoHost version 3.8.0 or higher. -[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/helpers/utils#L1021) +[Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/helpers/utils#L1021) [/details] ---------------- diff --git a/pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md b/pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md index eecf0e11..24c40a55 100644 --- a/pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md +++ b/pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md @@ -7,7 +7,7 @@ routes: default: '/packaging_apps_resources' --- -Doc auto-generated by [this script](https://github.com/YunoHost/yunohost/blob/6f1a00922a8fa866823ecd87dc6e6da2ab8e5005/doc/generate_resource_doc.py) on 10/10/2023 (YunoHost version 11.2.5) +Doc auto-generated by [this script](https://github.com/YunoHost/yunohost/blob/4897f72974fff30b168a40bf55bf917395cca4cc/doc/generate_resource_doc.py) on 27/11/2023 (YunoHost version 11.2.7) ---------------- From 3810259da2c05b2cce6226c428dff8d903a967a2 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Tue, 5 Dec 2023 19:52:33 +0000 Subject: [PATCH 2/7] (Grav GitSync) Automatic Commit from yunohost-bot --- .../10.packaging_apps/packaging_apps_intro.fr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/06.contribute/10.packaging_apps/packaging_apps_intro.fr.md b/pages/06.contribute/10.packaging_apps/packaging_apps_intro.fr.md index 50d05075..d3840331 100644 --- a/pages/06.contribute/10.packaging_apps/packaging_apps_intro.fr.md +++ b/pages/06.contribute/10.packaging_apps/packaging_apps_intro.fr.md @@ -52,9 +52,9 @@ Divers outils ont été mis en place pour tester l'application et normaliser son Après un certain temps, un ensemble de pratiques et de conventions communes a émergé et est en quelque sorte reflété et maintenu dans l'application modèle `example_ynh`. Bien qu'il soit tentant pour les développeurs de changer les schémas de nommage des variables ou de refactoriser la structure des scripts, il s'avère qu'il est encore plus important de s'en tenir à l'ensemble des pratiques communes (même si elles sont arbitraires et peu élégantes) pour faciliter la maintenance de toutes les applications par n'importe quel membre de la communauté du packaging à travers tous les dépôts ! -Néanmoins, même si les aides existaient, la structure inhérente des applications était difficile et ennuyeuse à maintenir avec trop de morceaux de code redondants ou remplis de conventions historiques bizarres. **Un nouveau format v2** [a été conçu et ajouté à YunoHost 11.1 début 2023] (https://github.com/YunoHost/yunohost/pull/1289) dans l'espoir de moderniser et de simplifier l'emballage des applications et d'améliorer l'UI/UX de YunoHost. +Néanmoins, même si les aides existaient, la structure inhérente des applications était difficile et ennuyeuse à maintenir avec trop de morceaux de code redondants ou remplis de conventions historiques bizarres. **Un nouveau format v2** [a été conçu et ajouté à YunoHost 11.1 début 2023](https://github.com/YunoHost/yunohost/pull/1289) dans l'espoir de moderniser et de simplifier l'emballage des applications et d'améliorer l'UI/UX de YunoHost. -Cependant, [**un futur format v3** est encore à venir] (https://github.com/YunoHost/issues/issues/2136) pour simplifier davantage l'empaquetage des applications (comme la prise en charge des configurations NGINX/systemd/..., l'élimination du besoin d'écrire manuellement des scripts de suppression/sauvegarde/restauration, etc.) +Cependant, [**un futur format v3** est encore à venir](https://github.com/YunoHost/issues/issues/2136) pour simplifier davantage l'empaquetage des applications (comme la prise en charge des configurations NGINX/systemd/..., l'élimination du besoin d'écrire manuellement des scripts de suppression/sauvegarde/restauration, etc.) ## 4. Aperçu général de la structure d'une application YunoHost @@ -107,7 +107,7 @@ Grosso modo, l'installation proprement dite se compose généralement des opéra ## 5. Créer votre tout premier paquet YunoHost -A moins que vous ne souhaitiez vraiment partir de zéro ou de [`example_ynh`] (https://github.com/YunoHost/example_ynh), une pratique courante consiste à identifier une application similaire à celle que vous essayez d'empaqueter - typiquement parce qu'elle repose sur les mêmes technologies - à cloner le dépôt de code correspondant, et à adapter les différents fichiers. +A moins que vous ne souhaitiez vraiment partir de zéro ou de [`example_ynh`](https://github.com/YunoHost/example_ynh), une pratique courante consiste à identifier une application similaire à celle que vous essayez d'empaqueter - typiquement parce qu'elle repose sur les mêmes technologies - à cloner le dépôt de code correspondant, et à adapter les différents fichiers. TODO/FIXME : here we should list a bunch of well-knowh apps for classic technologies From d63b706b0caa7e9271d8cdc37b1de04f9c41a27d Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sun, 14 Jan 2024 13:01:22 +0000 Subject: [PATCH 3/7] (Grav GitSync) Automatic Commit from yunohost-bot --- .../what_is_yunohost.fr.md | 2 +- pages/02.administer/10.install/install.md | 2 +- .../02.dns_dynamic_ip/dns_dynamicip.it.md | 77 ++++++ .../dns_local_network.it.md | 52 ++++ .../45.tutorials/15.filezilla/filezilla.it.md | 82 ++++++ .../external_storage.it.md | 253 ++++++++++++++++++ .../50.troubleshooting/20.ipv6/ipv6.fr.md | 2 +- .../55.providers/10.isp/free/isp_free.fr.md | 2 +- .../20.config_panels/config_panels.md | 2 +- 9 files changed, 469 insertions(+), 5 deletions(-) create mode 100644 pages/02.administer/45.tutorials/05.domains/02.dns_dynamic_ip/dns_dynamicip.it.md create mode 100644 pages/02.administer/45.tutorials/05.domains/04.dns_local_network/dns_local_network.it.md create mode 100644 pages/02.administer/45.tutorials/15.filezilla/filezilla.it.md create mode 100644 pages/02.administer/45.tutorials/25.external_storage/external_storage.it.md diff --git a/pages/01.overview/10.what_is_yunohost/what_is_yunohost.fr.md b/pages/01.overview/10.what_is_yunohost/what_is_yunohost.fr.md index c140cb52..829547cf 100644 --- a/pages/01.overview/10.what_is_yunohost/what_is_yunohost.fr.md +++ b/pages/01.overview/10.what_is_yunohost/what_is_yunohost.fr.md @@ -45,7 +45,7 @@ Même si YunoHost est multi-domaine et multi-utilisateur, il reste **inappropri Premièrement parce que le logiciel est trop jeune, donc non-testé et non-optimisé pour être mis en production pour des centaines d’utilisateurs en même temps. Et quand bien même, ce n’est pas le chemin que l’on souhaite faire suivre à YunoHost. La virtualisation se démocratise, et c’est une façon bien plus étanche et sécurisée de faire de la mutualisation. -Vous pouvez héberger vos amis, votre famille ou votre entreprise sans problème, mais vous devez **avoir confiance** en vos utilisateurs, et ils doivent de la même façon avoir confiance en vous. Si vous souhaitez tout de même fournir des services YunoHost à des inconnus, **un VPS entier par utilisateur** sera la meilleure solution. +Vous pouvez héberger vos amis, votre famille, votre association ou votre entreprise sans problème, mais vous devez **avoir confiance** en vos utilisateurs, et ils doivent de la même façon avoir confiance en vous. Si vous souhaitez tout de même fournir des services YunoHost à des inconnus, **un VPS entier par utilisateur** sera la meilleure solution. ## Logo diff --git a/pages/02.administer/10.install/install.md b/pages/02.administer/10.install/install.md index 981e410f..3ef9c797 100644 --- a/pages/02.administer/10.install/install.md +++ b/pages/02.administer/10.install/install.md @@ -541,7 +541,7 @@ You should see a screen like this: [/figure] [ui-tabs position="top-left" active="0" theme="lite"] -[ui-tab title="Installation classique sur un disque entier"] +[ui-tab title="Classic installation on a whole disk"] !! N.B.: Once you have validated the keyboard layout, the installation will be launched and will completely erase the data on your hard disk! diff --git a/pages/02.administer/45.tutorials/05.domains/02.dns_dynamic_ip/dns_dynamicip.it.md b/pages/02.administer/45.tutorials/05.domains/02.dns_dynamic_ip/dns_dynamicip.it.md new file mode 100644 index 00000000..8a0285e5 --- /dev/null +++ b/pages/02.administer/45.tutorials/05.domains/02.dns_dynamic_ip/dns_dynamicip.it.md @@ -0,0 +1,77 @@ +--- +title: DNS con IP dinamico +template: docs +taxonomy: + category: docs +routes: + default: '/dns_dynamicip' +--- + +! Prima di continuare, assicuratevi che il vostro indirizzo IP pubblico sia dinamico utilizzando: [ip.yunohost.org](http://ip.yunohost.org/). L'indirizzo IP del vostro router cambia quasi ogni giorno. + +Questo tutorial cerca di risolvere il problema con gli IP dinamici: quando l'IP pubblico del vostro router cambia, la zona DNS non viene aggiornata per riflettere il nuovo indirizzo IP e di conseguenza il vostro server non è più raggiungibile con il nome di dominio. + +Dopo aver applicato le configurazioni proposte in questo tutorial la redirezione dal vostro nome di dominio del vostro server all'IP reale non verrà più persa. + +La configurazione che adotteremo consiste nel rendere automatica la comunicazione del router al servizio di DNS dinamico la variazione dell'indirizzo IP pubblico e che la zona DNS può essere aggiornata. + +### Registrar + +Di seguito un elenco, non esaustivo, dei registrar. Qui potere acquistare il vostro dominio: +* [OVH](http://ovh.com/) +* [GoDaddy](https://godaddy.com) +* [Gandi](http://gandi.net) +* [Namecheap](https://www.namecheap.com) +* [BookMyName](https://www.bookmyname.com) +* [Ionos](https://ionos.com) +* [Infomaniak](https://infomaniak.com) + +Se siete in possesso di un dominio presso **OVH**, saltate al punto 4 e proseguite con il [tutorial](/OVH) considerando che OVH propone un servizio DynDNS. + +#### 1. Create un account per il servizio DynDNS +Di seguito un elenco, non esaustivo, di offerte dei servizi DynDNS: +* [DNSexit](https://www.dnsexit.com/Direct.sv?cmd=dynDns) +* [No-IP](https://www.noip.com/remote-access) +* [ChangeIP](https://changeip.com/) +* [DynDNS (in italiano)](https://dyndns.it/) +* [Duck DNS](https://www.duckdns.org/) +* [ydns.io](https://ydns.io/) + +Create un account presso il fornitore scelto. Dovrebbe comunicarvi uno (o più) indirizzi IP per raggiungere il servizio e un login (che dovreste poter configurare da soli). + +#### 2. Configurate la zona DNS +Copiate la [zona DNS](/dns_config), tranne il record NS, del vostro [registrar](#registrar) verso il DNS dinamico del servizio DynDNS che avete scelto al punto 1 del tutorial. + +#### 3. Reindirizzate la gestione del vostro dominio verso il server DNS dinamico +In questo passaggio informeremo il [registrar](#registrar) che il servizio DNS sarà affidato al servizio DyDNS. + +Reindirizzate il campo NS verso l'indirizzo IP fornito dal servizio DyDNS. + +In seguito cancellate la [zona DNS](/dns_config) (eccetto il precedente campo NS) nel vostro [registrar](#registrar). + +## 4. Configurazione del router/client +Configurate il vostro router o un client specifico installato sul vostro server come ad esempio `ddclient` con i dati del vostro account DNS dinamico. +Qui useremo il client fornito dal router che è il sistema sicuramente più facile. + +Inserite il login del servizio di DNS dinamico e l'indirizzo IP pubblico nel vostro router (l'interfaccia varierà sicuramente a seconda dell'ISP che state usando). + +![](image://dns_dynamic-ip_box_conf.png?resize=600) + + + + + + + + + + + + + + + + + + + diff --git a/pages/02.administer/45.tutorials/05.domains/04.dns_local_network/dns_local_network.it.md b/pages/02.administer/45.tutorials/05.domains/04.dns_local_network/dns_local_network.it.md new file mode 100644 index 00000000..0487c54b --- /dev/null +++ b/pages/02.administer/45.tutorials/05.domains/04.dns_local_network/dns_local_network.it.md @@ -0,0 +1,52 @@ +--- +title: Accesso al server dalla rete locale +template: docs +taxonomy: + category: docs +routes: + default: '/dns_local_network' +--- + +Dopo aver concluso l'installazione del server, è possibile che il vostro dominio non sia accessibile dalla rete locale del server. Questo problema è noto con il nome di [hairpinning](http://en.wikipedia.org/wiki/Hairpinning) ed è una caratteristica non supportata da alcuni router. + +Per risolvere questo problema dobbiamo: +- configurare i DNS del nostro router +- o in alternativa modificare il file /etc/hosts dei client dai quali vogliamo raggiungere il server + +### Trovare l'indirizzo IP del server nella rete locale + +Dobbiamo innanzitutto conoscere l'IP locale del server +- utilizziamo uno di questi [metodi](https://yunohost.org/en/finding_the_local_ip) +- dalla pagina di amministrazione, sezione Diagnostica > Connessione Internet > IPv4 cliccando su 'Dettagli' dovrebbe apparire il valore di 'IP locale' +- dal terminale con il comando: `hostname -I` + +## Configurare il DNS del router + +Andremo a creare un reindirizzamento attivo su tutta la LAN. Lo scopo è di creare, nel router, un reindirizzamento DNS verso l'IP del server YunoHost. Dobbiamo accedere all'interfaccia di configurazione del router, nella sezione DNS e creare il reindirizzamento nella LAN (ad esempio, `yunohost.local` invia a `192.168.1.21`). + +### Box SFR +Se non trovate l'indirizzo IP privato lo potete trovare nel pannello di amministrazione: + Andate su Etichetta Network > Generale + + +#### Configurare il DNS del box SFR + +Andate all'etichetta Network > DNS e aggiungete il vostro nome a dominio al DNS del box. + + +## Configurare il file [hosts](https://en.wikipedia.org/wiki/Host_%28Unix%29) del client + +L'opzione di modificare il file /etc/hosts deve essere presa in considerazione solo se non è possibile configurare il DNS del router, perché tale modifica avrà effetto solo sul pc specifico. + +- In windows trovate il file qui: + `%SystemRoot%\system32\drivers\etc\` + > È necessario abilitare la visualizzazione dei file nascosti e di sistema per rendere visibile il file hosts. +- In sistemi UNIX (GNU/Linux, macOS), trovate il file qui: + `/etc/hosts` + > Dovrete avere i privilegi di root per modificare il file. + +Aggiungete alla fine del file una riga contenente l'indirizzo IP del server seguito dal dominio + +```bash +192.168.1.62 domain.tld +``` diff --git a/pages/02.administer/45.tutorials/15.filezilla/filezilla.it.md b/pages/02.administer/45.tutorials/15.filezilla/filezilla.it.md new file mode 100644 index 00000000..1c610aac --- /dev/null +++ b/pages/02.administer/45.tutorials/15.filezilla/filezilla.it.md @@ -0,0 +1,82 @@ +--- +title: Scambiare i files con il proprio server tramite un'interfaccia grafica. +template: docs +taxonomy: + category: docs +routes: + default: '/filezilla' +--- + +Questa parte spiega come scambiare dei files (backup, musica, foto, video...) con il proprio server, servendosi di un'interfaccia grafica. Utilizzeremo un metodo alternativo al tradizionale comando `scp` perché troppo tecnico e criptico, o alla installazione di un'applicazione come Nextcloud. + +Per compiere questa operazione utilizzeremo [FileZilla](https://filezilla-project.org/), un software libero disponibile per Windows, GNU/Linux et macOS. + +## Scaricare e installare FileZilla + +Potete scaricare FileZilla [da questa pagina](https://filezilla-project.org/download.php?type=client). Il sito dovrebbe proporvi automaticamente la versione adatta al vostro sistema operativo. Nel caso contrario seguite le istruzioni per installare il [client](https://wiki.filezilla-project.org/Client_Installation) corretto. + +Installate e lanciate *FileZilla* + +## Configurazione + +1. Cliccate sull'icona in alto a sinistra *Site Manager*. + + ![Pagina principale di Filezilla](image://filezilla_1.png) + +2. Cliccate su **New Site** e assegnate un nome al server che volete connettere: in questo esempio *Family*. Completate i parametri come nell'immagine (con i vostri dati) e cliccate su **Connect** (N.B. : se volete editare i file dell'applicazione [custom webapp](https://github.com/YunoHost-Apps/my_webapp_ynh), dovrete utilizzare un utente diverso da `admin`. Fate riferimento alla documentazione di custom webapp). + + ![Schermata del site manager](image://filezilla_2.png) + +3. Apparirà un avviso poiché vi state collegando per la prima volta al server. *Se è la prima connessione, potete ignorarlo* + + ![Avviso per la fingerprint del server sconosciuta](image://filezilla_3.png) + +4. Filezilla vi chiederà la password di `admin` del server. + + ![schermata per la richiesta della password](image://filezilla_4.png) + +5. Una volta salvato nei segnalibri, il server verrà salvato e vedrete questa schermata. + + ![Schermata del "site manager" con il server appena aggiunto](image://filezilla_5.png) + +## Utilizzo + +1. Collegatevi al server con le credenziali salvate in precedenza. *A volte viene richiesta la password* + + La parte sinistra della finestra del programma si riferisce al vostro pc. La parte destra corrisponde al server YunoHost remoto. Potete navigare tra file e cartelle e effettuare drag-and-drop tra i due computer. + + ![vista della connessione al server remoto](image://filezilla_6.png) + +2. Nel pannello di destra, raggiungete `/home/yunohost.backup/archives` dove si trovano gli [archivi di backup](https://yunohost.org/it/backup) + + ![la directory dove si trovano i backup di YunoHost](image://filezilla_7.png) + +! [fa=cloud-download /] Assicuratevi di scaricare i file `.tar.gz` e `.json` + +![Copia dei backup da YunoHost ad un computer locale](image://filezilla_8.png) + +---- + +Link a fonti esterne: + +* [Documentazione ufficiale](https://wiki.filezilla-project.org/FileZilla_Client_Tutorial_(en)) +* [Tutorial generale su FileZilla](https://www.rc.fas.harvard.edu/resources/documentation/sftp-file-transfer/) + +## Alternative a FileZilla + +### GNU/Linux + +Qualsiasi distribuzione recente di GNU/Linux dovrebbe permettere di accedere al server remoto utilizzando il gestore dei file. + +Nautilus di Gnome3 integra delle funzionalità simili a FileZilla: + +* +* + +### Windows + +* [WinSCP](https://winscp.net/) è un ottimo programma per Windows + +### MacOS + +* [Cyberduck](https://cyberduck.io/) un programma libero per macOS diff --git a/pages/02.administer/45.tutorials/25.external_storage/external_storage.it.md b/pages/02.administer/45.tutorials/25.external_storage/external_storage.it.md new file mode 100644 index 00000000..01ed4d7a --- /dev/null +++ b/pages/02.administer/45.tutorials/25.external_storage/external_storage.it.md @@ -0,0 +1,253 @@ +--- +title: Aggiungere un disco esterno al vostro server +template: docs +taxonomy: + category: docs +routes: + default: '/external_storage' + aliases: + - '/moving_app_folder' +--- + +## Introduzione + + +Oltre al monitoraggio delle dimensioni delle partizioni (che controlla che non siano troppo piccole), YunoHost non si occupa, al momento, dell'organizzazione delle partizioni dei vostri dischi. + +Se la vostra configurazione è basata su una board ARM con scheda SD, oppure il server dispone di un disco SSD di piccole dimensioni, potreste, per motivi di spazio o di sicurezza, voler aggiungere uno o più dischi al vostro server. + +! Se avete esaurito lo spazio sul disco del vostro server, potete provare con il comando `apt clean` per tentare di recuperarne un po' e avere modo di seguire le istruzioni di seguito riportate. + +Troverete qui le istruzioni per riuscire a spostare i vostri dati su un disco esterno in modo corretto e con un impatto minimo sul funzionamento di YunoHost. Potete eseguire lo spostamento durante l'installazione o in un secondo momento, quando si presenterà la necessità di più spazio o temete per l'affidabilità della scheda SD. + +!!! Il procedimento presentato qui inizia montando l'unica partizione del disco, in seguito utilizza una o più sotto-cartelle per creare diversi punti di montaggio sull'albero del file system del pc. Questo metodo è preferibile rispetto al utilizzo di link simbolici poiché questi possono entrare in conflitto con alcune applicazioni, tra le quali il sistema di backup di YunoHost. Potreste scegliere di montare le partizioni invece che le sotto-cartelle, ma sorge la difficoltà di prevedere la stima della dimensione della cartella. + +## [fa=list-alt /] Prerequisiti + +* Prevedere un periodo temporale nel quale gli utenti del vostro server possono sopportare una interruzione dei servizi. I passaggi da compiere, anche se relativamente semplici, sono tecnicamente complessi e necessitano di un lasso di tempo **da dedicare in modo esclusivo**. + +* Conoscenza della connessione come root sul server anche via [SSH](/ssh). (Nota bene: se siete connessi come utente `admin`, potete passare root con il comando `sudo su`) + +* Conoscere i comandi `cd`, `ls`, `mkdir`, `rm`. + +* Disporre di un backup nel caso le cose non vadano come previsto + +* Disporre di un disco aggiuntivo (SSD, hard disk, chiavetta USB) collegato al server via USB o SATA + +## 1. Identificare le cartelle da spostare + +Il comando `ncdu` vi permette di navigare tra le cartelle del vostro server affinché possiate conoscerne la loro dimensione. + +Di seguito, alcuni esempi di percorsi che possono essere di notevoli dimensioni e qualche consiglio su come ridurre la loro dimensione o perché sceglierli tra quelli da spostare. + +| Percorso | Contenuto | Consigli | +|-----------------------------|----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `/home` | Cartelle Utenti accessibile via SFTP | Spostabile | +| `/home/yunohost.backup` | Backup di YunoHost | In base alla vostra strategia di backup è consigliabile spostare questa cartella su un disco diverso da quello che contiene i dati e i database | +| `/home/yunohost.app` | Cartella di grandi dimensioni contenente i dati delle varie applicazioni (nextcloud, matrix) | Spostabile | +| `/home/yunohost.multimedia` | Cartella di grandi dimensioni condivisa tra varie applicazioni (nextcloud, matrix) | Spostabile | +| `/var/lib/msql` | Database utilizzato dalle applicazioni | Per motivi di velocità è consigliato lasciarlo sul disco principale | +| `/var/lib/postgresql` | Database utilizzato dalle applicazioni | Per motivi di velocità è consigliato lasciarlo sul disco principale | +| `/var/mail` | Mail degli utenti | Spostabile | +| `/var/www` | Cartella delle applicazioni WEB | Per motivi di velocità è consigliato lasciarla sul disco principale | +| `/var/log` | Log degli eventi (messaggi di errore, connessioni...) | Questa cartella dovrebbe essere di dimensioni ridotte, in caso contrario potrebbe esserci un errore nella rotazione dei log che deve essere risolto. | +| `/opt` | Programmi e dipendenze di alcune applicazioni YunoHost | Per motivi di velocità è consigliato lasciare sul disco principale. Per le applicazioni nodejs è possibile recuperare dello spazio cancellando le versioni non in uso | +| `/boot` | Kernel e file di avvio | Non spostare se non perfettamente a conoscenza delle possibili conseguenze. Si possono eliminare vecchi kernel non in uso | + + +## 2. Collegare e identificare il disco + +Collegate il disco al server e identificate il nome assegnato dal sistema. + +Utilizzate il comando: + +```bash +lsblk +``` + +La risposta potrebbe essere qualcosa di simile + +```bash +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 931.5G 0 disk +└─sda1 8:1 0 931.5G 0 part +mmcblk0 179:0 0 14.9G 0 disk +├─mmcblk0p1 179:1 0 47.7M 0 part /boot +└─mmcblk0p2 179:2 0 14.8G 0 part / +``` + +In questo caso `mmcblk0` corrisponde ad una scheda SD di 16 GB (si nota che le partizioni `mmcblk0p1` e `mmcblk0p2` corrispondono rispettivamente alla partizione di `/boot` e alla partizione di sistema `/`). Il disco esterno collegato corrisponde a `sda`, ha una capacità di circa 1GB, e contiene una sola partizione `sda1` che non è montata (non ha nessun riferimento nella colonna "MOUNTPOINT"). + +! [fa=exclamation-triangle /] In alcuni casi il sistema operativo è installato su `sda` e di conseguenza il vostro disco sarà `sdb` + +!!! Suggerimento! se la dimensione del disco non è sufficiente per essere riconosciuto, potete scollegare il disco e eseguire il comando `lsblk`, ricollegare il disco, eseguire nuovamente `lsblk` e osservare le differenze di output. + +## 3. Formattare il disco (Se necessario) + +Se il vostro disco è formattato con un filesystem supportato da Linux (quindi non FAT32 o NTFS) potete andare al punto successivo, diversamente. + +Create un partizione sul disco: + +```bash +fdisk /dev/miodisco +``` + +digitate in sequenza `n`, `p`, `1`, `Invio`, `Invio`, `w` per creare una nuova partizione + +Controllate con `lsblk` che il vostro disco contenga solo una partizione. + +Prima di poter essere utilizzato il disco deve essere formattato. + +! [fa=exclamation-triangle /] **Se il vostro disco è già formattato potete saltare questa parte. La formattazione di un disco comporta la cancellazione di tutti i dati presenti! Ponete attenzione nel digitare il nome del disco, potreste formattare un disco diverso da quello dove volete intervenire! Nell'esempio sopra, il disco si chiama `/dev/sda`. Se il vostro disco è già formattato potete saltare questa parte. + +Per formattare la partizione digitate : + +```bash +mkfs.ext4 /dev/miodisco +# e poi 'y' per confermare +``` + +Sostituite `miodisco` con il nome della prima partizione del disco di destinazione, nel nostro esempio `sda1`. + +!!! Potete variare queste istruzioni se volete creare un volume raid 1 o cifrare la cartella. + +## 4. Montare il disco + +Contrariamente a Windows, dove i dischi sono contraddistinti da lette (C:/), in linux i dischi sono accessibili dall'albero del gestore dei file. "Montare" un disco significa renderlo accessibile nell'albero dei file. Sceglieremo di montare il disco in `/mnt/hdd` ma possiamo anche assegnare un nome di fantasia. (Ad esempio `/mnt/disco` ...). + +Iniziamo creando la directory: +```bash +mkdir /mnt/hdd +``` + +Montiamo il disco con il comando: + +```bash +mount /dev/miodisco /mnt/hdd +``` + +(In questo caso, `/dev/miodisco` corrisponde alla prima partizione del disco) + +## 5. Montare una cartella /mnt/hdd nella cartella che contiene i dati da spostare + +Ipotizzeremo, di seguito, lo spostamento delle mail e di una notevole quantità di dati delle applicazioni, che si trovano in `/home/yunohost.app`. + +### 5.1 Creazione delle sotto cartelle sul disco +Iniziamo creando due cartelle nel disco di destinazione. + +```bash +mkdir -p /mnt/hdd/home/yunohost.app +mkdir -p /mnt/hdd/var/mail +``` + +### 5.2 Passaggio alla modalità manutenzione +Precauzionalmente portiamo nello stato di manutenzione le applicazioni che potrebbero scrivere dei dati nella cartella che vogliamo spostare. + +Ad esempio, per nextcloud: + +```bash +sudo -u nextcloud /var/www/nextcloud/occ maintenance:mode --on +``` + +Per la mail: + +```bash +systemctl stop postfix +systemctl stop dovecot +``` + +! Se desiderate spostare dei database come ad esempio mariadb (mysql), dovete necessariamente fermare i servizi del database, pena la corruzione dei dati. + +### 5.3 Creazione dei punti di montaggio + +Procediamo con rinominare la cartella di origine e crearne una fittizia + +```bash +mv /home/yunohost.app /home/yunohost.app.bkp +mkdir /home/yunohost.app +mv /var/mail /var/mail.bkp +mkdir /var/mail +``` + +Servendoci del comando `mount --bind` montiamo la cartella del nostro disco nel nuovo ramo dell'albero dei file. + +```bash +mount --bind /mnt/hdd/home/yunohost.app /home/yunohost.app +mount --bind /mnt/hdd/var/mail /var/mail +``` + +### 5.4 Copia dei dati + +Copiamo quindi i dati, mantenendo le proprietà delle cartelle e dei file. Questa operazione può impiegare un po' di tempo, aprendo un altro terminale potete seguire la progressione dell'operazione osservando la dimensione del punto di montaggio con il comando `df -h` + +```bash +cp -a /home/yunohost.app.bkp/. /home/yunohost.app/ +cp -a /var/mail.bkp/. /var/mail/ +``` + +Terminata la copia, assicuratevi che sia andato tutto a buon fine con il comando `ls` + +```bash +ls -la /home/yunohost.app/ +ls -la /var/mail/ +``` + +### 5.5 Uscita dalla modalità manutenzione + +Da questo momento potete uscire dalla modalità manutenzione, il comando illustrato qui sotto va adattato in base ai servizi che avevate sospeso o arrestato. + +```bash +sudo -u nextcloud /var/www/nextcloud/occ maintenance:mode --off +systemctl start postfix +systemctl start dovecot +``` + +Dopo aver impartito i comandi di avvio, le applicazioni e i servizi sfrutteranno il disco esterno per i loro dati. Dobbiamo quindi effettuare qualche test per capire in quale misura la velocità di esecuzione è impattata dal disco esterno (in particolar modo se il disco utilizza l'interfaccia USB 2.0). + +## 6. Automatizzare il montaggio all'avvio + + +Fino ad ora, abbiamo montato manualmente il disco e le sotto cartelle. È però necessario configurare il sistema affinché il disco esterno venga montato in automatico ad ogni avvio. + +Se i test di velocità sono soddisfacenti, bisogna rendere definitivo il punto di montaggio. In caso contrario affrettatevi a fare dietro front iniziando a ripristinare la modalità di manutenzione. + +Iniziamo cercando l'UUID (universal identifier, identificatore universale) del nostro disco: + +```bash +blkid | grep "/dev/miodisco" +# Restituisce una stringa del tipo : +# /dev/sda1:UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" TYPE="ext4" PARTUUID="34e4b02c-02" +``` + +Aggiungiamo una riga di codice al file `/etc/fstab` deputato alla gestione dei montaggi dei dischi all'avvio. Aprite il file con `nano`: + +```bash +nano /etc/fstab +``` + +Digitiamo questa riga in fondo al file: + +```bash +UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" /mnt/hdd ext4 defaults,nofail 0 0 +/mnt/hdd/home/yunohost.app /home/yunohost.app none defaults,bind 0 0 +/mnt/hdd/var/mail /var/mail none defaults,bind 0 0 +``` + +(dovremo modificare la riga in base alle nostre scelte precedenti) + +Salvate le modifiche con CTRL+x e `o`. + +Riavviate il server per assicurarvi che il disco e le sotto cartelle vengano montate in automatico. + +## 7. Cancellare i dati precedenti +Quando siete sicuri che la configurazione sia corretta, potete procedere alla cancellazione della configurazione creata nel punto 5.3: + +```bash +rm -Rf /home/yunohost.app.bkp +rm -Rf /var/mail.bkp +``` + +### ![](image://tada.png?resize=32&classes=inline) Complimenti!!! + +Se siete giunti fino qui senza incidenti, avete configurato un server che sfrutta uno o più dischi per il salvataggio dei dati. + diff --git a/pages/02.administer/50.troubleshooting/20.ipv6/ipv6.fr.md b/pages/02.administer/50.troubleshooting/20.ipv6/ipv6.fr.md index eadb2cae..f1700a1b 100644 --- a/pages/02.administer/50.troubleshooting/20.ipv6/ipv6.fr.md +++ b/pages/02.administer/50.troubleshooting/20.ipv6/ipv6.fr.md @@ -25,7 +25,7 @@ Sur le panneau de gestion d'OVH, vous aller récupérer 3 informations : - l'adresse passerelle IPv6 - le préfixe IPv6. Les offres VPS SSD d'OVH ne fournissent qu'**une** seule adresse IPV6, le préfixe est donc `/128` -Sur votre VPS, vous aller créer une sauvegarde de votre fichier de configuration des interfaces réseau dans votre répertoire home avec la commande : `cp /etc/network/interfaces ~/interfaces`. +Sur votre VPS, vous allez créer une sauvegarde de votre fichier de configuration des interfaces réseau dans votre répertoire home avec la commande : `cp /etc/network/interfaces ~/interfaces`. 2 possibilités pour inscrire vos données ipv6 : 1/ vous pouvez modifier le fichier de configuration `/etc/network/interfaces` diff --git a/pages/02.administer/55.providers/10.isp/free/isp_free.fr.md b/pages/02.administer/55.providers/10.isp/free/isp_free.fr.md index 6520117a..35d056a1 100644 --- a/pages/02.administer/55.providers/10.isp/free/isp_free.fr.md +++ b/pages/02.administer/55.providers/10.isp/free/isp_free.fr.md @@ -19,7 +19,7 @@ Rendez-vous sur la [console d'administration du site de free](https://subscribe. ##### Freebox v6 (Revolution / Mini4k) -Allez à l’adresse : [mafreebox.free.fr](http://mafreebox.free.fr/) puis authentifiez-vous. +Allez à l’adresse : [mafreebox.freebox.fr](http://mafreebox.freebox.fr) puis authentifiez-vous. #### Ouverture des ports diff --git a/pages/06.contribute/10.packaging_apps/60.advanced/20.config_panels/config_panels.md b/pages/06.contribute/10.packaging_apps/60.advanced/20.config_panels/config_panels.md index 610895a0..c022bebf 100644 --- a/pages/06.contribute/10.packaging_apps/60.advanced/20.config_panels/config_panels.md +++ b/pages/06.contribute/10.packaging_apps/60.advanced/20.config_panels/config_panels.md @@ -84,7 +84,7 @@ The `bind` property allows to define where read and write the value bind to the #### Default behaviour -If you did not define a specific getter/setter (see below), and no `bind` argument was defined, YunoHost will read/write the value from/to the app's `/etc/yunohost/$app/settings.yml` file. +If you did not define a specific getter/setter (see below), and no `bind` argument was defined, YunoHost will read/write the value from/to the app's `/etc/yunohost/apps/$app/settings.yml` file. #### Read / write into a var of an actual configuration file From aac5d8c0271342cca8b764a73d9c758bde39b60f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sun, 30 Jul 2023 22:23:42 +0200 Subject: [PATCH 4/7] Rename 'intro to packaging' to 'packaging applications' : it's no intro, it's the chapter that contains all the info about packaging --- .../{packaging_apps_intro.fr.md => packaging_apps.fr.md} | 6 +++--- .../{packaging_apps_intro.md => packaging_apps.md} | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) rename pages/06.contribute/10.packaging_apps/{packaging_apps_intro.fr.md => packaging_apps.fr.md} (97%) rename pages/06.contribute/10.packaging_apps/{packaging_apps_intro.md => packaging_apps.md} (98%) diff --git a/pages/06.contribute/10.packaging_apps/packaging_apps_intro.fr.md b/pages/06.contribute/10.packaging_apps/packaging_apps.fr.md similarity index 97% rename from pages/06.contribute/10.packaging_apps/packaging_apps_intro.fr.md rename to pages/06.contribute/10.packaging_apps/packaging_apps.fr.md index cd3591ee..6c4d69ea 100644 --- a/pages/06.contribute/10.packaging_apps/packaging_apps_intro.fr.md +++ b/pages/06.contribute/10.packaging_apps/packaging_apps.fr.md @@ -1,12 +1,12 @@ --- -title: Introduction au packaging +title: Packaging d'applications template: docs taxonomy: category: docs routes: - default: '/packaging_apps_intro' + default: '/packaging_apps' aliases: - - '/packaging_apps' + - '/packaging_apps_intro' --- Cette documentation a pour but de fournir tous les concepts de base et le vocabulaire nécessaire pour comprendre le packaging d'applications. diff --git a/pages/06.contribute/10.packaging_apps/packaging_apps_intro.md b/pages/06.contribute/10.packaging_apps/packaging_apps.md similarity index 98% rename from pages/06.contribute/10.packaging_apps/packaging_apps_intro.md rename to pages/06.contribute/10.packaging_apps/packaging_apps.md index 4175018e..770973b9 100644 --- a/pages/06.contribute/10.packaging_apps/packaging_apps_intro.md +++ b/pages/06.contribute/10.packaging_apps/packaging_apps.md @@ -1,12 +1,12 @@ --- -title: Introduction to packaging +title: Packaging applications template: docs taxonomy: category: docs routes: - default: '/packaging_apps_intro' + default: '/packaging_apps' aliases: - - '/packaging_apps' + - '/packaging_apps_intro' --- This documentation is here to provide all the basic concepts and vocabulary needed to understand app packaging. From a58dbe6801c679c01f4c27018875ca3654d2f11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sun, 30 Jul 2023 22:26:25 +0200 Subject: [PATCH 5/7] Move packaging_apps/resources/appresources/packaging_apps_resources to packaging_apps/manifest/app_manifest_resources --- .../10.appresources/packaging_app_manifest_resources.md} | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) rename pages/06.contribute/10.packaging_apps/{80.resources/15.appresources/packaging_apps_resources.md => 10.manifest/10.appresources/packaging_app_manifest_resources.md} (99%) diff --git a/pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md b/pages/06.contribute/10.packaging_apps/10.manifest/10.appresources/packaging_app_manifest_resources.md similarity index 99% rename from pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md rename to pages/06.contribute/10.packaging_apps/10.manifest/10.appresources/packaging_app_manifest_resources.md index c78275be..4adfd90c 100644 --- a/pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md +++ b/pages/06.contribute/10.packaging_apps/10.manifest/10.appresources/packaging_app_manifest_resources.md @@ -1,5 +1,5 @@ --- -title: App resources +title: App manifest resources template: docs taxonomy: category: docs @@ -342,4 +342,3 @@ Provision a system user to be used by the app. The username is exactly equal to ### Deprovision - deletes the user and group - From e48a1e64d56b5995c909f2ef55f660f450bfa98c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sun, 30 Jul 2023 22:27:30 +0200 Subject: [PATCH 6/7] Move resources/helpers/packaging_apps_helpers to scripts/helpers/app_scripts_helpers --- pages/02.administer/60.extend/20.helpers/helpers.md | 2 +- .../10.helpers/packaging_app_scripts_helpers.md} | 9 ++++----- .../10.packaging_apps/20.scripts/scripts.md | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) rename pages/06.contribute/10.packaging_apps/{80.resources/11.helpers/packaging_apps_helpers.md => 20.scripts/10.helpers/packaging_app_scripts_helpers.md} (99%) diff --git a/pages/02.administer/60.extend/20.helpers/helpers.md b/pages/02.administer/60.extend/20.helpers/helpers.md index a7cb0340..9869ed97 100644 --- a/pages/02.administer/60.extend/20.helpers/helpers.md +++ b/pages/02.administer/60.extend/20.helpers/helpers.md @@ -1,5 +1,5 @@ --- title: App helpers template: docs -redirect: '/packaging_apps_helpers' +redirect: '/packaging_apps_scripts_helpers' --- diff --git a/pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md b/pages/06.contribute/10.packaging_apps/20.scripts/10.helpers/packaging_app_scripts_helpers.md similarity index 99% rename from pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md rename to pages/06.contribute/10.packaging_apps/20.scripts/10.helpers/packaging_app_scripts_helpers.md index 04c790da..5420003d 100644 --- a/pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md +++ b/pages/06.contribute/10.packaging_apps/20.scripts/10.helpers/packaging_app_scripts_helpers.md @@ -1,10 +1,12 @@ --- -title: App helpers +title: App scripts helpers template: docs taxonomy: category: docs routes: - default: '/packaging_apps_helpers' + default: '/packaging_apps_scripts_helpers' + aliases: + - '/packaging_apps_helpers' --- Doc auto-generated by [this script](https://github.com/YunoHost/yunohost/blob/7d0d82ae016ae3e7cdb06423b67678d7f7a5d9ca/doc/generate_helper_doc.py) on 11/04/2024 (YunoHost version 11.2.11.2) @@ -2680,6 +2682,3 @@ Requires YunoHost version 3.8.0 or higher. [Dude, show me the code!](https://github.com/YunoHost/yunohost/blob/7d0d82ae016ae3e7cdb06423b67678d7f7a5d9ca/helpers/utils#L1027) [/details] - ---- - diff --git a/pages/06.contribute/10.packaging_apps/20.scripts/scripts.md b/pages/06.contribute/10.packaging_apps/20.scripts/scripts.md index 69910348..705a03ec 100644 --- a/pages/06.contribute/10.packaging_apps/20.scripts/scripts.md +++ b/pages/06.contribute/10.packaging_apps/20.scripts/scripts.md @@ -85,7 +85,7 @@ ynh_app_setting_set --app=$app --key=db_name --value=$db_name ## Helper system -We call helpers a set of custom bash function created by the YunoHost project to standardize common operations accross all apps. They are all prefixed with `ynh_`. The full list and documentation of these helpers is available on [this page](/packaging_apps_helpers). Some of these helpers are now partially obsolete as they are now handled by the core via app resources. +We call helpers a set of custom bash function created by the YunoHost project to standardize common operations accross all apps. They are all prefixed with `ynh_`. The full list and documentation of these helpers is available on [this page](/packaging_apps_scripts_helpers). Some of these helpers are now partially obsolete as they are now handled by the core via app resources. Here is the list of the major ones: From 7cd7ec8a90197a1590cce467b25827e0722d48a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sun, 30 Jul 2023 23:39:46 +0200 Subject: [PATCH 7/7] Move packaging_apps/resources/bash_tips/ to packaging_apps/scripts/bash_tips --- .../20.bash_tips/shell_variables_scope.fr.md | 0 .../20.bash_tips/shell_variables_scope.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename pages/06.contribute/10.packaging_apps/{80.resources => 20.scripts}/20.bash_tips/shell_variables_scope.fr.md (100%) rename pages/06.contribute/10.packaging_apps/{80.resources => 20.scripts}/20.bash_tips/shell_variables_scope.md (100%) diff --git a/pages/06.contribute/10.packaging_apps/80.resources/20.bash_tips/shell_variables_scope.fr.md b/pages/06.contribute/10.packaging_apps/20.scripts/20.bash_tips/shell_variables_scope.fr.md similarity index 100% rename from pages/06.contribute/10.packaging_apps/80.resources/20.bash_tips/shell_variables_scope.fr.md rename to pages/06.contribute/10.packaging_apps/20.scripts/20.bash_tips/shell_variables_scope.fr.md diff --git a/pages/06.contribute/10.packaging_apps/80.resources/20.bash_tips/shell_variables_scope.md b/pages/06.contribute/10.packaging_apps/20.scripts/20.bash_tips/shell_variables_scope.md similarity index 100% rename from pages/06.contribute/10.packaging_apps/80.resources/20.bash_tips/shell_variables_scope.md rename to pages/06.contribute/10.packaging_apps/20.scripts/20.bash_tips/shell_variables_scope.md