From 87ef61aaf123bb8c305e5a9fb5fefd9f1f45535c Mon Sep 17 00:00:00 2001 From: tituspijean Date: Sun, 17 Sep 2023 18:49:57 +0200 Subject: [PATCH 01/11] Remove Koel from wishlist --- pages/04.applications/99.wishlist/apps_wishlist.md | 1 - 1 file changed, 1 deletion(-) diff --git a/pages/04.applications/99.wishlist/apps_wishlist.md b/pages/04.applications/99.wishlist/apps_wishlist.md index 0f14abcf..497d9b7f 100644 --- a/pages/04.applications/99.wishlist/apps_wishlist.md +++ b/pages/04.applications/99.wishlist/apps_wishlist.md @@ -159,7 +159,6 @@ You can [contribute to this list by adding something you'd like to be packaged]( | [Kitchenowl](https://kitchenowl.org/) | grocery list and recipe manager | [Upstream](https://github.com/TomBursch/kitchenowl) | | | [Klaxon](https://newsklaxon.org) | Easily create alerts for changes on the web | [Upstream](https://github.com/themarshallproject/klaxon) | | | [Known](https://withknown.com) | | [Upstream](https://github.com/idno/known) | | -| [Koel](https://koel.phanan.net) | | [Upstream](https://github.com/phanan/koel) | | | [Koha](https://koha-community.org/) | The world's first free and open source library system | [Upstream](https://git.koha-community.org/Koha-community/Koha) | | | Kontalk | | [Upstream](https://github.com/kontalk) | | | [Koozip](https://koozic.net) | | [Upstream](https://github.com/DocMarty84/koozic) | | From 38c510269b8f82839668e8ca98ff26219429ebe9 Mon Sep 17 00:00:00 2001 From: Aaron <69819346+aarontrom@users.noreply.github.com> Date: Mon, 18 Sep 2023 00:25:52 +0200 Subject: [PATCH 02/11] Update command_line.de.md added german translation --- .../15.command_line/command_line.de.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/pages/02.administer/15.admin_guide/15.command_line/command_line.de.md b/pages/02.administer/15.admin_guide/15.command_line/command_line.de.md index 47e37850..432597fc 100644 --- a/pages/02.administer/15.admin_guide/15.command_line/command_line.de.md +++ b/pages/02.administer/15.admin_guide/15.command_line/command_line.de.md @@ -47,49 +47,49 @@ Nach dem allerersten Login sollte man das root Passwort ändern. Der Server kön Wir sind nun bereit, mit der [Postinstallation](/postinstall) zu beginnen. -## After installing YunoHost +## Nach der Installation von YunoHost -If you installed your server at home and are attempting to connect from outside your local network, make sure port 22 is correctly forwarded to your server. (Reminder : since YunoHost 3.4 you should connect using the `admin` user !) +Wenn du deinen Server zu Hause installiert hast und versuchst, dich von außerhalb deines lokalen Netzwerks zu verbinden, stell sicher, dass Port 22 korrekt an deinen Server weitergeleitet wird. (Zur Erinnerung: seit YunoHost 3.4 solltest du dich mit dem Benutzer `admin` verbinden). -If you only know the IP address of your server : +Wenn du nur die IP-Adresse deines Servers kennst : ```bash ssh admin@111.222.333.444 ``` -Then, you need to enter your administrator password created at [post-installation step](/postinstall). +Dann musst du dein Administratorkennwort eingeben, das du unter [Post-Installationsschritt](/postinstall) erstellt hast. -If you configured your DNS (or tweaked your `/etc/hosts`), you can simply use your domain name : +Wenn du dein DNS konfiguriert hast (oder deine `/etc/hosts` optimiert hast), kannst du einfach deinen Domainnamen verwenden: ```bash ssh admin@your.domain.tld ``` -If you changed the SSH port, you need to add `-p ` to the command, e.g. : +Wenn du den SSH-Port geändert hast, musst du `-p ` an den Befehl anhängen, z.B. : ```bash ssh -p 2244 admin@your.domain.tld ``` -!!! If you are connected as `admin` and would like to become `root` for more comfort (e.g. to avoid typing `sudo` in front of every command), you can become `root` using the command `sudo su`. +!!! Wenn du als `admin` verbunden bist und aus Bequemlichkeit `root` werden möchtest (z.B. um nicht vor jedem Befehl `sudo` eintippen zu müssen), kannst du mit dem Befehl `sudo su` `root` werden. -## Which users? +## Welche Benutzer? -By default, only the `admin` user can log in to YunoHost SSH server. +Standardmäßig kann sich nur der Benutzer `admin` am YunoHost SSH-Server anmelden. -YunoHost's users created via the administration interface are managed by the LDAP directory. By default, they can't connect via SSH for security reasons. If you want some users to have SSH access enabled, use the command: +Die über die Administrationsoberfläche angelegten Benutzer von YunoHost werden über das LDAP-Verzeichnis verwaltet. Standardmäßig können sie sich aus Sicherheitsgründen nicht über SSH anmelden. Wenn du möchtest, dass einige Benutzer SSH-Zugang haben, verwende den Befehl: ```bash yunohost user permission add ssh.main ``` -It is also possible to remove SSH access using the following: +Es ist auch möglich, den SSH-Zugang wie folgt zu entfernen: ```bash yunohost user permission remove ssh.main ``` -Finally, it is possible to add, delete and list SSH keys, to improve SSH access security, using the commands: +Schließlich ist es möglich, SSH-Schlüssel hinzuzufügen, zu löschen und aufzulisten, um die Sicherheit des SSH-Zugangs zu verbessern, indem man die Befehle verwendet: ```bash yunohost user ssh add-key @@ -97,20 +97,20 @@ yunohost user ssh remove-key yunohost user ssh list-keys ``` -## Security and SSH +## Sicherheit und SSH -N.B. : `fail2ban` will ban your IP for 10 mimutes if you perform 5 failed login attempts. If you need to unban the IP, have a look at the page about [Fail2Ban](/fail2ban) +N.B.: `fail2ban` sperrt deine IP für 10 Minuten, wenn du 5 fehlgeschlagene Login-Versuche durchführst. Wenn du die IP-Sperre aufheben willst, schau dir die Seite über [Fail2Ban](/fail2ban) an. -A more extensive discussion about security & SSH can be found on the [dedicated page](/security). +Eine ausführlichere Diskussion über Sicherheit & SSH findest du auf der [dedicated page](/security). -## YunoHost command line +## YunoHost Kommandozeile -!!! Providing a full tutorial about the command line is quite beyond the scope of the YunoHost documentation : for this, consider reading a dedicated tutorial such as [this one](https://ryanstutorials.net/linuxtutorial/) or [this one](http://linuxcommand.org/). But be reassured that you don't need to be a CLI expert to start using it ! +!!! Ein vollständiges Tutorial über die Kommandozeile würde den Rahmen der YunoHost-Dokumentation sprengen: Lies dazu am besten ein spezielles Tutorial wie [dieses](https://ryanstutorials.net/linuxtutorial/) oder [dieses](http://linuxcommand.org/). Aber sei versichert, dass du kein CLI-Experte sein musst, um es zu benutzen! -The `yunohost` command can be used to administer your server and perform the various actions similarly to what you do on the webadmin. The command must be launched either from the `root` user or from the `admin` user by preceeding them with `sudo`. (ProTip™ : you can become `root` with the command `sudo su` as `admin`). +Der Befehl "yunohost" kann zur Verwaltung deines Servers verwendet werden und führt verschiedene Aktionen aus, die denen des Webadmin ähneln. Der Befehl muss entweder vom `root`-Benutzer oder vom `admin`-Benutzer durch Voranstellen von `sudo` gestartet werden. (ProTip™ : Du kannst `root` mit dem Befehl `sudo su` als `admin` werden). -YunoHost commands usually have this kind of structure : +YunoHost-Befehle haben normalerweise diese Art von Struktur: ```bash yunohost app install wordpress --label Webmail @@ -119,7 +119,7 @@ yunohost app install wordpress --label Webmail category action argument options ``` -Don't hesitate to browse and ask for more information about a given category or action using the the `--help` option. For instance, those commands : +Zögere nicht, nach weiteren Informationen zu einer bestimmten Kategorie oder Aktion zu fragen, indem du die Option `--help` verwendest. Zum Beispiel listen diese Befehle : ```bash yunohost --help @@ -127,4 +127,4 @@ yunohost user --help yunohost user create --help ``` -will successively list all the categories available, then the actions available in the `user` category, then the usage of the action `user create`. You might notice that the YunoHost command tree is built with a structure similar to the YunoHost admin pages. +nacheinander alle verfügbaren Kategorien auf, dann die in der Kategorie `Benutzer` verfügbaren Aktionen, dann die Verwendung der Aktion `Benutzer erstellen`. Du wirst feststellen, dass der YunoHost-Befehlsbaum eine ähnliche Struktur aufweist wie die YunoHost-Admin-Seiten. From 09971a0758d0779fc044143ffae0170f0bfabad8 Mon Sep 17 00:00:00 2001 From: Yorick Schilling <78358953+YSchilling@users.noreply.github.com> Date: Tue, 19 Sep 2023 16:46:43 +0200 Subject: [PATCH 03/11] Update try_yunohost.md Added username hint to the admin panel description --- pages/01.overview/15.try_yunohost/try_yunohost.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/01.overview/15.try_yunohost/try_yunohost.md b/pages/01.overview/15.try_yunohost/try_yunohost.md index 0496de0b..63672d64 100644 --- a/pages/01.overview/15.try_yunohost/try_yunohost.md +++ b/pages/01.overview/15.try_yunohost/try_yunohost.md @@ -12,10 +12,11 @@ routes: [center] [columns] [[fa=user /] User interface](https://demo.yunohost.org/?target=_blank&classes=btn,btn-lg,btn-success) -Username: demo +Username: demo Password: demo [[fa=cog /] Administration interface](https://demo.yunohost.org/yunohost/admin/?target=_blank&classes=btn,btn-lg,btn-primary) +Username: demo Password: demo [/columns] From 5a397578dadbca1c6260f30f3675c15cc8e0b747 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Tue, 19 Sep 2023 16:54:10 +0200 Subject: [PATCH 04/11] demo: propagate previous commit on other languages --- pages/01.overview/15.try_yunohost/try_yunohost.ar.md | 1 + pages/01.overview/15.try_yunohost/try_yunohost.ca.md | 1 + pages/01.overview/15.try_yunohost/try_yunohost.de.md | 1 + pages/01.overview/15.try_yunohost/try_yunohost.es.md | 1 + pages/01.overview/15.try_yunohost/try_yunohost.fr.md | 1 + pages/01.overview/15.try_yunohost/try_yunohost.it.md | 3 ++- 6 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pages/01.overview/15.try_yunohost/try_yunohost.ar.md b/pages/01.overview/15.try_yunohost/try_yunohost.ar.md index 3ee773d8..4d16b9af 100644 --- a/pages/01.overview/15.try_yunohost/try_yunohost.ar.md +++ b/pages/01.overview/15.try_yunohost/try_yunohost.ar.md @@ -16,6 +16,7 @@ routes: كلمة السر : demo [[fa=cog /] واجهة الإدارة](https://demo.yunohost.org/yunohost/admin/?target=_blank&classes=btn,btn-lg,btn-primary) +إسم المستخدم : demo كلمة السر : demo [/columns] diff --git a/pages/01.overview/15.try_yunohost/try_yunohost.ca.md b/pages/01.overview/15.try_yunohost/try_yunohost.ca.md index 2f285899..b1483701 100644 --- a/pages/01.overview/15.try_yunohost/try_yunohost.ca.md +++ b/pages/01.overview/15.try_yunohost/try_yunohost.ca.md @@ -16,6 +16,7 @@ Nom d'usuària: demo Contrasenya: demo [[fa=cog /] Interfície d'administració](https://demo.yunohost.org/yunohost/admin/?target=_blank&classes=btn,btn-lg,btn-primary) +Nom d'usuària: demo Contrasenya: demo [/columns] diff --git a/pages/01.overview/15.try_yunohost/try_yunohost.de.md b/pages/01.overview/15.try_yunohost/try_yunohost.de.md index fbcfb2a1..a76aba18 100644 --- a/pages/01.overview/15.try_yunohost/try_yunohost.de.md +++ b/pages/01.overview/15.try_yunohost/try_yunohost.de.md @@ -16,6 +16,7 @@ Username: demo Password: demo [[fa=cog /] Verwaltung](https://demo.yunohost.org/yunohost/admin/?target=_blank&classes=btn,btn-lg,btn-primary) +Username: demo Password: demo [/columns] diff --git a/pages/01.overview/15.try_yunohost/try_yunohost.es.md b/pages/01.overview/15.try_yunohost/try_yunohost.es.md index 0709a18e..69705f76 100644 --- a/pages/01.overview/15.try_yunohost/try_yunohost.es.md +++ b/pages/01.overview/15.try_yunohost/try_yunohost.es.md @@ -16,6 +16,7 @@ Usuario : demo Contraseña : demo [[fa=cog /] Interfaz de administración](https://demo.yunohost.org/yunohost/admin/?target=_blank&classes=btn,btn-lg,btn-primary) +Usuario : demo Contraseña : demo [/columns] diff --git a/pages/01.overview/15.try_yunohost/try_yunohost.fr.md b/pages/01.overview/15.try_yunohost/try_yunohost.fr.md index 7d81bedf..3ea822d6 100644 --- a/pages/01.overview/15.try_yunohost/try_yunohost.fr.md +++ b/pages/01.overview/15.try_yunohost/try_yunohost.fr.md @@ -16,6 +16,7 @@ Utilisateur : demo Mot de passe : demo [[fa=cog /] Interface d’administration](https://demo.yunohost.org/yunohost/admin/?target=_blank&classes=btn,btn-lg,btn-primary) +Utilisateur : demo Mot de passe : demo [/columns] diff --git a/pages/01.overview/15.try_yunohost/try_yunohost.it.md b/pages/01.overview/15.try_yunohost/try_yunohost.it.md index 916e4770..421511ab 100644 --- a/pages/01.overview/15.try_yunohost/try_yunohost.it.md +++ b/pages/01.overview/15.try_yunohost/try_yunohost.it.md @@ -16,9 +16,10 @@ Nome utente: demo Password: demo [[fa=cog /] Interfaccia amministrazione](https://demo.yunohost.org/yunohost/admin/?target=_blank&classes=btn,btn-lg,btn-primary) +Nome utente: demo Password: demo [/columns] [/center] -!!!! **Il server demo è gentilmente fornito da [Gitoyen](https://www.gitoyen.net?target=_blank) [fa=heart /]** \ No newline at end of file +!!!! **Il server demo è gentilmente fornito da [Gitoyen](https://www.gitoyen.net?target=_blank) [fa=heart /]** From 04afe756998ad9a70d21366ed2f1f1b7794dd56f Mon Sep 17 00:00:00 2001 From: Aaron <69819346+aarontrom@users.noreply.github.com> Date: Tue, 19 Sep 2023 18:43:55 +0200 Subject: [PATCH 05/11] Create packaging_apps_intro_de.md added german translation --- .../packaging_apps_intro_de.md | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 pages/06.contribute/10.packaging_apps/packaging_apps_intro_de.md diff --git a/pages/06.contribute/10.packaging_apps/packaging_apps_intro_de.md b/pages/06.contribute/10.packaging_apps/packaging_apps_intro_de.md new file mode 100644 index 00000000..a5671b8c --- /dev/null +++ b/pages/06.contribute/10.packaging_apps/packaging_apps_intro_de.md @@ -0,0 +1,117 @@ +--- +Titel: Einführung in die Paketierung +Template: docs +Taxonomie: + Kategorie: docs +Routen: + Standard: '/packaging_apps_intro' + Aliases: + - '/packaging_apps' +--- + +In dieser Dokumentation findest du alle grundlegenden Konzepte und Vokabeln, die du zum Verständnis von Anwendungspaketen benötigst. + +Wir werden detailliert beschreiben, was ein YunoHost-Anwendungspaket ist, wie es funktioniert, wie du dein eigenes Paket erstellst und wie du Hilfe findest, wenn du diese benötigst. + + +## 1. Paketierungs-Philosophie + +Die Möglichkeit, Anwendungen einfach aus einem Katalog zu installieren, ist eine Schlüsselfunktion von YunoHost. Während du in den Prozess der YunoHost-Anwendungspaketierung eintauchst, solltest du dich an diese Schlüsselprinzipien erinnern: + +- **Der Administrator sollte keinen Doktortitel in Informatik haben, um deine Anwendung installieren, konfigurieren und nutzen zu können**: Gehe davon aus, dass der Administrator keine fortgeschrittenen Computerkenntnisse hat; + +- **Weniger ist mehr**, **Keep it simple!**: überfrachte den Administrator nicht mit Dutzenden von technischen Fragen; + +- **Die Dinge sollten sofort funktionieren**: zum Beispiel sollte der Administrator den Installationsprozess nicht manuell abschließen müssen, indem er die Zugangsdaten für die Datenbank manuell ausfüllt; + +- Bei der Paketierung von YunoHost-Apps geht es **nicht nur um die Installation** von Quellen und Abhängigkeiten: Es geht auch um Wartung (Upgrade, Backup...) und die Integration der App in das YunoHost-Ökosystem (NGINX, SSO/LDAP, Fail2Ban, Anwendungskatalog, UI/UX...) + + +## 2. Voraussetzungen + +In dieser Dokumentation wird vorausgesetzt, dass: + +1. Du selbst bereits YunoHost-Administrator bist und weißt, wie der Installationsablauf aussieht;) +2. Du bist einigermaßen vertraut mit Systemadministration und Bash-Programmierung (oder bereit, diese zu lernen); +3. Du bist einigermaßen vertraut mit Git (oder bereit, es zu lernen); +4. Du hast Spaß am Basteln und am Debuggen von Computerkram im Allgemeinen. + +Du bist auch eingeladen, dem [app packaging chatroom](/chat_rooms) beizutreten, um alle Fragen zu stellen, die du vielleicht hast! + +Irgendwann wirst du auch eine Entwicklungs-/Testumgebung haben wollen, entweder mit [VirtualBox](/packaging_apps_virtualbox) oder [LXC/ynh-dev](https://github.com/yunohost/ynh-dev), das für den Kern gedacht ist, aber durchaus auch für die Entwicklung von Anwendungen verwendet werden kann. Du kannst auch einen Dev/Test-VPS bei deinem bevorzugten Hosting-Anbieter einrichten oder sogar auf deinem Prod entwickeln, wenn du gerne gefährlich lebst ;). + +## 3. Anmerkungen zur Geschichte der YunoHost-App-Pakete + +Viele Dinge bei YunoHost und dem YunoHost App-Packaging-Format sind historisch bedingt oder wurden auf organische Art und Weise entwickelt. Daher können sich einige Aspekte zu Recht alt anfühlen. + +Die **"v0" der App-Paketierung** bestand aus dem Schreiben roher Bash-Skripte ohne echte Standardisierung/Einschränkung. + +Mit der Zeit wurden wiederkehrende Schritte (wie die Installation von Abhängigkeiten mit apt oder die Einrichtung der NGINX-Konfiguration) in standardisierte Bash-Funktionen, auch "Helfer" genannt, formalisiert. Dies markierte so ziemlich **den Beginn der Ära der "v1"-Pakete**. + +Verschiedene Tools wurden implementiert, um die Anwendung zu testen und ihr Verhalten zu standardisieren. + +Nach einer Weile bildete sich eine Reihe von gemeinsamen Praktiken und Konventionen heraus, die sich in der `example_ynh`-Vorlagenanwendung widerspiegeln und erhalten. Während es für Entwickler verlockend ist, die Namensschemata von Variablen zu ändern oder die Struktur von Skripten zu refaktorisieren, stellt sich heraus, dass es sogar noch wichtiger ist, sich an die gemeinsamen Praktiken zu halten (auch wenn sie willkürlich und nicht elegant sind), um die Wartung aller Anwendungen durch jedes Mitglied der Paketierungsgemeinschaft über alle Repos hinweg zu erleichtern! + +Nichtsdestotrotz war die inhärente Struktur von Anwendungen, auch wenn es Helfer gab, schwer und langweilig zu warten, da sie zu viele redundante Codestücke enthielt oder mit seltsamen historischen Konventionen gefüllt war. **Ein neues v2-Format** [wurde entworfen und zu YunoHost 11.1 Anfang 2023 hinzugefügt] (https://github.com/YunoHost/yunohost/pull/1289) in der Hoffnung, das App-Packaging zu modernisieren und zu vereinfachen und die UI/UX von YunoHost zu verbessern. + +Es wird jedoch [**ein zukünftiges v3-Format**](https://github.com/YunoHost/issues/issues/2136) geben, um die Paketierung von Anwendungen weiter zu vereinfachen (z.B. durch die Übernahme von NGINX/systemd/... Konfigurationen, die Beseitigung der Notwendigkeit, Skripte zum Entfernen/Backup/Wiederherstellen manuell zu schreiben, usw.) + + +## 4. Allgemeiner Überblick über die Struktur einer YunoHost-App + +Eine YunoHost-Anwendung besteht aus einem Git-Repository. Wir empfehlen dir, einen Blick auf diese Code-Repositories zu werfen, um dich mit der Struktur der App-Repositories vertraut zu machen: +- [die `helloworld_ynh` App](https://github.com/YunoHost-Apps/helloworld_ynh) +- [die `example_ynh` app](https://github.com/YunoHost/example_ynh), die alle gängigen Funktionen und empfohlenen Formatierungen veranschaulicht +- Deine bevorzugte "Real-Life"-App in der [YunoHost-Apps-Organisation](https://github.com/orgs/YunoHost-Apps/repositories) + +Unter den in einem Paket enthaltenen Dateien sind die wichtigsten: + +- das **Anwendungsmanifest** `manifest.toml` (oder `.json` in der Vergangenheit) + - Dies kann als der Ausweis der Anwendung angesehen werden, der verschiedene Metadaten enthält. + - Sie enthält auch die Fragen, die bei der Installation der Anwendung gestellt werden. + - und eine Reihe von "Ressourcen" zum Initialisieren, wie z.B. herunterzuladende Quellen oder zu installierende apt-Abhängigkeiten +- **scripts/** enthält eine Reihe von Bash-Skripten, die den in YunoHost angebotenen Aktionen entsprechen + - `_common.sh`: gemeinsame Variablen oder eigene Funktionen, die in anderen Skripten enthalten sind + - `install`/`remove`: die Installations- und Deinstallationsprozedur + - `upgrade`: die Upgrade-Prozedur + - `backup`/`restore`: die Sicherungs-/Wiederherstellungsprozeduren + - (`change_url`): Ändern des Ortes, an dem die Anwendung in Bezug auf die Webzugriffsurl installiert ist +- **conf/** enthält eine Reihe von Konfigurationsvorlagen, die bei der Installation der Anwendung verwendet werden. Hier sind einige Beispiele für häufig vorkommende Dateien: + - `nginx.conf`: die NGINX (=Webserver) Konfigurationsvorlage für diese Anwendung + - systemd.service": die Konfigurationsvorlage für den systemd-Dienst für diese Anwendung + - config.json/yaml/???`: die Konfigurationsvorlage für die Anwendung + +Grob gesagt besteht die Installation selbst im Allgemeinen aus den folgenden Vorgängen (die jedoch je nach Komplexität und von der App verwendeten Technologien variieren können) - nicht unbedingt in dieser genauen Reihenfolge: + +1. YunoHost holt das Git-Repository des Pakets +2. YunoHost stellt dem Administrator die in `manifest.toml` definierten Fragen zur Installation +3. Der Administrator füllt das Formular aus und startet die Installation +4. YunoHost stellt eine Reihe von technischen Voraussetzungen (genannt 'Ressourcen') bereit, wie z.B.: + - Initialisierung des Schlüssel/Wertspeichers der Anwendung `settings.yml` mit den Antworten des Administrators auf das Installationsformular + - legt einen UNIX-Systembenutzer für diese Anwendung an + - installiert apt-Abhängigkeiten, die für diese Anwendung benötigt werden + - wählt einen Port für internes Reverse-Proxying aus + - initialisiert eine leere SQL-Datenbank + - konfiguriert SSOwat-Berechtigungen + - ... +5. Das eigentliche Skript `Install` wird ausgeführt und erledigt in der Regel: + - Holen und Bereitstellen der App-Quellen + - die App konfigurieren (typischerweise DB-Anmeldedaten, interner Reverse-Proxy-Port...) + - Hinzufügen der NGINX-Konfiguration + - Hinzufügen der systemd-Konfiguration für den Daemon der Anwendung + - Startet den Daemon der Anwendung + - verschiedene Feinabstimmungen zur Fertigstellung +6. ??? +7. Die Anwendung ist einsatzbereit! + + +## 5. Erstellen deines allerersten YunoHost-Pakets + +Wenn du nicht wirklich bei Null anfangen willst oder von [`example_ynh`](https://github.com/YunoHost/example_ynh), ist eine gängige Praxis, eine Anwendung zu identifizieren, die derjenigen ähnlich ist, die du zu paketieren versuchst - typischerweise, weil du dich auf die gleichen Technologien stützt -, das entsprechende Code-Repository zu klonen und die verschiedenen Dateien anzupassen. + +TODO/FIXME : hier sollten wir eine Reihe von bekannten Anwendungen für klassische Technologien auflisten + +- PHP-Anwendungen: +- NodeJS-Apps: +- Python-Apps: +- ??? From 027bff76692ee25b5a91f86baf087ff58cb2e5fb Mon Sep 17 00:00:00 2001 From: orhtej2 <2871798+orhtej2@users.noreply.github.com> Date: Thu, 21 Sep 2023 08:26:12 +0200 Subject: [PATCH 06/11] Added docs for umami (#2346) --- images/umami-logo.png | Bin 0 -> 3501 bytes .../10.docs/umami/app_umami.md | 53 ++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 images/umami-logo.png create mode 100644 pages/04.applications/10.docs/umami/app_umami.md diff --git a/images/umami-logo.png b/images/umami-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..14c12ed9554fb53bb6d84db03d2bebf33b9e2dc3 GIT binary patch literal 3501 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 K!s>LKWBvo&K&cM^ literal 0 HcmV?d00001 diff --git a/pages/04.applications/10.docs/umami/app_umami.md b/pages/04.applications/10.docs/umami/app_umami.md new file mode 100644 index 00000000..6aca21da --- /dev/null +++ b/pages/04.applications/10.docs/umami/app_umami.md @@ -0,0 +1,53 @@ +--- +title: umami +template: docs +taxonomy: + category: docs, apps +routes: + default: '/app_umami' +--- + +![umami's logo](image://umami-logo.png?resize=100) + + +[![Install umami with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=umami) +[![Integration level](https://dash.yunohost.org/integration/umami.svg)](https://dash.yunohost.org/appci/app/umami) + +**Umami** is a simple, fast, privacy-focused alternative to Google Analytics. + +## Getting Started +- Install `umami` on dedicated domain (does not support subpaths!) +- After installation the default user is `admin` with password `umami`. Change these as soon as possible! + +## Upgrade +To upgrade the app once a new `umami` version is available, simply run in a local shell via ssh or otherwise: +`sudo yunohost app upgrade umami -u https://github.com/YunoHost-Apps/umami_ynh` + +### Migrating from 1.x to 2.x +Upgrading from 1.x series to 2.x is a multi-step process that cannot be automated. It involves: +- Upgrade to 1.40 - the latest version in 1.x series. Intermediate steps may include upgrade to 1.33 (first version to use `prisma` for schema versioning) and 1.33.1 (which introduces breaking `prisma` change). +- Running dedicated script for v1 DB to v2 DB migration +- Upgrading to latest and greatest in 2.x series. + +The script to perform this step is as following (assuming this is the first instance, named `umami`. If it's the second instance use `umami__2` etc.): + + +``` +# Install latest 1.x version from dedicated branch +$ sudo yunohost app upgrade umami -u https://github.com/orhtej2/umami_ynh/tree/v1.40-enh + +# Run migrations +$ cd /var/www/umami +$ yarn add @umami/migrate-v1-v2 +$ npx @umami/migrate-v1-v2 + +# Update to latest version +$ sudo yunohost app upgrade umami -u https://github.com/YunoHost-Apps/umami_ynh +``` + +## Useful links + +* Upstream app code repository: [https://github.com/umami-software/umami](https://github.com/umami-software/umami) +* Docs: [https://umami.is/docs/](https://umami.is/docs/) +* Application software repository: [https://github.com/YunoHost-Apps/umami_ynh](https://github.com/YunoHost-Apps/umami_ynh) +* Report a bug: [https://github.com/YunoHost-Apps/umami_ynh/issues](https://github.com/YunoHost-Apps/umami_ynh/issues) From d12048f80bd2cc5bf5861f0dd520c8d7c2f113d6 Mon Sep 17 00:00:00 2001 From: orhtej2 <2871798+orhtej2@users.noreply.github.com> Date: Thu, 21 Sep 2023 08:27:01 +0200 Subject: [PATCH 07/11] Added skeleton SnappyMail docs. (#2345) * Added skeleton SnappyMail docs. * Added missing backtick * Fixed typo --- images/snappymail_logo.png | Bin 0 -> 2713 bytes .../10.docs/rainloop/app_rainloop.md | 6 +++ .../10.docs/snappymail/app_snappymail.md | 44 ++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 images/snappymail_logo.png create mode 100644 pages/04.applications/10.docs/snappymail/app_snappymail.md diff --git a/images/snappymail_logo.png b/images/snappymail_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..213feded92e393e3beb048e3a95483a8998290e2 GIT binary patch literal 2713 zcma)8dpwlc8-HgEVJgkEl68$N8ccRG%Dq@>l&pIgGf}c7cFO(I3_q7qX(G3h`&vqf zHgX-wEv##VAqG)yGxKvB=C-f)^ZV>?`)l7n-t#^0dCocC=leY8c~63^jny8>ZzTZ$ z*mLHzg&hDuKnMZE#lXh>MzJ>lND|IioOB2oTb}TzI9^uV#hN_vgS|ml;x9hi`fss5 zpGw5x7u`gYln*s)Waz7D#r!B5P0%?MbCNE1GGFF8IxROkRy@Hh`YLufwWBcXCA=ax z0gln*dam_|&ouNl`m{N=KY6%l9K2#YzZ%8G&I?Y=Z{1=x%xBLVAwUxUc+B2+j1ko} z3-u6eE@k8(LQZA68lfwXpgrWH*D1xL<9*3D5xR8Ts^5YKi3=`xTX;#@v* zb7j1yO6Qtg$&e?#>N zdF70j1ki{mU&1O=>=xo!y^&Ctx}fXhH@dV7Lu4}D-m_ls zQd;VmnfT?+o{G@bxsZ*~EA&Q{>n}#{8i#MR#>*CXxiY4z9;ogEoEVs{j&`67yGd!6SK-RNH`M@X zNuji8E-crTk>d zW<}PyP9?3l;0bB{i2!@epq6y}Em;I26LWo`W2V%lLdEHs%OOZJjlfx454)R~*s4l3 zLL$;}2#u~v(elFsz8Ei0Pn8d$^I0LxhD}LS)E+rZOHY=e7k_)be{yni)v#bNy}EPN z$f?vd@N?MhWsHf5q72$YYfY~kC%IBZ_e0^1Qx%QBtqWQ{vUb~*c0f=w$fwGm_+EIh z>D2pg7T>8y<=ooVY!nK(A#43sUh4}(#(1b(m2Uz?&vbSxPf*rgP4|Ir_F`RGM`e;nCmR+6z_Pzv7V+*t`_Ue|s>%0O}&Gjnj*zRe)8ZHnlQYaLhW2uB)+kw>dXR22K7v!X!@C*p%c*Pp0^B*_`G7%S<$YxCRffOb z8wJx#E9$4@m+^50{49a2Ex6f)g5WX=*l~r#Nq@OBD@U8Vh}$@<0g0hCgXyz_qb~eNZ2nzur*Hv%V?Ep8(7?Z$9~rgS{awE{t$L;HdJSi z^y(k_lPz#`z3s>i9G}l;4_KoEwRokMUZLQGGT3+O>ND+1q`Q^{KXrJmt*^I&*7D$a zkR)e2KZRz5KlXlcfn&M<)>Bu2KOui#YwGTD3y8E_MM^6H4B@?qLIbFRc0%v(J$IgRHV>}wiCK3 z^e7NNpeKR&0X+}I$@B^kC(~bpIEmg5;v_mloD|r8%CFsPcMS9>@SG`4jv_~v0lUSQ zu89%|1SJ$80^>SC4r+`PsSWz?KX{Y_12h0L2p|dA0%R!g4Uh`}qW|U-d1J9Q_T<8P zSOj=h`hAX-Z84>cSZ2>~bybC2lbdsA<&DGE#?EETv-`}YTKoEJ&l{Jkq!Pm&*`fUW zV)O<_k+U0PNer>6a)|XO2~gDD>x@0Uf?9~(L~(`Oumjw zKqGjgsuFW(`goyNW_wreIDJeSagv1vhAU+!CH>%Xde*!0o$_2Q{f{f$SDh&X Zo|J1wk-B4Egx=23nICN|%1#lY{{;4m{Z9Y@ literal 0 HcmV?d00001 diff --git a/pages/04.applications/10.docs/rainloop/app_rainloop.md b/pages/04.applications/10.docs/rainloop/app_rainloop.md index 65b002aa..f1262357 100644 --- a/pages/04.applications/10.docs/rainloop/app_rainloop.md +++ b/pages/04.applications/10.docs/rainloop/app_rainloop.md @@ -14,8 +14,14 @@ routes: ### Index - [Configuration](#configuration) + - [CardDAV](#carddav) + - [Domains](#domains) + - [PGP Keys](#pgp-keys) + - [Upgrade](#upgrade) - [Useful links](#useful-links) +! **Note:** RainLoop is no longer maintained, you're encouraged to switch to RainLoop's community maintained fork - [SnappyMail](/app_snappymail) + Rainloop is a lightweight webmail. ## Configuration diff --git a/pages/04.applications/10.docs/snappymail/app_snappymail.md b/pages/04.applications/10.docs/snappymail/app_snappymail.md new file mode 100644 index 00000000..5f068901 --- /dev/null +++ b/pages/04.applications/10.docs/snappymail/app_snappymail.md @@ -0,0 +1,44 @@ +--- +title: SnappyMail +template: docs +taxonomy: + category: docs, apps +routes: + default: '/app_snappymail' +--- + +![SnappyMail's logo](image://snappymail_logo.png?height=100) + +[![Install SnappyMail with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=snappymail) [![Integration level](https://dash.yunohost.org/integration/snappymail.svg)](https://dash.yunohost.org/appci/app/snappymail) + +### Index + +- [Configuration](#configuration) + - [Domains](#domains) + - [Upgrade](#upgrade) +- [Useful links](#useful-links) + +SnappyMail is a lightweight webmail, a fork of RainLoop. + +## Configuration + +To configure it, go to http://DOMAIN.TLD/snappymail/app/?admin + +- The default login is: admin +- The default password is stored in a file located at `/var/www/snappymail/data/_data_/_default_/admin_password.txt`. + +### Domains +Users can use SnappyMail to access mailboxes other than the one provided by YunoHost (e.g. gmail.com or live.com). The option is available through the "account -> add an account" button. +The administrator must authorize the connection to third party domains, via a white list in the administration interface. + +### Upgrade +To upgrade the app once a new SnappyMail version is available, simply run in a local shell via ssh or otherwise: +`sudo yunohost app upgrade -u https://github.com/YunoHost-Apps/snappymail_ynh snappymail` + +## Useful links + ++ Website : [snappymail.eu](https://snappymail.eu/) ++ Official documentation : [github.com/the-djmaze/snappymail/wiki](https://github.com/the-djmaze/snappymail/wiki) ++ Demonstration : [Demo](https://snappymail.eu/demo/) ++ Application software repository : [github.com - YunoHost-Apps/snappymail](https://github.com/YunoHost-Apps/snappymail_ynh) ++ Fix a bug or an improvement by creating a ticket (issue) : [github.com - YunoHost-Apps/snappymail/issues](https://github.com/YunoHost-Apps/snappymail_ynh/issues) From 16c02a8574ab3b8ebeed5a8f5a4826ea98497980 Mon Sep 17 00:00:00 2001 From: Thatoo Date: Thu, 21 Sep 2023 08:28:41 +0200 Subject: [PATCH 08/11] Update apps_wishlist.md (#2344) Update Zammad's information --- pages/04.applications/99.wishlist/apps_wishlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/04.applications/99.wishlist/apps_wishlist.md b/pages/04.applications/99.wishlist/apps_wishlist.md index 497d9b7f..50eb9507 100644 --- a/pages/04.applications/99.wishlist/apps_wishlist.md +++ b/pages/04.applications/99.wishlist/apps_wishlist.md @@ -366,7 +366,7 @@ You can [contribute to this list by adding something you'd like to be packaged]( | youtube-dl-webui | Web interface for youtube-dl | | [Package Draft](https://github.com/YunoHost-Apps/youtube-dl-webui_ynh) | | yunofav | A page of favorite links | | [Package Draft](https://github.com/YunoHost-Apps/yunofav_ynh) | | [yunohost](https://yunohost.org) | YunoHost in YunoHost, crazy :D ! | | [Package Draft](https://github.com/aymhce/yunohost_ynh) | -| Zammad | | [Upstream](https://github.com/zammad/zammad) | | +| [Zammad](https://zammad.org) | Zammad is a web-based, open source user support/ticketing solution | [Upstream](https://github.com/zammad/zammad) | | | [zigbee2mqtt.io](https://www.zigbee2mqtt.io/) | [Zigbee](https://en.wikipedia.org/wiki/Zigbee)-to-[MQTT](https://en.wikipedia.org/wiki/MQTT) software-bridge supporting [more than 1000 Zigbee devices](https://www.zigbee2mqtt.io/information/supported_devices.html) | [Upstream](https://github.com/koenkk/zigbee2mqtt) | | | [Zola](https://www.getzola.org/) | Static site generator | | | | zomburl | An URL shortening service | | [Package Draft](https://github.com/courgette/zomburl_ynh) | From 266774c72f32580c4b3760546cd0909c8b5d9f0e Mon Sep 17 00:00:00 2001 From: isAAAc Date: Thu, 21 Sep 2023 08:29:10 +0200 Subject: [PATCH 09/11] Update apps_wishlist.md (#2338) add Congressus to wishlist --- pages/04.applications/99.wishlist/apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/04.applications/99.wishlist/apps_wishlist.md b/pages/04.applications/99.wishlist/apps_wishlist.md index 50eb9507..0ae9cb6b 100644 --- a/pages/04.applications/99.wishlist/apps_wishlist.md +++ b/pages/04.applications/99.wishlist/apps_wishlist.md @@ -60,6 +60,7 @@ You can [contribute to this list by adding something you'd like to be packaged]( | [CKAN](https://ckan.org/) | A tool for making open data websites | [Upstream](https://github.com/ckan/ckan) | | | [CloudTube](https://tube.cadence.moe/) | CloudTube front-end for YouTube | [Upstream](https://git.sr.ht/~cadence/cloudtube) | | | [Commafeed](https://www.commafeed.com/) | Self-hosted RSS reader | [Upstream](https://github.com/Athou/commafeed) | | +| [Congressus](https://congressus.partipirate.org/about.php) | A meeting management tool with decision-making based on a voting pool. | [upstream](https://github.com/PartiPirate/congressus) | | | [Conduit](https://conduit.rs/) | Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements. | [Upstream](https://gitlab.com/famedly/conduit) | [Package Draft](https://github.com/YunoHost-Apps/conduit_ynh) | | cops | Calibre OPDS | | [Package Draft](https://github.com/YunoHost-Apps/cops_ynh) | | [Coquelicot](https://coquelicot.potager.org/) | A “one-click” file sharing web application | | [Package Draft](https://github.com/YunoHost-Apps/coquelicot_ynh) | From b441e18c81c41e89b40e974cc868de034c33fa19 Mon Sep 17 00:00:00 2001 From: silversword411 Date: Thu, 21 Sep 2023 02:29:40 -0400 Subject: [PATCH 10/11] Adding docs for glpi (#2334) --- images/glpi_logo.png | Bin 0 -> 8366 bytes .../04.applications/10.docs/glpi/app_glpi.md | 32 ++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 images/glpi_logo.png create mode 100644 pages/04.applications/10.docs/glpi/app_glpi.md diff --git a/images/glpi_logo.png b/images/glpi_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7dac3d65b539c616d14d76347f1675b5a9d6469f GIT binary patch literal 8366 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 NrGe0eS14PD{V!DB Date: Thu, 21 Sep 2023 08:31:08 +0200 Subject: [PATCH 11/11] Belenios voting added to wishlist (#2335) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We need secure and anonymous voting software where voters can trust that nobody was manipulating. My research came to conclusion, that Belenios with origins in Université de Lorraine, is most promising candidate. The survey platforms that are provided in YunoHost so far - ("LimeSurvey" and "Framaforms") - are rather "survey" but not "election" software. E.g. LimeSurvey admin can collect all data of the voter (IP, voting selection, e-Mail-address ...) and even vote in place of the original voter. Belenios focuses on maximum safety: 1) anonymous voting 2) all voters get their individual partition token, repetitive sending if someone did not get his token 3) verifiable: a) voters can verify that their ballot was counted; b) voters can verify that there was no ballot stuffing 4) board of admins provides control that there is less influencing from the admin --- pages/04.applications/99.wishlist/apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/04.applications/99.wishlist/apps_wishlist.md b/pages/04.applications/99.wishlist/apps_wishlist.md index 0ae9cb6b..f6d324c9 100644 --- a/pages/04.applications/99.wishlist/apps_wishlist.md +++ b/pages/04.applications/99.wishlist/apps_wishlist.md @@ -37,6 +37,7 @@ You can [contribute to this list by adding something you'd like to be packaged]( | [Baserow](https://baserow.io/) | Open source no-code database tool and Airtable alternative. | [Upstream](https://gitlab.com/bramw/baserow) | | | [Beatbump](https://beatbump.ml/home) | An alternative frontend for YouTube Music | [Upstream](https://github.com/snuffyDev/Beatbump) | | | [Beeper](https://www.beeper.com/) | A unified inbox for 15 chat networks. | [Upstream](https://gitlab.com/beeper) | | +| [Belenios Voting](https://www.belenios.org/) | Verifiable, lean, trustable online voting system | [Upstream](https://github.com/glondu/belenios/) | | | [BigBlueButton](https://bigbluebutton.org) | Web conferencing system | [Upstream](https://github.com/bigbluebutton/bigbluebutton) | | | [BitcartCC](https://bitcartcc.com) | BitcartCC is a self-hosted, open-source cryptocurrency all-in-one solution | [Upstream](https://github.com/bitcartcc/bitcart) | | | [Bitmessage](https://bitmessage.org/) | P2P communication protocol used to send encrypted messages | [Upstream](https://github.com/Bitmessage/PyBitmessage) | |