diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..18a27402
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,6 @@
+language: bash
+
+script:
+ - bash tests/dead_links.sh
+ - bash tests/unreferenced_pages.sh
+ - bash tests/check_code_block_syntax.sh
diff --git a/OVH_fr.md b/OVH_fr.md
index 92df9c1f..303626bd 100644
--- a/OVH_fr.md
+++ b/OVH_fr.md
@@ -10,16 +10,16 @@ Cliquez sur l'onglet **Zone DNS**, puis sur **Ajouter une entrée**:
-Il suffit maintenant d'ajouter les redirections DNS comme indiqué dans la [configuration DNS standard](/dns_config_fr).
+Il suffit maintenant d'ajouter les redirections DNS comme indiqué dans la [configuration DNS standard](/dns_config).
###IP dynamique
-[Tutoriel plus général sur l’IP dynamique](dns_dynamicip_fr).
+[Tutoriel plus général sur l’IP dynamique](/dns_dynamicip).
Cette partie est à suivre, que si votre IP est dynamique.
-Pour savoir si votre fournisseur d’accès internet vous fournit une IP dynamique [voir ici](/isp_fr).
+Pour savoir si votre fournisseur d’accès internet vous fournit une IP dynamique [voir ici](/isp).
Commencez par créer un identifiant DynHost.
diff --git a/README.md b/README.md
index bbdcfc2b..ed5d3ad2 100644
--- a/README.md
+++ b/README.md
@@ -3,4 +3,8 @@
* [Web Site](https://yunohost.org)
* Based on [Simone](https://github.com/YunoHost/Simone)
-Please report [issues on YunoHost bugtracker](https://github.com/YunoHost/issues/issues).
\ No newline at end of file
+Please report [issues on YunoHost bugtracker](https://github.com/YunoHost/issues/issues).
+
+You can live test any changes by adding `/edit` to the URL on
+[yunohost.org](https://yunohost.org). For example, if you make changes to
+[apps.md](./apps.md), you can test them on [yunohost.org/#/apps/edit](https://yunohost.org/#/apps/edit).
diff --git a/XMPP.md b/XMPP.md
index a3d818a6..f549d01d 100644
--- a/XMPP.md
+++ b/XMPP.md
@@ -1,53 +1,60 @@
# Chat, VoIP and social network with
-YunoHost comes installed with an instant messaging server Metronome which implements the [XMPP protocol](https://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol).
+YunoHost comes installed by default with an instant messaging server Metronome which implements the [XMPP protocol](https://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) (previously known as Jabber).
-XMPP is an open and extensible protocol which allows to create chatrooms, to share status and data, to give calls in VoIP and videoconferences.
+This protocol is already used by millions of people around the world - it is an open protocol. All applications based on XMPP are compatible with each other: when using an XMPP client, you can interact with anybody who has an XMPP account.
-All applications based on XMPP are compatible with each other : when using an XMPP client, you can interact with anybody who has an XMPP/Jabber account. This protocol is already used by millions of people around the world.
+XMPP is an extensible protocol - this means users can configure "extensions" to chatrooms, to share messages and files, and to make voice and video calls using XMPP.
-### XMPP/Jabber account
+## XMPP account
-An XMPP/Jabber account is based on an identifier with the structure `user@domain.tld`, and a password.
+To use an XMPP account you need a username, which takes the format: `user@domain.tld`, and a password.
-In YunoHost, this identifier simply corresponds to the main email address of a user, with his regular password.
+With YunoHost, an XMPP account is created for all YunoHost users automatically. The XMPP account credentials corresponds to the user's main email address and password.
-### Connecting to XMPP
+## Connecting to your YunoHost XMPP account
+
+You can connect to your YunoHost XMPP account in different ways.
+
+### Web clients
-There are several web client built with social network features :
- [Movim](https://pod.movim.eu)
- [Libervia/Salut à Toi](http://salut-a-toi.org/).
-You can also use a desktop client such as :
-- [Pidgin](http://pidgin.im/) (multiplatform),
+
+### Desktop clients
+
+- [Pidgin](http://pidgin.im/) (multiplatform),
- [Gajim](http://gajim.org/) (Linux, Windows),
- [Dino](https://dino.im) (Linux),
-- [Thunderbird](https://www.thundebird.net/) (multiplatform),
-- [Jitsi](http://jitsi.org/) (multiplatform)
+- [Thunderbird](https://www.thundebird.net/) (multiplatform),
+- [Jitsi](http://jitsi.org/) (multiplatform)
- [Adium](https://adium.im/) (Mac OS).
-... or a mobile client
-* [Xabber](http://xabber.com) (Android)
-* [Conversations](https://conversations.im/) (Android)
-* [Movim under Android](https://movim.eu)
-* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS)
+### Mobile clients
+
+- [Xabber](http://xabber.com) (Android)
+- [Conversations](https://conversations.im/) (Android)
+- [Movim under Android](https://movim.eu)
+- [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS)
+- [Kaidan](https://github.com/KaidanIM/Kaidan) (Ubuntu Touch / Plasma Mobile)
Here is an exhaustive list of XMPP clients : https://en.wikipedia.org/wiki/Comparison_of_XMPP_clients
-### Encrypt conversations with OMEMO
+## Encrypt conversations with OMEMO
-XMPP chats can be encrypted with the help of [OMEMO](https://xmpp.org/extensions/xep-0384.html), for instance using Gajim :
-* Install `gajim` and the plugin `gajim-omemo`
-* Enable the plugin in `Tools > Plugins`
-* Enable it
-* Enable the encryption in the chat with somebody who also has OMEMO
+XMPP chats can be made secure and private using [OMEMO] encryption (https://xmpp.org/extensions/xep-0384.html), for instance using Gajim:
+- Install `gajim` and the plugin `gajim-omemo`
+- Enable the plugin in `Tools > Plugins`
+- Enable it
+- Enable the encryption in the chat with somebody who also has OMEMO
-### Chatrooms
+## Chatrooms
To create a chatroom (multi-user chat) on your YunoHost server, use the identifier `chatroomname@muc.yourdomain.tld`.
-For this to workm you need to [add the corresponding `muc.` DNS record](dns_config_fr) in the DNS configuration.
+For this to work you need to [add the corresponding `muc.` DNS record](/dns_config) in the DNS configuration.
-### VoIP and visioconferences
+## VoIP and videoconferences
A practical tool to call an XMPP client, either with voice or voice+video, is to use the client [Jitsi](http://jitsi.org/).
diff --git a/XMPP_es.md b/XMPP_es.md
new file mode 100644
index 00000000..76f45f25
--- /dev/null
+++ b/XMPP_es.md
@@ -0,0 +1,50 @@
+#Chat, VoIP y red local con
+
+Yunohost está instalado con un servidor de mensajería instantánea Metronome que implementa el [protocolo XMPP](https://es.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol).
+
+XMPP es un protocolo abierto y extensible que también permite crear salones de discusión, compartir status y datos, echar llamadas en VoIP y hacer videoconferencias.
+
+Todas las aplicaciones basadas en XMPP son compatibles entre ellas : cuando utilizas un cliente XMPP puedes discutir con cualquier persona que tenga una cuenta XMPP/Jabber. Este protocolo ya es utilizado por millones de personas en el mundo.
+
+### Cuenta XMPP/Jabber
+
+Una cuenta XMPP/Jabber está basada en un ID bajo la forma `usuario@dominio.tld`, así como una contraseña. La contraseña es la de la cuenta del usuario de Yunohost.
+
+### Conectarse a XMPP
+
+Existen varios clientes web de tipo red social, como :
+- [Movim](https://pod.movim.eu)
+- [Libervia/Salut à Toi](http://salut-a-toi.org/).
+
+También puedes utilizar un cliente Desktop como :
+- [Pidgin](http://pidgin.im/) (multiplataformas),
+- [Gajim](http://gajim.org/index.fr.html) (Linux, Windows),
+- [Dino](https://dino.im) (Linux),
+- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplataformas),
+- [Jitsi](http://jitsi.org/) (multiplataformas)
+- [Adium](https://adium.im/) (Mac OS).
+
+... o un cliente smartphone :
+* [Xabber](http://xabber.com) (Android)
+* [Conversations](https://conversations.im/) (Android)
+* [Movim sous Android](https://movim.eu)
+* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS)
+
+Aquí tienes una lista más exhaustiva de clientes XMPP (fr) : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP
+
+### Cifrar tu conversaciones con OMEMO :
+
+Es posible cifrar tu conversaciones XMPP con la ayuda de [OMEMO](https://xmpp.org/extensions/xep-0384.html), por ejemplo utilizando Gajim :
+* Instalar `gajim` y el plugin `gajim-omemo`
+* Activar el plugin en `Tools > Plugins`
+* Activar el cifrado en una conversación con un contacto que también tiene OMEMO activado.
+
+### Salón de discusión
+
+Para crear un salón de discusión (Multi-user chat) en tu servidor Yunohost, utiliza el ID nombredelsalon@muc.dominio.tld (donde dominio.tld es el dominio principal de tu servidor).
+
+Si utilizas un nombre de dominio personal, es necesario [añadir una redirección de tipo CNAME para el subdominio `muc.`](/dns_config) en tu servidor DNS.
+
+### VoIP y videoconferencias
+
+Un buen medio de llamar a un contacto XMPP en VoIP o en llamada video, es utilizar el cliente [Jitsi](http://jitsi.org/).
diff --git a/XMPP_fr.md b/XMPP_fr.md
index f1e663b0..0273219f 100644
--- a/XMPP_fr.md
+++ b/XMPP_fr.md
@@ -1,53 +1,59 @@
#Chat, VoIP et réseau social avec
-Yunohost est installé avec un serveur de messagerie instantanée Metronome qui implémente le [protocole XMPP](https://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol).
+Yunohost est installé par défaut avec un serveur de messagerie instantanée Metronome qui implémente le [protocole XMPP](https://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) (anciennement connu sous le nom Jabber).
-XMPP est un protocole ouvert et extensible qui permet également de créer des salons de discussions, de partager des statuts et des données, de passer des appels en VoIP et de faire de la visioconférence.
+Ce protocole est déjà utilisé par des millions de personnes dans le monde - c'est un protocole ouvert. Toutes les applications basées sur XMPP sont compatibles entre elles : lorsque vous utilisez un client XMPP, vous pouvez interagir avec quiconque possède un compte XMPP.
-Toutes les applications basées sur XMPP sont compatibles entre-elles : lorsque vous utilisez un client XMPP vous pouvez discuter avec n’importe quel possesseur d’un compte XMPP/Jabber. Ce protocole est déjà utilisé par des millions de personnes dans le monde.
+XMPP est un protocole extensible - cela signifie que les utilisateurs peuvent configurer des "extensions" pour les salons de discussions, partager des messages et des fichiers, et passer des appels voix et vidéo en utilisant XMPP.
-### Compte XMPP/Jabber
+## Compte XMPP
-Un compte XMPP/Jabber est basé sur un identifiant sous la forme `utilisateur@domaine.tld`, ainsi qu’un mot de passe.
+Pour utiliser XMPP, il est nécessaire de disposer d'un compte dont l'identifiant prends la forme `utilisateur@domaine.tld`, ainsi qu’un mot de passe.
-Sous Yunohost, cet identifiant correspond simplement à l’adresse courriel principale d’un utilisateur. Le mot de passe est celui du compte de l’utilisateur.
+Sous Yunohost, un compte XMPP est créé automatiquement pour chaque utilisateur. Les identifiants XMPP sont simplement l’adresse courriel principale de l'utilisateur ainsi que son mot de passe.
-### Se connecter à XMPP
+## Se connecter à son compte XMPP YunoHost
+
+Il existe différents types de clients pour se connecter à XMPP.
+
+### Clients web
-Il existe des clients web orientés réseau social, comme :
- [Movim](https://pod.movim.eu)
- [Libervia/Salut à Toi](http://salut-a-toi.org/).
-Vous pouvez également utiliser un client desktop comme
-- [Pidgin](http://pidgin.im/) (multiplateforme),
+### Clients de bureau
+
+- [Pidgin](http://pidgin.im/) (multiplateforme),
- [Gajim](http://gajim.org/index.fr.html) (Linux, Windows),
- [Dino](https://dino.im) (Linux),
-- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplateforme),
-- [Jitsi](http://jitsi.org/) (multiplateforme)
+- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplateforme),
+- [Jitsi](http://jitsi.org/) (multiplateforme)
- [Adium](https://adium.im/) (Mac OS).
-... ou un client smartphone
+### Clients sur mobile
+
* [Xabber](http://xabber.com) (Android)
* [Conversations](https://conversations.im/) (Android)
* [Movim sous Android](https://movim.eu)
* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS)
+- [Kaidan](https://github.com/KaidanIM/Kaidan) (Ubuntu Touch / Plasma Mobile)
Voici une liste plus exhaustive des clients XMPP : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP
-### Chiffrer ses conversations avec OMEMO
+## Chiffrer ses conversations avec OMEMO
-Il est possible de chiffrer ses conversations XMPP à l’aide de [OMEMO](https://xmpp.org/extensions/xep-0384.html), notamment en utilisant Gajim :
-* Installer `gajim` et le plugin `gajim-omemo`
-* Activez le plugins dans `Outils > Plugins`
-* L'activer
-* Activez le chiffrement dans une conversation avec un contact disposant de OMEMO.
+Il est possible de rendre les conversations plus sécurisées et privées en les chiffrants à l'aide de [OMEMO](https://xmpp.org/extensions/xep-0384.html), notamment en utilisant Gajim :
+- Installer `gajim` et le plugin `gajim-omemo`
+- Activez le plugins dans `Outils > Plugins`
+- L'activer
+- Activez le chiffrement dans une conversation avec un contact disposant de OMEMO.
-### Salon de discussion
+## Salon de discussion
Pour créer un salon de discussion (Multi-user chat) sur votre serveur Yunohost utilisez l’identifiant nomsalon@muc.domaine.tld (où domaine.tld est le domaine principal de votre serveur).
-Si vous utilisez un nom de domaine personnel, il est nécessaire d’[ajouter une redirection de type CNAME pour le sous domaine `muc.`](dns_config_fr) au niveau de votre serveur DNS.
+Si vous utilisez un nom de domaine personnel, il est nécessaire d’[ajouter une redirection de type CNAME pour le sous domaine `muc.`](/dns_config) au niveau de votre serveur DNS.
-### VoIP et visioconférence
+## VoIP et visioconférence
Un moyen pratique d’appeler un contact XMPP, en VoIP ou en appel vidéo, est d’utiliser le client [Jitsi](http://jitsi.org/).
diff --git a/admin.md b/admin.md
index d462c05c..288471af 100644
--- a/admin.md
+++ b/admin.md
@@ -7,7 +7,7 @@ Yunohost has an administrator web interface. The other way to administrate your
You can access your administrator web interface at this address: https://example.org/yunohost/admin (replace 'example.org' with your own domain name)
Only apps tagged validated are officially supported by the package team.
-Apps tagged working, inprogress, notworking are from community repository, you can test and use them **at your own risk**.
+ -Important: it's the application maintaineur that qualify his application as working, not the YunoHost core team. Install it at your own risks. We won't provide support for it.
+Seules les apps marquées validated sont officiellement supportées par l'équipe de développement d'applications.
-Les apps marquées working, inprogress, notworking sont des applications non officielles maintenues par la communauté, vous pouvez les tester et les utiliser **à vos risques et périls**.
+ -Important: c'est le mainteneur de l'application qui définit son application comme "working" et non pas l'équipe de développement d'applications de Yunohost. Installez ces apps à vos risques et périls. Nous ne fournissons pas de support pour elles.
+Solo le app etichettate come validate sono ufficialmente supportate dalla squadra di packaging.
-App etichettate come funzionanti, insviluppo, nonfunzionanti arrivano dai repository della comunità, puoi provare ed utilizzarle **a tuo rischio e pericolo**.
+ -Importante: è il mantenitore dell'applicazione che indica l'applicazione come funzionante, non il team base di YunoHost. Installale a tuo rischio e pericolo. Noi non forniamo supporto per queste app.
+- datalove <3 - data@home - Alojar arriba, dijeron - Host me I'm famous - sudo internet - Ellos alojamientido y tenía muchos hijos - Try Internet - Internet, lectura y escritura - No tengo nada que ocultar - How I met your server - datalove <3 + Okupa tu servidor + ¡Yo me alojo a mi mismo! + ¡Anda y que te alojen! + Fuera de mi nube + Alójame, soy famoso + Prueba Internet + Su fiel servidor + yo@mismo.parami + Tío ¡¿X K NO alojas?! + Tranqui y alójate
- +
Lista de aplicationes disponible
Intentar el interfaz de administración
Liste des applications disponibles
Essayez l’interface d’administration
+ Ven a l’ostal, soi albergat en çò d’una amiga + S’alberguèron e aguèron un molon d’enfants + Internet, lectura e escritura + monssur@michu.fr + Ai pas res a rescondre + How I met your server +
+ +On Vagrant
-Avec Vagrant
-
- Usage: ynh_use_logrotate [--logfile=/log/file] [--nonappend] [--specific_user=user/group]
-
- Arguments: -
-l
, --logfile
: absolute path of logfile-n
, --nonappend
: (optional) Replace the config file instead of appending this new config.-u
, --specific_user
: run logrotate as the specified user and group. If not specified logrotate is runned as root.- Details: -
- If no --logfile is provided, /var/log/${app} will be used as default.logfile can be just a directory, or a full path to a logfile :/parentdir/logdir/parentdir/logdir/logfile.logIt's possible to use this helper multiple times, each config will be added tothe same logrotate config file. Unless you use the option --non-appendRequires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_remove_logrotate
-
- Details: -
- Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_add_systemd_config [--service=service] [--template=template]
-
- Arguments: -
-s
, --service
: Service name (optionnal, $app by default)-t
, --template
: Name of template file (optionnal, this is 'systemd' by default, meaning ./conf/systemd.service will be used as template)- Details: -
- This will use the template ../conf/
- Usage: ynh_remove_systemd_config [--service=service]
-
- Arguments: -
-s
, --service
: Service name (optionnal, $app by default)- Details: -
- Requires YunoHost version 2.7.2 or higher. -
- - -
- Usage: ynh_add_nginx_config "list of others variables to replace"
-
- Arguments: -
list
: (Optional) list of others variables to replace separated by spaces. For example : 'path_2 port_2 ...'- Details: -
- This will use a template in ../conf/nginx.conf __PATH__ by $path_url __DOMAIN__ by $domain __PORT__ by $port __NAME__ by $app __FINALPATH__ by $final_pathAnd dynamic variables (from the last example) : __PATH_2__ by $path_2 __PORT_2__ by $port_2Requires YunoHost version 2.7.2 or higher. -
- - -
- Usage: ynh_remove_nginx_config
-
- Details: -
- Requires YunoHost version 2.7.2 or higher. -
- - -
- Usage: ynh_add_fpm_config [--phpversion=7.X]
-
- Arguments: -
-v
, --phpversion
: Version of php to use.- Details: -
- Requires YunoHost version 2.7.2 or higher. -
- - -
- Usage: ynh_remove_fpm_config
-
- Details: -
- Requires YunoHost version 2.7.2 or higher. -
- - -
- Usage: 1: ynh_add_fail2ban_config --logpath=log_file --failregex=filter [--max_retry=max_retry] [--ports=ports]
-2: ynh_add_fail2ban_config --use_template [--others_var="list of others variables to replace"]
-| for example : 'var_1 var_2 ...'
-
- Arguments: -
-l
, --logpath=
: Log file to be checked by fail2ban-r
, --failregex=
: Failregex to be looked for by fail2ban-m
, --max_retry=
: Maximum number of retries allowed before banning IP address - default: 3-p
, --ports=
: Ports blocked for a banned IP address - default: http,https-t
, --use_template
: Use this helper in template mode-v
, --others_var=
: List of others variables to replace separeted by a space- Details: -
- -----------------------------------------------------------------------------This will use a template in ../conf/f2b_jail.conf and ../conf/f2b_filter.conf __APP__ by $appYou can dynamically replace others variables by example : __VAR_1__ by $var_1 __VAR_2__ by $var_2Generally your template will look like that by example (for synapse):f2b_jail.conf: [__APP__] enabled = true port = http,https filter = __APP__ logpath = /var/log/__APP__/logfile.log maxretry = 3f2b_filter.conf: [INCLUDES] before = common.conf [Definition]# Part of regex definition (just used to make more easy to make the global regex) __synapse_start_line = .? \- synapse\..+ \-# Regex definition. failregex = ^%(__synapse_start_line)s INFO \- POST\-(\d+)\-
- Usage: ynh_remove_fail2ban_config
-
- Details: -
- Requires YunoHost version 3.?.? or higher. -
- - -
- Usage: ynh_debug [--message=message] [--trace=1/0]
-
- Arguments: -
-m
, --message=
: The text to print-t
, --trace=
: Turn on or off the trace of the script. Usefull to trace nonly a small part of a script.- Details: -
- Requires YunoHost version 3.?.? or higher. -
- - -
- Usage: ynh_debug_exec command to execute
-ynh_debug_exec "command to execute | following command"
-In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
-
- Arguments: -
command
: command to execute- Details: -
- Requires YunoHost version 3.?.? or higher. -
- - -
- Usage: ynh_backup --src_path=src_path [--dest_path=dest_path] [--is_big] [--not_mandatory]
-
- Arguments: -
-s
, --src_path
: file or directory to bind or symlink or copy. it shouldn't be in the backup dir.-d
, --dest_path
: destination file or directory inside the backup dir-b
, --is_big
: Indicate data are big (mail, video, image ...)-m
, --not_mandatory
: Indicate that if the file is missing, the backup can ignore it.arg
: Deprecated arg- Details: -
- Note: this helper could be used in backup hook or in backup script inside anapp packageDetails: ynh_backup writes SRC and the relative DEST into a CSV file. And itcreates the parent destination directoryIf DEST is ended by a slash it complete this path with the basename of SRC.Example in the context of a wordpress appynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"# => This line will be added into CSV file# "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/nginx.conf"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf"#Deprecated usages (maintained for retro-compatibility)ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "${backup_dir}/conf/nginx.conf"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "/conf/"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"Requires YunoHost version 2.4.0 or higher. -
- - -
- Usage: ynh_restore
-
- Details: -
- Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_restore_file --origin_path=origin_path [--dest_path=dest_path] [--not_mandatory]
-
- Arguments: -
-o
, --origin_path
: Path where was located the file or the directory before to be backuped or relative path to $YNH_CWD where it is located in the backup archive-d
, --dest_path
: Path where restore the file or the dir, if unspecified, the destination will be ORIGIN_PATH or if the ORIGIN_PATH doesn't exist in the archive, the destination will be searched into backup.csv-m
, --not_mandatory
: Indicate that if the file is missing, the restore process can ignore it.- Examples:
ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf"
- ynh_restore_file "conf/nginx.conf"
- - Details: -
- Use the registered path in backup_list by ynh_backup to restore the file atthe right place.If DEST_PATH already exists and is lighter than 500 Mo, a backup will be made in/home/yunohost.conf/backup/. Otherwise, the existing file is removed.if apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf exists, restore it into/etc/nginx/conf.d/$domain.d/$app.confif no, search for a match in the csv (eg: conf/nginx.conf) and restore it into/etc/nginx/conf.d/$domain.d/$app.confRequires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_store_file_checksum --file=file
-
- Arguments: -
-f
, --file
: The file on which the checksum will performed, then stored.- Details: -
- $app should be defined when calling this helperRequires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_backup_if_checksum_is_different --file=file
-
- Arguments: -
-f
, --file
: The file on which the checksum test will be perfomed.- Returns: the name of a backup file, or nothing -
-- Details: -
- $app should be defined when calling this helperRequires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_remove_file_checksum file
-
- Arguments: -
-f
, --file=
: The file for which the checksum will be deleted- Details: -
- $app should be defined when calling this helperRequires YunoHost version 3.3.1 or higher. -
- - -
- Usage: ynh_secure_remove --file=path_to_remove
-
- Arguments: -
-f
, --file
: File or directory to remove- Details: -
- Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_validate_ip --family=family --ip_address=ip_address
-
- Returns: 0 for valid ip addresses, 1 otherwise -
-
- Example: ynh_validate_ip 4 111.222.333.444
-
- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_validate_ip4 --ip_address=ip_address
-
- Returns: 0 for valid ipv4 addresses, 1 otherwise -
-
- Example: ynh_validate_ip4 111.222.333.444
-
- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_validate_ip6 --ip_address=ip_address
-
- Returns: 0 for valid ipv6 addresses, 1 otherwise -
-
- Example: ynh_validate_ip6 2000:dead:beef::1
-
- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_mysql_connect_as --user=user --password=password [--database=database]
-
- Arguments: -
-u
, --user
: the user name to connect as-p
, --password
: the user password-d
, --database
: the database to connect to
- Example: ynh_mysql_connect_as 'user' 'pass' <<< "UPDATE ...;" example: ynh_mysql_connect_as 'user' 'pass' < /path/to/file.sql
-
- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_mysql_execute_as_root --sql=sql [--database=database]
-
- Arguments: -
-s
, --sql
: the SQL command to execute-d
, --database
: the database to connect to- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_mysql_execute_file_as_root --file=file [--database=database]
-
- Arguments: -
-f
, --file
: the file containing SQL commands-d
, --database
: the database to connect to- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_mysql_dump_db --database=database
-
- Arguments: -
-d
, --database
: the database name to dump- Returns: the mysqldump output -
-
- Example: ynh_mysql_dump_db 'roundcube' > ./dump.sql
-
- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_mysql_user_exists --user=user
-
- Arguments: -
-u
, --user
: the user for which to check existence- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_mysql_setup_db --db_user=user --db_name=name [--db_pwd=pwd]
-
- Arguments: -
-u
, --db_user
: Owner of the database-n
, --db_name
: Name of the database-p
, --db_pwd
: Password of the database. If not provided, a password will be generated- Details: -
- After executing this helper, the password of the created database will be available in $db_pwdIt will also be stored as "mysqlpwd" into the app settings.Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_mysql_remove_db --db_user=user --db_name=name
-
- Arguments: -
-u
, --db_user
: Owner of the database-n
, --db_name
: Name of the database- Details: -
- Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_sanitize_dbid --db_name=name
-
- Arguments: -
-n
, --db_name
: name to correct/sanitize- Returns: the corrected name -
-
- Example: dbname=$(ynh_sanitize_dbid $app)
-
- Details: -
- Requires YunoHost version 2.2.4 or higher. -
- - -
- Usage: ynh_normalize_url_path --path_url=path_to_normalize
-
- Arguments: -
-p
, --path_url
: URL path to normalize before using it- Examples:
url_path=$(ynh_normalize_url_path $url_path)
- ynh_normalize_url_path example # -> /example
- ynh_normalize_url_path /example # -> /example
- ynh_normalize_url_path /example/ # -> /example
- ynh_normalize_url_path / # -> /
- - Details: -
- Handle the slash at the beginning of path and its absence at endingReturn a normalized url pathRequires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_find_port --port=begin_port
-
- Arguments: -
-p
, --port
: port to start to search
- Example: port=$(ynh_find_port --port=8080)
-
- Details: -
- Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_webpath_available --domain=domain --path_url=path
-
- Arguments: -
-d
, --domain
: the domain/host of the url-p
, --path_url
: the web path to check the availability of
- Example: ynh_webpath_available --domain=some.domain.tld --path_url=/coffee
-
- Details: -
- Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_webpath_register --app=app --domain=domain --path_url=path
-
- Arguments: -
-a
, --app
: the app for which the domain should be registered-d
, --domain
: the domain/host of the web path-p
, --path_url
: the web path to be registered
- Example: ynh_webpath_register --app=wordpress --domain=some.domain.tld --path_url=/coffee
-
- Details: -
- Requires YunoHost version 2.6.4 or higher. -
- - -
- Usage: ynh_use_nodejs
-
- Details: -
- ynh_use_nodejs has to be used in any app scripts before using node for the first time.2 variables are available: - $nodejs_path: The absolute path of node for the chosen version. - $nodejs_version: Just the version number of node for this app. Stored as 'nodejs_version' in settings.yml.And 2 alias stored in variables: - $nodejs_use_version: An old variable, not used anymore. Keep here to not break old apps NB: $PATH will contain the path to node, it has to be propagated to any other shell which needs to use it. That's means it has to be added to any systemd script.Requires YunoHost version 2.7.12 or higher. -
- - -
- Usage: ynh_install_nodejs --nodejs_version=nodejs_version
- If possible, prefer to use major version number (e.g. 8 instead of 8.10.0).
- The crontab will handle the update of minor versions when needed.
-
- Arguments: -
-n
, --nodejs_version
: Version of node to install.- Details: -
- n (Node version management) uses the PATH variable to store the path of the version of node it is going to use.That's how it changes the versionynh_install_nodejs will install the version of node provided as argument by using n.Requires YunoHost version 2.7.12 or higher. -
- - -
- Usage: ynh_remove_nodejs
-
- Details: -
- This helper will check if another app uses the same version of node,if not, this version of node will be removed.If no other app uses node, n will be also removed.Requires YunoHost version 2.7.12 or higher. -
- - -Doc auto-generated by this script on 03/30/2020 (Yunohost version 3.7.0.12)
+ + +
+
Usage: ynh_package_is_installed --package=name
+
Arguments:
-p
, --package
: the package name to check
Example: ynh_package_is_installed --package=yunohost && echo "ok"
Details:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_package_version --package=name
+
Arguments:
-p
, --package
: the package name to get versionReturns: the version or an empty string
+ +
Example: version=$(ynh_package_version --package=yunohost)
Details:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_package_update
+
Details:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_package_install name [name [...]]
+
Arguments:
name
: the package name to installDetails:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_package_remove name [name [...]]
+
Arguments:
name
: the package name to removeDetails:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_package_autoremove name [name [...]]
+
Arguments:
name
: the package name to removeDetails:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_package_autopurge name [name [...]]
+
Arguments:
name
: the package name to autoremove and purgeDetails:
Requires YunoHost version 2.7.2 or higher.
+ +
- Usage: ynh_install_app_dependencies dep [dep [...]]
- You can give a choice between some package with this syntax : "dep1|dep2"
- Example : ynh_install_app_dependencies dep1 dep2 "dep3|dep4|dep5"
- This mean in the dependence tree : dep1 & dep2 & (dep3 | dep4 | dep5)
+
+ Usage: ynh_install_app_dependencies dep [dep [...]]
+
Arguments:
dep
: the package name to install in dependencedep
: the package name to install in dependence. Writing "dep3|dep4|dep5" can be used to specify alternatives. For example : dep1 dep2 "dep3|dep4|dep5" will require to install dep1 and dep 2 and (dep3 or dep4 or dep5).Details:
- Requires YunoHost version 2.6.4 or higher. + This helper can/should only be called once per appexample : ynh_install_app_dependencies dep1 dep2 "dep3|dep4|dep5"Requires YunoHost version 2.6.4 or higher.
+ +
+
Usage: ynh_remove_app_dependencies
+
Details:
Dependencies will removed only if no other package need them.Requires YunoHost version 2.6.4 or higher.
+ +
+
+ Usage: ynh_backup --src_path=src_path [--dest_path=dest_path] [--is_big] [--not_mandatory]
+
+
+ Arguments: +
-s
, --src_path
: file or directory to bind or symlink or copy. it shouldn't be in the backup dir.-d
, --dest_path
: destination file or directory inside the backup dir-b
, --is_big
: Indicate data are big (mail, video, image ...)-m
, --not_mandatory
: Indicate that if the file is missing, the backup can ignore it.arg
: Deprecated arg+ Details: +
+ This helper can be used both in a system backup hook, and in an app backup scriptDetails: ynh_backup writes SRC and the relative DEST into a CSV file. And itcreates the parent destination directoryIf DEST is ended by a slash it complete this path with the basename of SRC.Example in the context of a wordpress appynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"# => This line will be added into CSV file# "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/nginx.conf"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf"#Deprecated usages (maintained for retro-compatibility)ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "${backup_dir}/conf/nginx.conf"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "/conf/"# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"Requires YunoHost version 2.4.0 or higher. +
+ + + + +
+
+ Usage: ynh_restore
+
+
+ Details: +
+ Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_restore_file --origin_path=origin_path [--dest_path=dest_path] [--not_mandatory]
+
+
+ Arguments: +
-o
, --origin_path
: Path where was located the file or the directory before to be backuped or relative path to $YNH_CWD where it is located in the backup archive-d
, --dest_path
: Path where restore the file or the dir, if unspecified, the destination will be ORIGIN_PATH or if the ORIGIN_PATH doesn't exist in the archive, the destination will be searched into backup.csv-m
, --not_mandatory
: Indicate that if the file is missing, the restore process can ignore it.+ Examples:
ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf"
+
+ ynh_restore_file "conf/nginx.conf"
+
+ + Details: +
+ Use the registered path in backup_list by ynh_backup to restore the file atthe right place.If DEST_PATH already exists and is lighter than 500 Mo, a backup will be made in/home/yunohost.conf/backup/. Otherwise, the existing file is removed.if apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf exists, restore it into/etc/nginx/conf.d/$domain.d/$app.confif no, search for a match in the csv (eg: conf/nginx.conf) and restore it into/etc/nginx/conf.d/$domain.d/$app.confRequires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_store_file_checksum --file=file
+
+
+ Arguments: +
-f
, --file
: The file on which the checksum will performed, then stored.+ Details: +
+ $app should be defined when calling this helperRequires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_backup_if_checksum_is_different --file=file
+
+
+ Arguments: +
-f
, --file
: The file on which the checksum test will be perfomed.+ Returns: the name of a backup file, or nothing +
+ + + + ++ Details: +
+ This helper is primarily meant to allow to easily backup personalised/manuallymodified config files.Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_remove_file_checksum file
+
+
+ Arguments: +
-f
, --file=
: The file for which the checksum will be deleted+ Details: +
+ $app should be defined when calling this helperRequires YunoHost version 3.3.1 or higher. +
+ + + + +
+
+ Usage: ynh_backup_before_upgrade
+ynh_clean_setup () {
+ ynh_restore_upgradebackup
+}
+ynh_abort_if_errors
+
+
+ Details: +
+ Requires YunoHost version 2.7.2 or higher. +
+ + + + +
+
+ Usage: ynh_backup_before_upgrade
+ynh_clean_setup () {
+ ynh_restore_upgradebackup
+}
+ynh_abort_if_errors
+
+
+ Details: +
+ Requires YunoHost version 2.7.2 or higher. +
+ + + + +
+
+ Usage: 1: ynh_add_fail2ban_config --logpath=log_file --failregex=filter [--max_retry=max_retry] [--ports=ports]
+2: ynh_add_fail2ban_config --use_template [--others_var="list of others variables to replace"]
+| for example : 'var_1 var_2 ...'
+
+
+ Arguments: +
-l
, --logpath=
: Log file to be checked by fail2ban-r
, --failregex=
: Failregex to be looked for by fail2ban-m
, --max_retry=
: Maximum number of retries allowed before banning IP address - default: 3-p
, --ports=
: Ports blocked for a banned IP address - default: http,https-t
, --use_template
: Use this helper in template mode-v
, --others_var=
: List of others variables to replace separeted by a space+ Details: +
+ -----------------------------------------------------------------------------This will use a template in ../conf/f2b_jail.conf and ../conf/f2b_filter.conf __APP__ by $appYou can dynamically replace others variables by example : __VAR_1__ by $var_1 __VAR_2__ by $var_2Generally your template will look like that by example (for synapse):f2b_jail.conf: [__APP__] enabled = true port = http,https filter = __APP__ logpath = /var/log/__APP__/logfile.log maxretry = 3f2b_filter.conf: [INCLUDES] before = common.conf [Definition]# Part of regex definition (just used to make more easy to make the global regex) __synapse_start_line = .? \- synapse\..+ \-# Regex definition. failregex = ^%(__synapse_start_line)s INFO \- POST\-(\d+)\-
+
+ Usage: ynh_remove_fail2ban_config
+
+
+ Details: +
+ Requires YunoHost version 3.5.0 or higher. +
+ + + + +
- Usage:
+
+ Usage:
ynh_die --message=MSG [--ret_code=RETCODE]
+
Details:
Requires YunoHost version 2.4.0 or higher.
+ +
+
Usage: ynh_print_info --message="Some message"
+
Details:
Requires YunoHost version 3.2.0 or higher.
+ +
+
Usage: ynh_print_warn --message="Text to print"
+
Arguments:
-m
, --message
: The text to printDetails:
Requires YunoHost version 3.2.0 or higher.
+ +
+
Usage: ynh_print_err --message="Text to print"
+
Arguments:
-m
, --message
: The text to printDetails:
Requires YunoHost version 3.2.0 or higher.
+ +
- Usage: ynh_exec_err command to execute
-ynh_exec_err "command to execute | following command"
-In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
-If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.
+
+ Usage: ynh_exec_err your_command
+ynh_exec_err "your_command | other_command"
+
Arguments:
command
: command to executeDetails:
- Requires YunoHost version 3.2.0 or higher. + When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.Requires YunoHost version 3.2.0 or higher.
+ +
- Usage: ynh_exec_warn command to execute
-ynh_exec_warn "command to execute | following command"
-In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
-If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.
+
+ Usage: ynh_exec_warn your_command
+ynh_exec_warn "your_command | other_command"
+
Arguments:
command
: command to executeDetails:
- Requires YunoHost version 3.2.0 or higher. + When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.Requires YunoHost version 3.2.0 or higher.
+ +
- Usage: ynh_exec_warn_less command to execute
-ynh_exec_warn_less "command to execute | following command"
-In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
-If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.
+
+ Usage: ynh_exec_warn_less your_command
+ynh_exec_warn_less "your_command | other_command"
+
Arguments:
command
: command to executeDetails:
- Requires YunoHost version 3.2.0 or higher. + When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.Requires YunoHost version 3.2.0 or higher.
+ +
- Usage: ynh_exec_quiet command to execute
-ynh_exec_quiet "command to execute | following command"
-In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
-If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.
+
+ Usage: ynh_exec_quiet your_command
+ynh_exec_quiet "your_command | other_command"
+
Arguments:
command
: command to executeDetails:
- Requires YunoHost version 3.2.0 or higher. + When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.Requires YunoHost version 3.2.0 or higher.
+ +
- Usage: ynh_exec_fully_quiet command to execute
-ynh_exec_fully_quiet "command to execute | following command"
-In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe.
-If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.
+
+ Usage: ynh_exec_fully_quiet your_command
+ynh_exec_fully_quiet "your_command | other_command"
+
Arguments:
command
: command to executeDetails:
- Requires YunoHost version 3.2.0 or higher. + When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.Requires YunoHost version 3.2.0 or higher.
+ +
- Usage: ynh_print_OFF
-WARNING: You should be careful with this helper, and never forget to use ynh_print_ON as soon as possible to restore the logging.
+
+ Usage: ynh_print_OFF
+
Details:
- Requires YunoHost version 3.2.0 or higher. + WARNING: You should be careful with this helper, and never forget to use ynh_print_ON as soon as possible to restore the logging.Requires YunoHost version 3.2.0 or higher.
+ +
+
Usage: ynh_print_ON
+
Details:
Requires YunoHost version 3.2.0 or higher.
+ +
+
Usage: ynh_script_progression --message=message [--weight=weight] [--time]
+
Arguments:
-m
, --message=
: The text to print-w
, --weight=
: The weight for this progression. This value is 1 by default. Use a bigger value for a longer part of the script.-t
, --time=
: Print the execution time since the last call to this helper. Especially usefull to define weights.-t
, --time=
: Print the execution time since the last call to this helper. Especially usefull to define weights. The execution time is given for the duration since the previous call. So the weight should be applied to this previous call.-l
, --last=
: Use for the last call of the helper, to fill te progression bar.Details:
- Requires YunoHost version 3.?.? or higher. + Requires YunoHost version 3.5.0 or higher.
+ +
+
+ Usage: ynh_return somedata
+
+
+ Details: +
+ Requires YunoHost version 3.6.0 or higher. +
+ + + + +
+
+ Usage: ynh_debug [--message=message] [--trace=1/0]
+
+
+ Arguments: +
-m
, --message=
: The text to print-t
, --trace=
: Turn on or off the trace of the script. Usefull to trace nonly a small part of a script.+ Details: +
+ Requires YunoHost version 3.5.0 or higher. +
+ + + + +
+
+ Usage: ynh_debug_exec your_command
+ynh_debug_exec "your_command | other_command"
+
+
+ Arguments: +
command
: command to execute+ Details: +
+ When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.Requires YunoHost version 3.5.0 or higher. +
+ + + + +
+
+ Usage: ynh_use_logrotate [--logfile=/log/file] [--nonappend] [--specific_user=user/group]
+
+
+ Arguments: +
-l
, --logfile
: absolute path of logfile-n
, --nonappend
: (optional) Replace the config file instead of appending this new config.-u
, --specific_user
: run logrotate as the specified user and group. If not specified logrotate is runned as root.+ Details: +
+ If no --logfile is provided, /var/log/${app} will be used as default.logfile can be just a directory, or a full path to a logfile :/parentdir/logdir/parentdir/logdir/logfile.logIt's possible to use this helper multiple times, each config will be added tothe same logrotate config file. Unless you use the option --non-appendRequires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_remove_logrotate
+
+
+ Details: +
+ Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_mysql_connect_as --user=user --password=password [--database=database]
+
+
+ Arguments: +
-u
, --user
: the user name to connect as-p
, --password
: the user password-d
, --database
: the database to connect to
+ Example: ynh_mysql_connect_as 'user' 'pass' <<< "UPDATE ...;" example: ynh_mysql_connect_as 'user' 'pass' < /path/to/file.sql
+
+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_mysql_execute_as_root --sql=sql [--database=database]
+
+
+ Arguments: +
-s
, --sql
: the SQL command to execute-d
, --database
: the database to connect to+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_mysql_execute_file_as_root --file=file [--database=database]
+
+
+ Arguments: +
-f
, --file
: the file containing SQL commands-d
, --database
: the database to connect to+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_mysql_dump_db --database=database
+
+
+ Arguments: +
-d
, --database
: the database name to dump+ Returns: the mysqldump output +
+ + +
+ Example: ynh_mysql_dump_db 'roundcube' > ./dump.sql
+
+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_mysql_user_exists --user=user
+
+
+ Arguments: +
-u
, --user
: the user for which to check existence+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_mysql_setup_db --db_user=user --db_name=name [--db_pwd=pwd]
+
+
+ Arguments: +
-u
, --db_user
: Owner of the database-n
, --db_name
: Name of the database-p
, --db_pwd
: Password of the database. If not provided, a password will be generated+ Details: +
+ After executing this helper, the password of the created database will be available in $db_pwdIt will also be stored as "mysqlpwd" into the app settings.Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_mysql_remove_db --db_user=user --db_name=name
+
+
+ Arguments: +
-u
, --db_user
: Owner of the database-n
, --db_name
: Name of the database+ Details: +
+ Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_find_port --port=begin_port
+
+
+ Arguments: +
-p
, --port
: port to start to search
+ Example: port=$(ynh_find_port --port=8080)
+
+ Details: +
+ Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_validate_ip --family=family --ip_address=ip_address
+
+
+ Returns: 0 for valid ip addresses, 1 otherwise +
+ + +
+ Example: ynh_validate_ip 4 111.222.333.444
+
+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_validate_ip4 --ip_address=ip_address
+
+
+ Returns: 0 for valid ipv4 addresses, 1 otherwise +
+ + +
+ Example: ynh_validate_ip4 111.222.333.444
+
+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_validate_ip6 --ip_address=ip_address
+
+
+ Returns: 0 for valid ipv6 addresses, 1 otherwise +
+ + +
+ Example: ynh_validate_ip6 2000:dead:beef::1
+
+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_add_nginx_config "list of others variables to replace"
+
+
+ Arguments: +
list
: (Optional) list of others variables to replace separated by spaces. For example : 'path_2 port_2 ...'+ Details: +
+ This will use a template in ../conf/nginx.conf __PATH__ by $path_url __DOMAIN__ by $domain __PORT__ by $port __NAME__ by $app __FINALPATH__ by $final_pathAnd dynamic variables (from the last example) : __PATH_2__ by $path_2 __PORT_2__ by $port_2Requires YunoHost version 2.7.2 or higher. +
+ + + + +
+
+ Usage: ynh_remove_nginx_config
+
+
+ Details: +
+ Requires YunoHost version 2.7.2 or higher. +
+ + + + +
+
+ Usage: ynh_use_nodejs
+
+
+ Details: +
+ ynh_use_nodejs has to be used in any app scripts before using node for the first time.2 variables are available: - $nodejs_path: The absolute path of node for the chosen version. - $nodejs_version: Just the version number of node for this app. Stored as 'nodejs_version' in settings.yml.And 2 alias stored in variables: - $nodejs_use_version: An old variable, not used anymore. Keep here to not break old apps NB: $PATH will contain the path to node, it has to be propagated to any other shell which needs to use it. That's means it has to be added to any systemd script.Requires YunoHost version 2.7.12 or higher. +
+ + + + +
+
+ Usage: ynh_install_nodejs --nodejs_version=nodejs_version
+
+
+ Arguments: +
-n
, --nodejs_version
: Version of node to install. When possible, your should prefer to use major version number (e.g. 8 instead of 8.10.0). The crontab will then handle the update of minor versions when needed.+ Details: +
+ n (Node version management) uses the PATH variable to store the path of the version of node it is going to use.That's how it changes the versionynh_install_nodejs will install the version of node provided as argument by using n.Requires YunoHost version 2.7.12 or higher. +
+ + + + +
+
+ Usage: ynh_remove_nodejs
+
+
+ Details: +
+ This helper will check if another app uses the same version of node,if not, this version of node will be removed.If no other app uses node, n will be also removed.Requires YunoHost version 2.7.12 or higher. +
+ + + + +
+
+ Usage: ynh_add_fpm_config [--phpversion=7.X]
+
+
+ Arguments: +
-v
, --phpversion
: Version of php to use.+ Details: +
+ Requires YunoHost version 2.7.2 or higher. +
+ + + + +
+
+ Usage: ynh_remove_fpm_config
+
+
+ Details: +
+ Requires YunoHost version 2.7.2 or higher. +
+ + + + +
+
Usage: ynh_psql_connect_as --user=user --password=password [--database=database]
+
Arguments:
-u
, --user
: the user name to connect as-p
, --password
: the user password-d
, --database
: the database to connect to
- Example: ynh_psql_connect_as 'user' 'pass' <<< "UPDATE ...;" example: ynh_psql_connect_as 'user' 'pass' < /path/to/file.sql
+ Examples:
ynh_psql_connect_as 'user' 'pass' <<< "UPDATE ...;"
+
+ ynh_psql_connect_as 'user' 'pass' < /path/to/file.sql
+
+ Details:
- Requires YunoHost version 3.?.? or higher. + Requires YunoHost version 3.5.0 or higher.
+ +
+
Usage: ynh_psql_execute_as_root --sql=sql [--database=database]
+
Arguments:
-s
, --sql
: the SQL command to execute-d
, --database
: the database to connect toDetails:
- Requires YunoHost version 3.?.? or higher. + Requires YunoHost version 3.5.0 or higher.
+ +
+
Usage: ynh_psql_execute_file_as_root --file=file [--database=database]
+
Arguments:
-f
, --file
: the file containing SQL commands-d
, --database
: the database to connect toDetails:
- Requires YunoHost version 3.?.? or higher. + Requires YunoHost version 3.5.0 or higher.
+ +
+
Usage: ynh_psql_dump_db --database=database
+
Arguments:
-d
, --database
: the database name to dumpReturns: the psqldump output
+ +
Example: ynh_psql_dump_db 'roundcube' > ./dump.sql
Details:
- Requires YunoHost version 3.?.? or higher. + Requires YunoHost version 3.5.0 or higher.
+ +
+
Usage: ynh_psql_user_exists --user=user
+
Arguments:
-u
, --user
: the user for which to check existence
+
Usage: ynh_psql_database_exists --database=database
+
Arguments:
-d
, --database
: the database for which to check existence
+
Usage: ynh_psql_setup_db --db_user=user --db_name=name [--db_pwd=pwd]
+
Arguments:
-u
, --db_user
: Owner of the database-n
, --db_name
: Name of the database-p
, --db_pwd
: Password of the database. If not given, a password will be generatedDetails:
After executing this helper, the password of the created database will be available in $db_pwdIt will also be stored as "psqlpwd" into the app settings.
+ +
+
Usage: ynh_psql_remove_db --db_user=user --db_name=name
+
Arguments:
-u
, --db_user
: Owner of the database-n
, --db_name
: Name of the database
+
Usage: ynh_psql_test_if_first_run
+
+
Usage: ynh_app_setting_get --app=app --key=key
+
Arguments:
-a
, --app
: the application id-k
, --key
: the setting to getDetails:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_app_setting_set --app=app --key=key --value=value
+
Arguments:
-a
, --app
: the application id-k
, --key
: the setting name to set-v
, --value
: the setting value to setDetails:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_app_setting_delete --app=app --key=key
+
Arguments:
-a
, --app
: the application id-k
, --key
: the setting to deleteDetails:
Requires YunoHost version 2.2.4 or higher.
+ +
+
+ Usage: ynh_add_skipped_uris [--appid=app] --url=url1,url2 [--regex]
+
+
+ Arguments: +
-a
, --appid
: the application id-u
, --url
: the urls to add to the sso for this app-r
, --regex
: Use the key 'skipped_regex' instead of 'skipped_uris'+ Details: +
+ An URL set with 'skipped_uris' key will be totally ignored by the SSO,which means that the access will be public and the logged-in user information will not be passed to the app.Requires YunoHost version 3.6.0 or higher. +
+ + + + +
+
+ Usage: ynh_add_unprotected_uris [--appid=app] --url=url1,url2 [--regex]
+
+
+ Arguments: +
-a
, --appid
: the application id-u
, --url
: the urls to add to the sso for this app-r
, --regex
: Use the key 'unprotected_regex' instead of 'unprotected_uris'+ Details: +
+ An URL set with unprotected_uris key will be accessible publicly, but if an user is logged in,his information will be accessible (through HTTP headers) to the app.Requires YunoHost version 3.6.0 or higher. +
+ + + + +
+
+ Usage: ynh_add_protected_uris [--appid=app] --url=url1,url2 [--regex]
+
+
+ Arguments: +
-a
, --appid
: the application id-u
, --url
: the urls to add to the sso for this app-r
, --regex
: Use the key 'protected_regex' instead of 'protected_uris'+ Details: +
+ An URL set with protected_uris will be blocked by the SSO and accessible only to authenticated and authorized users.Requires YunoHost version 3.6.0 or higher. +
+ + + + +
+
+ Usage: ynh_webpath_available --domain=domain --path_url=path
+
+
+ Arguments: +
-d
, --domain
: the domain/host of the url-p
, --path_url
: the web path to check the availability of
+ Example: ynh_webpath_available --domain=some.domain.tld --path_url=/coffee
+
+ Details: +
+ Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_webpath_register --app=app --domain=domain --path_url=path
+
+
+ Arguments: +
-a
, --app
: the app for which the domain should be registered-d
, --domain
: the domain/host of the web path-p
, --path_url
: the web path to be registered
+ Example: ynh_webpath_register --app=wordpress --domain=some.domain.tld --path_url=/coffee
+
+ Details: +
+ Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_permission_create --permission "permission" [--url "url"] [--allowed group1 group2]
+
+
+ Arguments: +
permission
: the name for the permission (by default a permission named "main" already exist)url
: (optional) URL for which access will be allowed/forbiddenallowed
: (optional) A list of group/user to allow for the permission
+ Example: ynh_permission_create --permission admin --url /admin --allowed alice bob
+
+ Details: +
+ If provided, 'url' is assumed to be relative to the app domain/path if theystart with '/'. For example: / -> domain.tld/app /admin -> domain.tld/app/admin domain.tld/app/api -> domain.tld/app/api'url' can be later treated as a regex if it starts with "re:".For example: re:/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$ re:domain.tld/app/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$Requires YunoHost version 3.7.0 or higher. +
+ + + + +
+
+ Usage: ynh_permission_delete --permission "permission"
+
+
+ Arguments: +
permission
: the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
+ Example: ynh_permission_delete --permission editors
+
+ Details: +
+ Requires YunoHost version 3.7.0 or higher. +
+ + + + +
+
+ Usage: ynh_permission_exists --permission=permission
+
+
+ Arguments: +
-p
, --permission
: the permission to check+ Details: +
+ Requires YunoHost version 3.7.0 or higher. +
+ + + + +
+
+ Usage: ynh_permission_url --permission "permission" --url "url"
+
+
+ Arguments: +
permission
: the name for the permission (by default a permission named "main" is removed automatically when the app is removed)url
: (optional) URL for which access will be allowed/forbidden+ Details: +
+ Requires YunoHost version 3.7.0 or higher. +
+ + + + +
+
+ Usage: ynh_permission_update --permission "permission" --add "group" ["group" ...] --remove "group" ["group" ...]
+
+
+ Arguments: +
permission
: the name for the permission (by default a permission named "main" already exist)add
: the list of group or users to enable add to the permissionremove
: the list of group or users to remove from the permission
+ Example: ynh_permission_update --permission admin --add samdoe --remove all_users Requires YunoHost version 3.7.0 or higher.
+
+
Usage: ynh_string_random [--length=string_length]
+
Arguments:
-l
, --length
: the string length to generate (default: 24)
Example: pwd=$(ynh_string_random --length=8)
Details:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_replace_string --match_string=match_string --replace_string=replace_string --target_file=target_file
+
Arguments:
-m
, --match_string
: String to be searched and replaced in the file-r
, --replace_string
: String that will replace matches-f
, --target_file
: File in which the string will be replaced.Details:
As this helper is based on sed command, regular expressions andreferences to sub-expressions can be used(see sed manual page for more information)Requires YunoHost version 2.6.4 or higher.
+ +
+
Usage: ynh_replace_special_string --match_string=match_string --replace_string=replace_string --target_file=target_file
+
Arguments:
-m
, --match_string
: String to be searched and replaced in the file-r
, --replace_string
: String that will replace matches-t
, --target_file
: File in which the string will be replaced.Details:
This helper will use ynh_replace_string, but as you can use specialcharacters, you can't use some regular expressions and sub-expressions.Requires YunoHost version 2.7.7 or higher.
+ +
- Usage: ynh_abort_if_errors
+
+ Usage: ynh_sanitize_dbid --db_name=name
+
+ Arguments: +
-n
, --db_name
: name to correct/sanitize+ Returns: the corrected name +
+ + +
+ Example: dbname=$(ynh_sanitize_dbid $app)
+
Details:
- This configure the rest of the script execution such that, if an error occursor if an empty variable is used, the execution of the script stopsimmediately and a call to `ynh_clean_setup` is triggered if it has beendefined by your script.Requires YunoHost version 2.6.4 or higher. + Requires YunoHost version 2.2.4 or higher.
+ +
- Usage: ynh_get_debian_release
+
+ Usage: ynh_normalize_url_path --path_url=path_to_normalize
+
- Returns: The Debian release codename (i.e. jessie, stretch, ...) + Arguments: +
-p
, --path_url
: URL path to normalize before using it+ Examples:
url_path=$(ynh_normalize_url_path $url_path)
+
+ ynh_normalize_url_path example # -> /example
+
+ ynh_normalize_url_path /example # -> /example
+
+ ynh_normalize_url_path /example/ # -> /example
+
+ ynh_normalize_url_path / # -> /
+
+ Details:
- Requires YunoHost version 2.7.12 or higher. + Handle the slash at the beginning of path and its absence at endingReturn a normalized url pathRequires YunoHost version 2.6.4 or higher.
+ +
+
+ Usage: ynh_add_systemd_config [--service=service] [--template=template]
+
+
+ Arguments: +
-s
, --service
: Service name (optionnal, $app by default)-t
, --template
: Name of template file (optionnal, this is 'systemd' by default, meaning ./conf/systemd.service will be used as template)+ Details: +
+ This will use the template ../conf/
+
+ Usage: ynh_remove_systemd_config [--service=service]
+
+
+ Arguments: +
-s
, --service
: Service name (optionnal, $app by default)+ Details: +
+ Requires YunoHost version 2.7.2 or higher. +
+ + + + +
- Usage: ynh_systemd_action [-n service_name] [-a action] [ [-l "line to match"] [-p log_path] [-t timeout] [-e length] ]
- If not defined it don't wait until the service is completely started.
- WARNING: When using --line_match, you should always add `ynh_clean_check_starting` into your
- `ynh_clean_setup` at the beginning of the script. Otherwise, tail will not stop in case of failure
- of the script. The script will then hang forever.
+
+ Usage: ynh_systemd_action [-n service_name] [-a action] [ [-l "line to match"] [-p log_path] [-t timeout] [-e length] ]
+
Arguments:
-n
, --service_name=
: Name of the service to start. Default : $app-a
, --action=
: Action to perform with systemctl. Default: start-l
, --line_match=
: Line to match - The line to find in the log to attest the service have finished to boot.-l
, --line_match=
: Line to match - The line to find in the log to attest the service have finished to boot. If not defined it don't wait until the service is completely started. WARNING: When using --line_match, you should always add `ynh_clean_check_starting` into your `ynh_clean_setup` at the beginning of the script. Otherwise, tail will not stop in case of failure of the script. The script will then hang forever.-p
, --log_path=
: Log file - Path to the log file. Default : /var/log/$app/$app.log-t
, --timeout=
: Timeout - The maximum time to wait before ending the watching. Default : 300 seconds.-e
, --length=
: Length of the error log : Default : 20
- Usage: ynh_read_manifest manifest key
-
- Arguments: -
-m
, --manifest=
: Path of the manifest to read-k
, --key=
: Name of the key to find- Details: -
- Requires YunoHost version 3.?.? or higher. -
- - -
- Usage: ynh_app_upstream_version [-m manifest]
-
- Arguments: -
-m
, --manifest=
: Path of the manifest to read- Details: -
- Requires YunoHost version 3.?.? or higher. -
- - -
- Usage: ynh_app_package_version [-m manifest]
-
- Arguments: -
-m
, --manifest=
: Path of the manifest to read- Details: -
- Requires YunoHost version 3.?.? or higher. -
- - -
- Usage: ynh_check_app_version_changed
-
- Details: -
- It stops the current script without error if the package is up-to-dateThis helper should be used to avoid an upgrade of an app, or the upstream partof it, when it's not neededTo force an upgrade, even if the package is up to date,you have to set the variable YNH_FORCE_UPGRADE before.example: sudo YNH_FORCE_UPGRADE=1 yunohost app upgrade MyAppRequires YunoHost version 3.?.? or higher. -
- - +
+
Usage: ynh_user_exists --username=username
+
Arguments:
-u
, --username
: the username to check
Example: ynh_user_exists 'toto' || exit 1
Details:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_user_get_info --username=username --key=key
+
Arguments:
-u
, --username
: the username to retrieve info from-k
, --key
: the key to retrieveReturns: string - the key's value
+ +
Example: mail=$(ynh_user_get_info 'toto' 'mail')
Details:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_user_list
+
Returns: string - one username per line
+ +
Example: for u in $(ynh_user_list); do ...
Details:
Requires YunoHost version 2.4.0 or higher.
+ +
+
Usage: ynh_system_user_exists --username=username
+
Arguments:
-u
, --username
: the username to checkDetails:
Requires YunoHost version 2.2.4 or higher.
+ +
+
Usage: ynh_system_group_exists --group=group
+
Arguments:
-g
, --group
: the group to check
+
Usage: ynh_system_user_create --username=user_name [--home_dir=home_dir] [--use_shell]
+
Arguments:
-u
, --username
: Name of the system user that will be create-h
, --home_dir
: Path of the home dir for the user. Usually the final path of the app. If this argument is omitted, the user will be created without home-s
, --use_shell
: Create a user using the default login shell if present. If this argument is omitted, the user will be created with /usr/sbin/nologin shellExamples:
ynh_system_user_create --username=nextcloud
+
ynh_system_user_create --username=discourse --home_dir=/var/www/discourse --use_shell
+
Details:
Requires YunoHost version 2.6.4 or higher.
+ +
+
Usage: ynh_system_user_delete --username=user_name
+
Arguments:
-u
, --username
: Name of the system user that will be createDetails:
Requires YunoHost version 2.6.4 or higher.
+ +
- Usage: ynh_get_plain_key key [subkey [subsubkey ...]]
-
- Returns: string - the key's value -
-
- Example: yunohost user info tata --output-as plain | ynh_get_plain_key mail
+
+ Usage: ynh_abort_if_errors
+
Details:
- Requires YunoHost version 2.2.4 or higher. + This configure the rest of the script execution such that, if an error occursor if an empty variable is used, the execution of the script stopsimmediately and a call to `ynh_clean_setup` is triggered if it has beendefined by your script.Requires YunoHost version 2.6.4 or higher.
+ -
- Usage: ynh_backup_before_upgrade
-ynh_clean_setup () {
- ynh_restore_upgradebackup
-}
-ynh_abort_if_errors
-
- Details: -
- Requires YunoHost version 2.7.2 or higher. -
- - -
- Usage: ynh_backup_before_upgrade
-ynh_clean_setup () {
- ynh_restore_upgradebackup
-}
-ynh_abort_if_errors
-
- Details: -
- Requires YunoHost version 2.7.2 or higher. -
- - +
+
Usage: ynh_setup_source --dest_dir=dest_dir [--source_id=source_id]
+
Arguments:
-d
, --dest_dir
: Directory where to setup sources-s
, --source_id
: Name of the app, if the package contains more than one appDetails:
The file conf/app.src need to contains:SOURCE_URL=Address to download the app archiveSOURCE_SUM=Control sum# (Optional) Program to check the integrity (sha256sum, md5sum...)# default: sha256SOURCE_SUM_PRG=sha256# (Optional) Archive format# default: tar.gzSOURCE_FORMAT=tar.gz# (Optional) Put false if sources are directly in the archive root# default: true# Instead of true, SOURCE_IN_SUBDIR could be the number of sub directories# to remove.SOURCE_IN_SUBDIR=false# (Optionnal) Name of the local archive (offline setup support)# default: ${src_id}.${src_format}SOURCE_FILENAME=example.tar.gz# (Optional) If it set as false don't extract the source.# (Useful to get a debian package or a python wheel.)# default: trueSOURCE_EXTRACT=(true|false)Details:This helper downloads sources from SOURCE_URL if there is no local sourcearchive in /opt/yunohost-apps-src/APP_ID/SOURCE_FILENAMENext, it checks the integrity with "SOURCE_SUM_PRG -c --status" command.If it's ok, the source archive will be uncompressed in $dest_dir. If theSOURCE_IN_SUBDIR is true, the first level directory of the archive will beremoved.If SOURCE_IN_SUBDIR is a numeric value, 2 for example, the 2 first leveldirectories will be removedFinally, patches named sources/patches/${src_id}-*.patch and extra files insources/extra_files/$src_id will be applied to dest_dirRequires YunoHost version 2.6.4 or higher.
+ +
+
Usage: ynh_local_curl "page_uri" "key1=value1" "key2=value2" ...
+
Arguments:
page_uri
: Path (relative to $path_url) of the page where POST data will be sentkey1=value1
: (Optionnal) POST key and corresponding valuekey2=value2
: (Optionnal) Another POST key and corresponding value...
: (Optionnal) More POST keys and values
Example: ynh_local_curl "/install.php?installButton" "foo=$var1" "bar=$var2"
Details:
$domain and $path_url should be defined externally (and correspond to the domain.tld and the /path (of the app?))Requires YunoHost version 2.6.4 or higher.
+ +
+
Usage: ynh_render_template some_template output_path
+
Arguments:
some_template
: Template file to be renderedoutput_path
: The path where the output will be redirected toDetails:
Attention : Variables should be exported before calling this helper to beaccessible inside templates.
+ +Generated by this script on 2019-04-08 18:53:09.449596 (version 3.5.1.1)
+ + + +
+
+ Usage: ynh_get_debian_release
+
+
+ Returns: The Debian release codename (i.e. jessie, stretch, ...) +
+ + + + ++ Details: +
+ Requires YunoHost version 2.7.12 or higher. +
+ + + + +
+
+ Usage: ynh_secure_remove --file=path_to_remove
+
+
+ Arguments: +
-f
, --file
: File or directory to remove+ Details: +
+ Requires YunoHost version 2.6.4 or higher. +
+ + + + +
+
+ Usage: ynh_get_plain_key key [subkey [subsubkey ...]]
+
+
+ Returns: string - the key's value +
+ + +
+ Example: yunohost user info tata --output-as plain | ynh_get_plain_key mail
+
+ Details: +
+ Requires YunoHost version 2.2.4 or higher. +
+ + + + +
+
+ Usage: ynh_read_manifest manifest key
+
+
+ Arguments: +
-m
, --manifest=
: Path of the manifest to read-k
, --key=
: Name of the key to find+ Details: +
+ Requires YunoHost version 3.5.0 or higher. +
+ + + + +
+
+ Usage: ynh_app_upstream_version [-m manifest]
+
+
+ Arguments: +
-m
, --manifest=
: Path of the manifest to read+ Details: +
+ The version number in the manifest is defined by
+
+ Usage: ynh_app_package_version [-m manifest]
+
+
+ Arguments: +
-m
, --manifest=
: Path of the manifest to read+ Details: +
+ The version number in the manifest is defined by
+
+ Usage: ynh_check_app_version_changed
+
+
+ Details: +
+ - UPGRADE_APP if the upstream app version has changed- UPGRADE_PACKAGE if only the YunoHost package has changedIt stops the current script without error if the package is up-to-dateThis helper should be used to avoid an upgrade of an app, or the upstream partof it, when it's not neededTo force an upgrade, even if the package is up to date,you have to set the variable YNH_FORCE_UPGRADE before.example: sudo YNH_FORCE_UPGRADE=1 yunohost app upgrade MyAppRequires YunoHost version 3.5.0 or higher. +
+ + + + +*Write down the `IP address` field visible on the screen: It is your server's **local IP address**.* -
+*Nota el valor `IP` visible en la pantalla : esto es **la dirección IP local** de tu servidor.* +
+ ++ *Notez la valeur `IP` affichée à l’écran : c’est **l’adresse IP locale** de votre serveur.* -
+Vistazo de la post-instalación Web
* + +### Vía la interfaz de línea de comando + +También puedes acceder a la post-instalación entrando el comando `yunohost tools postinstall` directamente en el servidor o [en SSH](/ssh). + +Vistazo de la post-instalación con línea de comando
* + +## Informaciones solicitadas + +### Dominio principal + +Es el nombre de dominio que permitirá el acceso a tu servidor así como al portal de autenticación de los usuarios. Entonces estará **visible por todo el mundo** : elígelo en consecuencia. + +* YunoHost te propone un DNS dinámico, proveando nombres de dominio del tipo *midominio.nohost.me*, *midominio.noho.st* o *midominio.ynh.fr*. Si no posees un nombre de dominio y/o que quieres aprovechar de este servicio, elige un dominio terminando con `.nohost.me`, `.noho.st` o `.ynh.fr`. Si no está utlizado ya, el dominio automáticamente estará vinculado a tu servidor Yunohost, y no tendrás más etapas de configuración. + +* Si, en cambio, dominas la noción de **DNS**, puedes utilizar tu propio nombre de dominio. En este caso, refiérete a la página [yunohost.org/dns](/dns) por más información. + +* Si no tienes nombre de dominio y que no quieres uno que acabe con *.nohost.me*, *.noho.st* ou *.ynh.fr*, puedes utilizar un dominio local. Más información sobre cómo [acceder a tu servidor desde la red local](/dns_local_network). + + +### Contraseña de administración + +Es la contraseña que permitirá acceder a la [interfaz de administración](/admin) de tu servidor. También podrás utilizarla para conectarte remotamente vía **SSH**, o vía **SFTP** para transferir archivos. + +De manera general, ésta es la **llave de entrada en tu sistema**, pues piensa en **[elegirla atentamente](https://es.wikihow.com/escoger-una-contrase%C3%B1a-segura)**. + +Usuario : demo
Contraseña : demo
Contraseña : demo
++***El servidor de demo es ofrecido generosamente por +Gitoyen*** +
+ + diff --git a/update.md b/update.md index a4982ee2..0a6005a9 100644 --- a/update.md +++ b/update.md @@ -15,5 +15,5 @@ From the command line, you can run: ``` bash yunohost tools update -yunohost tools upgrade --ignore-apps +yunohost tools upgrade --system ``` diff --git a/update_fr.md b/update_fr.md index be0b9718..64577aff 100644 --- a/update_fr.md +++ b/update_fr.md @@ -16,5 +16,5 @@ Depuis la ligne de commande, vous pouvez utiliser : ``` bash yunohost tools update -yunohost tools upgrade --ignore-apps +yunohost tools upgrade --system ``` diff --git a/use_case_non-profit_organisations.md b/use_case_non-profit_organisations.md new file mode 100644 index 00000000..f16fdf53 --- /dev/null +++ b/use_case_non-profit_organisations.md @@ -0,0 +1,204 @@ +# YunoHost for non-profit + +## Table of Contents +* [Introduction](#introduction) +* [Who](#who) +* [What](#what) +* [When](#when) +* [Where](#where) +* [Why](#why) +* [How](#how) +* [Conclusion](#conclusion) + +## Introduction + +The object of this document is to present a specific use of [YunoHost](https://yunohost.org/) for non-profit organizations. + +## Who + +Non-profit organizations, NGO or any kind of association. + +## What + +Usually non-profit organizations need to provide several services to several publics: + +* Board of Directors / Steering Committee / Volunteers with: + * [Mails](#mails) + * [Calendar](#calendar) + * [Contact](#contact) + * [Shared files / Drive](#shared-files) + * [Instant communication](#instant-communication) + * [Intranet / knowledge database](#intranet) + * [ERP / Accounting](#erp-accounting) +* Members with: + * [Public website with private and individual access](#public-web-site) + * [Membership](#membership) + * [Events registrations](#events-registrations) + * [Mailings](#newsletter-mailing) + * [Forum](#forum) +* Public with: + * [Public website](#public-web-site) + * [Newsletter](#newsletter-mailing) + +## When + +When ready to move forward. + +## Where + +You YunoHost for non profit can be hosted in several places: +* Own hosting on a server, computer or Raspberry behind ASDL, SDSL or Fiber +* [Chatons](https://chatons.org), [librehosters](https://framagit.org/librehosters/awesome-librehosters) hosting services +* Commercial hosting services providing Debian virtual machine + +## Why + +YunoHost can provide mostly all needs of a non-profit organization. +Keeping their data on their own. + +## How + +### YunoHost + +YunoHost is a Debian GNU/Linux based distribution packaged with free software that automates the installation of a personal web server. The purpose of YunoHost is to allow users to easily host their own web services by enabling a simple point-and-click web interface for installing various web apps. + + + +Out of the box YunoHost provide: +* A system of application +* A web interface +* A command-line interface (CLI): Moulinette +* A web server: Nginx +* A DNS server: Dnsmasq +* A database: MariaDB +* A backup system +* An SSO : SSOwat +* OpenLDAP +* Email: + * SMTP: Postfix + * IMAP & POP3: Dovecot + * An antispam: rspamd,rmilter +* Instant messaging XMPP server: Metronome IM + +### Domain Name + +The first thing you will need to implement a YunoHost server is a domain name. The domain name can usually be provided with your hosting service. + +### Mails + +From scratch, YunoHost provide mail system available using POP/IMAP/SMTP. +Mails accounts will be managed using the web interface or the command line. Created accounts are stored in OpenLDAP. + +Additional package can be installed to provide more functionality to the YunoHost mail system: +* Webmail using [Roundcube](https://github.com/YunoHost-Apps/roundcube_ynh), [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) +* ActiveSync using [Z-Push](https://github.com/YunoHost-Apps/z-push_ynh) +* Internal distribution group using [Mailman](https://github.com/YunoHost-Apps/mailman_ynh) + +### Calendar + +To provide personal or shared calendars you will need to install: +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Contact + +To provide personal contact system you will need to install: +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Shared files + +To provide shared files system: personal and shared drive, you can install [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh). +Files will be available from a web interface or using a synchronization client. + +### Instant communication + +Out of the box, YunoHost provide an XMPP server, for which you can install a web client: [Jappix](https://github.com/YunoHost-Apps/jappix_ynh). + +You can also install a matrix server: +* The server: [Synapse](https://github.com/YunoHost-Apps/synapse_ynh) +* A web client: [Riot](https://github.com/YunoHost-Apps/_ynh) + +### Intranet + +For an non-profit organization a good way to implement an intranet is to provide a wiki to let internal users read, edit and add content. Here are some packages to implement a wiki: +* [DokuWiki](https://github.com/YunoHost-Apps/docuwiki_ynh) using wiki syntax +* [Wiki.js](https://github.com/YunoHost-Apps/wikijs_ynh) using markdown syntax + +### ERP / Accounting + +At some time a non-profit organization could need an accounting/erp system, here are two propositions: +* [OpenERP/Odoo](https://github.com/YunoHost-Apps/libreerp_ynh) +* [Dolibarr](https://github.com/YunoHost-Apps/dolibarr_ynh) + +### Public Web Site + +There are several way to implement a Public Web Site: +* Simple html, css, etc... Website using: [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh) +* Using a CMS (Content Management System) like [Wordpress](https://github.com/YunoHost-Apps/_ynh), [Drupal](https://github.com/YunoHost-Apps/drupal_ynh) , [Grav](https://github.com/YunoHost-Apps/grav_ynh), [PluXml](https://github.com/YunoHost-Apps/pluxml_ynh) + +But we will propose something more powerful: [CiviCRM on Drupal 7](https://github.com/YunoHost-Apps/civicrm_drupal7_ynh): +* Drupal that is a powerful open source content management framework +* with CiviCRM that is an open source constituent relationship management for non-profits + +#### Membership + +With CiviCRM you can provide online membership and payment. + +#### Events Registrations + +With CiviCRM, you can provide an online diary to let members or public register for free or with a payment. + +#### Newsletter/Mailing + +Best way to manage that is using CiviCRM and its mailing module. + +### Forum + +You have several choices, or having an integrated forum in Drupal or using a dedicated forum system like [Flarum](https://github.com/YunoHost-Apps/flarum_ynh). + +### Backup + +YunoHost provide is own backup system. Before any package upgrade, YunoHost backup the current version of the package and automaticaly restore it if the upgrade fails. +Yunohost backup are stored localy in `/home/yunohost.backup/archives`. + +But for production, localy stored backup are not enough, so you will need to implement aditional backup strategies: +* Backup of the the Virtual Machine if provided by the hosting system. +* [Archivist](https://github.com/YunoHost-Apps/archivist_ynh) is an automatic backup system for your server. Your backups can be send to many other places, local or distant. +* [Borg](https://github.com/YunoHost-Apps/borg_ynh) and [Borg Server](https://github.com/YunoHost-Apps/borgserver_ynh) allow to externalize backups. +* [Fallback](https://github.com/YunoHost-Apps/fallback_ynh), if you have two yunohost servers, provide a way to have a secondary server which you can used if your main server goes down. This secondary server will allow you to deploy a copy of your server to bring back your YunoHost during your break down. + +### Go further + +#### Federated Photo Gallery + +* [Pixelfed](https://github.com/YunoHost-Apps/pixelfed_ynh) + +#### Federated Audio Gallery + +* [Reel2Bits](https://github.com/YunoHost-Apps/reel2bits_ynh) +* [Funkwhale](https://github.com/YunoHost-Apps/funkwhale_ynh) + +#### Federated Video Gallery + +* [PeerTube](https://github.com/YunoHost-Apps/peertube_ynh) + +#### Federated Social Networking + +* [Mastodon](https://github.com/YunoHost-Apps/mastodon_ynh) +* [Pleroma](https://github.com/YunoHost-Apps/pleroma_ynh) +* [Mobilizon](https://github.com/YunoHost-Apps/mobilizon_ynh) + +#### Federated Blog + +* [Plume](https://github.com/YunoHost-Apps/plume_ynh) +* [Writefreely](https://github.com/YunoHost-Apps/writefreely_ynh) + +#### Chat + +* [Mattermost](https://github.com/YunoHost-Apps/mattermost_ynh) + +## Conclusion + +YunoHost can cover 99% of the needs of non-profit organizations, allowing them to own and protect their data, choose applications they want to use. +And if one is not available, they can [package it for YunoHost](/contributordoc), it's very simple. diff --git a/use_case_non-profit_organisations_fr.md b/use_case_non-profit_organisations_fr.md new file mode 100644 index 00000000..5e95773f --- /dev/null +++ b/use_case_non-profit_organisations_fr.md @@ -0,0 +1,203 @@ +# YunoHost for non-profit + +## Table of Contents +* [Introduction](#introduction) +* [Qui ](#qui) +* [Quoi](#quoi) +* [Quand](#quand) +* [Où](#o-) +* [Pourquoi](#pourquoi) +* [Comment](#comment) +* [Conclusion](#conclusion) + +## Introduction + +L'objet de ce document est de présenter une utilisation spécifique de [YunoHost](https://yunohost.org/) pour des organisations à but non lucratif. + +## Qui + +Organisations à but non lucratif, ONG ou tout type d'association. + +## Quoi + +Les organisations à but non lucratif doivent généralement fournir différents services à différents publics: + +* Conseil d'administration / Comité directeur / Bénévoles avec: + * [Mails](#mails) + * [Calendrier](#calendrier) + * [Contact](#contact) + * [Fichiers partagés / Drive](#fichiers-partag-s) + * [Communication instantanée](#communication-instantan-e) + * [Intranet / Base de connaissances](#intranet) + * [ERP / Comptabilité](#erp-comptabilit-) +* Membres avec: + * [Site Web public avec accès privé et individuel](#site-web-public) + * [Adhésion](#adh-sion) + * [Inscriptions aux événements](#inscriptions-aux-v-nements) + * [Mailings](#newsletter-mailing) + * [Forum](#forum) +* Public avec: + * [Site Web public](#site-web-public) + * [Newsletter](#newsletter-mailing) + +## Quand + +Lorsque l'organisation à but non lucratif est prête à franchir le pas. + +## Où + +Le serveur YunoHost peut être hébergé à différents endroits : +* Hébergement en propre sur un serveur, un ordinateur ou Raspberry derrière ADSL, SDSL ou Fibre +* [Chatons](https://chatons.org), [librehosters](https://framagit.org/librehosters/awesome-librehosters) +* Services d'hébergement commercial fournissant une machine virtuelle Debian + +## Pourquoi + +YunoHost peut répondre à tous les besoins d'une organisation à but non lucratif et lui permettre de conserver la maîtrise de ses données. + +## Comment + +### YunoHost + +YunoHost est une distribution basée sur Debian GNU/Linux qui automatise l’installation d’un serveur Web personnel. Le but de YunoHost est de permettre aux utilisateurs d’héberger facilement leurs propres services Web en proposant une interface Web simple, pointer-cliquer, pour installer diverses applications Web. + + + +YunoHost fournit immédiatement: +* Un système d'application +* Une interface web +* Une interface de ligne de commande (CLI): Moulinette +* Un serveur Web : Nginx +* Un serveur DNS : Dnsmasq +* Une base de données: MariaDB +* Un système de sauvegarde +* Un SSO: SSOwat +* OpenLDAP +* Email : + * SMTP: Postfix + * IMAP & POP3 : Dovecot + * Un antispam : rspamd, rmilter +* Serveur XMPP de messagerie instantanée : Metronome IM + +### Nom de domaine + +La première chose dont vous aurez besoin pour implémenter un serveur YunoHost est un nom de domaine. Le nom de domaine peut généralement être fourni avec votre service d'hébergement. + +### Mails + +De base, YunoHost fournit un système de messagerie disponible en utilisant POP / IMAP / SMTP. +Les comptes de messagerie seront gérés à l'aide de l'interface Web ou de la ligne de commande. Les comptes créés sont stockés dans OpenLDAP. + +Des packages supplémentaires peuvent être installés pour fournir davantage de fonctionnalités au système de messagerie YunoHost : +* un webmail en utilisant [Roundcube](https://github.com/YunoHost-Apps/roundcube_ynh), [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) +* ActiveSync utilisant [Z-Push](https://github.com/YunoHost-Apps/z-push_ynh) +* Groupe de distribution interne en utilisant [Mailman](https://github.com/YunoHost-Apps/mailman_ynh) + +### Calendrier + +Pour fournir des calendriers personnels ou partagés, vous devrez installer : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Contact + +Pour fournir un système de contact personnel, vous devrez installer : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Fichiers partagés + +Pour fournir un système de fichiers partagés : dossiers personnels et dossiers partagés, vous pouvez installer [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh). +Les fichiers seront disponibles à partir d'une interface Web ou à l'aide d'un client de synchronisation. + +### Communication instantanée + +De base, YunoHost fournit immédiatement un serveur XMPP pour lequel vous pouvez installer un client Web: [Jappix](https://github.com/YunoHost-Apps/jappix_ynh) + +Vous pouvez également installer un serveur Matrix : +* Le serveur: [Synapse](https://github.com/YunoHost-Apps/synapse_ynh) +* Un client web: [Riot](https://github.com/YunoHost-Apps/_ynh) + +### Intranet + +Pour une organisation à but non lucratif, un bon moyen de mettre en œuvre un intranet est de fournir un wiki permettant aux utilisateurs internes de lire, éditer et ajouter du contenu. Voici quelques paquets pour implémenter un wiki : +* [DokuWiki](https://github.com/YunoHost-Apps/docuwiki_ynh) using wiki syntax +* [Wiki.js](https://github.com/YunoHost-Apps/wikijs_ynh) using markdown syntax + +### ERP / Comptabilité + +À un moment donné, une organisation à but non lucratif pourrait avoir besoin d’un système de Comptabilité / ERP, voici deux propositions : +* [OpenERP/Odoo](https://github.com/YunoHost-Apps/libreerp_ynh) +* [Dolibarr](https://github.com/YunoHost-Apps/dolibarr_ynh) + +### Site Web Public + +Il existe plusieurs façons d'implémenter un site Web public : +* Un simple site HTML, CSS, etc... en utilisant : [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh) +* Utiliser un CMS (système de gestion de contenu) comme [Wordpress](https://github.com/YunoHost-Apps/_ynh), [Drupal](https://github.com/YunoHost-Apps/drupal_ynh) , [Grav](https://github.com/YunoHost-Apps/grav_ynh), [PluXml](https://github.com/YunoHost-Apps/pluxml_ynh) + +Mais nous proposerons quelque chose de plus puissant : [CiviCRM on Drupal 7](https://github.com/YunoHost-Apps/civicrm_drupal7_ynh): +* Drupal qui est un puissant framework de gestion de contenu +* avec CiviCRM qui est un CRM OpenSource à destination des organisations à but non lucratif + +#### Adhésion + +Avec CiviCRM, vous pourrez mettre en place des adhésions en ligne avec paiement. + +#### Inscriptions aux événements + +Avec CiviCRM, vous pourrez mettre à disposition un agenda en ligne avec la possibilité pour les membres ou le public de s'inscrire gratuitement ou en payant. + +#### Newsletter/Mailing + +Le meilleur moyen de gérer cela consiste à utiliser CiviCRM et son module de mailing. + +### Forum + +Vous avez plusieurs choix, avoir un forum intégré dans Drupal ou utiliser un système de forum dédié tel que [Flarum](https://github.com/YunoHost-Apps/flarum_ynh). + +### Sauvegarde + +YunoHost fournit son propre système de sauvegarde. Avant toute mise à niveau de paquet, YunoHost sauvegarde la version actuelle du paquet et la restaure automatiquement si la mise à niveau échoue. +Les sauvegardes Yunohost sont stockées localement dans `/home/yunohost.backup/archives`. + +Mais pour la production, la sauvegarde stockée localement ne suffit pas, vous devez donc mettre en œuvre des stratégies de sauvegarde supplémentaires : +* Sauvegarde de la machine virtuelle si fournie par le système d'hébergement. +* [Archivist](https://github.com/YunoHost-Apps/archivist_ynh) est un système de sauvegarde automatique de votre serveur. Vos sauvegardes peuvent être envoyées à de nombreux autres endroits, locaux ou distants. +* [Borg](https://github.com/YunoHost-Apps/borg_ynh) and [Borg Server](https://github.com/YunoHost-Apps/borgserver_ynh) permettent d'externaliser les sauvegardes. +* [Fallback](https://github.com/YunoHost-Apps/fallback_ynh), si vous avez deux serveurs YunoHost, fournissez un moyen d'avoir un serveur secondaire que vous pourrez utiliser si votre serveur principal tombe en panne. Ce serveur secondaire vous permettra de déployer une copie de votre serveur pour ramener votre YunoHost lors de votre panne. + +### Aller plus loin + +#### Galerie de photos fédérées + +* [Pixelfed](https://github.com/YunoHost-Apps/pixelfed_ynh) + +#### Galerie audio fédérée + +* [Reel2Bits](https://github.com/YunoHost-Apps/reel2bits_ynh) +* [Funkwhale](https://github.com/YunoHost-Apps/funkwhale_ynh) + +#### Galerie vidéo fédérée + +* [PeerTube](https://github.com/YunoHost-Apps/peertube_ynh) + +#### Réseaux sociaux fédérés + +* [Mastodon](https://github.com/YunoHost-Apps/mastodon_ynh) +* [Pleroma](https://github.com/YunoHost-Apps/pleroma_ynh) +* [Mobilizon](https://github.com/YunoHost-Apps/mobilizon_ynh) + +#### Blog fédéré + +* [Plume](https://github.com/YunoHost-Apps/plume_ynh) +* [Writefreely](https://github.com/YunoHost-Apps/writefreely_ynh) + +#### Chat + +* [Mattermost](https://github.com/YunoHost-Apps/mattermost_ynh) + +## Conclusion + +YunoHost peut couvrir 99% des besoins des organisations à but non lucratif, leur permettant de posséder et de protéger leurs données, de choisir les applications qu'elles souhaitent utiliser. +Et s’ils ne sont pas disponibles, ils peuvent [les packager pour YunoHost](/contributordoc), c’est très simple. diff --git a/use_case_non-profit_organisations_oc.md b/use_case_non-profit_organisations_oc.md new file mode 100644 index 00000000..946b3a54 --- /dev/null +++ b/use_case_non-profit_organisations_oc.md @@ -0,0 +1,203 @@ +# YunoHost per organizacion sens tòca lucrativa + +## Ensenhador +* [Introduccion](#introduccion) +* [Qual ](#qual) +* [Qué](#qué) +* [Quand](#quand) +* [Ont](#ont) +* [Perque](#perque) +* [Cossí](#cossí) +* [Conclusion](#conclusion) + +## Introduccion + +L'objectiu d’aqueste document es de presentar una utilizacion especifica de [YunoHost](https://yunohost.org/) per d’organizacions sens tòca lucrativa. + +## Qual + +Organizacions sens tòca lucrativa, ONG o qualque siá associacion. + +## Qué + +Las organizacions sens tòca lucrativa devon generalament fornir diferents servicis a diferents publics : + +* Conselh d'administracion / Comitat director / Benevòls amb : + * [Mails](#mails) + * [Calendièr](#calendièr) + * [Contacte](#contacte) + * [Fichièrs partejats / Drive](#fichièrs-partejats) + * [Comunicacion instantanèa](#comunicacion-instantan-a) + * [Intranet / Basa de coneissenças](#intranet) + * [ERP / Comptabilitat](#erp-comptabilitat) +* Membres amb : + * [Site Web public amb accès privat e individual](#site-web-public) + * [Adhesion](#adhesion) + * [Inscripcions als eveniments](#inscriptions-als-eveniments) + * [Infoletras](#infoletras) + * [Forum](#forum) +* Public amb : + * [Site Web public](#site-web-public) + * [Infoletras](#newsletter-mailing) + +## Quand + +Quand l'organizacion sens tòca lucrativa es prèsta a passar lo pas. + +## Ont + +Lo servidor YunoHost pòt èsser albergat a diferents endreches : +* Albergament en pròpri sus un servidor, un ordenador o Raspberry darrièr una connexion ADSL, SDSL o Fibra +* [Chatons](https://chatons.org), [librehosters](https://framagit.org/librehosters/awesome-librehosters) +* Servicis d'albergament comercial que fornís una maquina virtuala Debian + +## Perque + +YunoHost pòt correspondre als besonhs d'una organizacion sens tòca lucrativa e li permetre de servar lo mestritge de sas donadas. + +## Cossí + +### YunoHost + +YunoHost es una distribucion basada sus Debian GNU/Linux qu’automatiza l’installacion d’un servidor Web personal. La tòca de YunoHost es de permetre als utilizaires d’albergar facilament lors pròpris servicis Web en prepausant una interfàcia Web simpla, als clics, per installar divèrsas aplicacions Web. + + + +YunoHost provesís sul pic: +* Un sistèma d'aplicacion +* Una interfàcia web +* Una interfàcia en linha de comanda (CLI) : Moulinette +* Un servidor Web : Nginx +* Un servidor DNS : Dnsmasq +* Una basa de donadas : MariaDB +* Un sistèma de salvagarda +* Un SSO: SSOwat +* OpenLDAP +* Corrièls : + * SMTP: Postfix + * IMAP & POP3 : Dovecot + * Un antispam : rspamd, rmilter +* Servidor XMPP de messatjariá instantanèa : Metronome IM + +### Nom de domeni + +La primièra causa que vos fa mestièr per installar un servidor YunoHost es un nom de domeni. Lo nom de domeni pòt èsser generalament fornit amb lo servici d’albergament. + +### Corrièls + +A la prima installacion YunoHost fornís un sistèma de messatjariá disponible en utilizant POP / IMAP / SMTP. +Los comptes de messatjariá seràn gerits amb l'interfàcia Web o en linha de comanda. Los comptes creats seràn gardats dins l’OpenLDAP. + +De paquets suplementaris pòdon èsser installats per provesir mai de foncionalitats al sistèma de messatjariá YunoHost : +* un webmail en utilizant [Roundcube](https://github.com/YunoHost-Apps/roundcube_ynh), [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) +* ActiveSync utilizant [Z-Push](https://github.com/YunoHost-Apps/z-push_ynh) +* Grop de distribucion intèrne en utilizant [Mailman](https://github.com/YunoHost-Apps/mailman_ynh) + +### Calendièr + +Per fornir de calendièrs personals o partejats, vos calrà installar : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Contacte + +Per fornir un sistèma de contacte personal, vos caldrà installar : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Fichièrs partejats + +Per fornir un sistèma de fichièrs partejats : dorsièrs personals e dorsièrs partejats, podètz installar [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh). +Las fichièrs seràn disponibles d’una interfàcia web estant o amb un client de sincronizacion. + +### Comunicacion instantanèa + +Tras l’installacion YunoHost fornís sul pic un servidor XMPP per lo qual podètz installar un client Web : [Jappix](https://github.com/YunoHost-Apps/jappix_ynh) + +Podètz tanben installar un servidor Matrix : +* Lo servidor: [Synapse](https://github.com/YunoHost-Apps/synapse_ynh) +* Un client web: [Riot](https://github.com/YunoHost-Apps/_ynh) + +### Intranet + +Per una organizacion sens tòca lucrativa, un bon biais de metre en plaça un intranet es de fornir un wiki que permet als utilizaires intèrne de legir, modificar e ajustar de contengut. Vaquí unes paquets per installar un wiki : +* [DokuWiki](https://github.com/YunoHost-Apps/docuwiki_ynh) utiliza la sintaxi wiki +* [Wiki.js](https://github.com/YunoHost-Apps/wikijs_ynh) utiliza la sintaxi markdown + +### ERP / Comptabilitat + +Arriba un moment ont a l’organizacion sens tòca lucrativa li pòsca far besonh un sistèma de comptabilitat / ERP, vaquí doas proposicions : +* [OpenERP/Odoo](https://github.com/YunoHost-Apps/libreerp_ynh) +* [Dolibarr](https://github.com/YunoHost-Apps/dolibarr_ynh) + +### Site Web Public + +Existís mantuns biaisses de construire un site Web public : +* Un simple site HTML, CSS, etc... en utilizant : [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh) +* Utilizar un CMS (sistèma de gestion de contengut) coma [Wordpress](https://github.com/YunoHost-Apps/_ynh), [Drupal](https://github.com/YunoHost-Apps/drupal_ynh) , [Grav](https://github.com/YunoHost-Apps/grav_ynh), [PluXml](https://github.com/YunoHost-Apps/pluxml_ynh) + +Mas prepausam quicòm de mai potent : [CiviCRM on Drupal 7](https://github.com/YunoHost-Apps/civicrm_drupal7_ynh): +* Drupal qu’es un framework potent de gestion de contengut +* amb CiviCRM qu’es un CRM OpenSource a destinacion de las organizacions sens tòca lucrativa + +#### Adhesion + +Amb CiviCRM, poiretz metre en plaça d’adhesions en linha amb pagament. + +#### Inscripcions als eveniments + +Amb CiviCRM, poiretz metre a disposicion un agenda en linha amb la possibilitat pels membres o lo public de s’inscriure gratuitament o en pagant. + +#### Infoletra/Lista de difusion + +Çò melhor per gerir aquò es d’utilizar CiviCRM e son modul de lista de difusion. + +### Forum + +Avètz mantun possibilitats, aver un forum integrat a Drupal o utilizar un sistèma dedicat coma [Flarum](https://github.com/YunoHost-Apps/flarum_ynh). + +### Salvagarda + +YunoHost fornís son pròpri sistèma de salvagarda. Abans tota mesa a nivèl de paquet, YunoHost salvagarda la version actuala del paquet e la restaura automaticament se la mesa a nivèl se debana pas corrèctament. +Las salvagardas Yunohost son gardadas localament dins `/home/yunohost.backup/archives`. + +Mas per la produccion, la salvagarda gardada localament basta pas, vos cal emplegar d’estrategias de salvagarda suplementàrias : +* Salvagarda de la maquina virtuala se fornida pel sistèma d’albergament. +* [Archivist](https://github.com/YunoHost-Apps/archivist_ynh) es un sistèma de salvagarda automatic de vòstre servidor. Vòstras salvagardas pòdon èsser enviadas a mantun endreches, locals o alonhats. +* [Borg](https://github.com/YunoHost-Apps/borg_ynh) e [Borg Server](https://github.com/YunoHost-Apps/borgserver_ynh) permeton d’externalizar las salvagardas. +* [Fallback](https://github.com/YunoHost-Apps/fallback_ynh), se avètz dos servidors YunoHost, ajatz los mejans d’aver un servidor segondari que poiretz utilizar se lo primièr ven a foncionar pas mai. Aqueste servidor segondari vos permetrà de restablir una còpia de vòstre servidor per dire de corregir los problèmas de l’autre servidor YunoHost. + +### Anar mai luènh + +#### Galariá de fotografias federada + +* [Pixelfed](https://github.com/YunoHost-Apps/pixelfed_ynh) + +#### Galariá àudio federada + +* [Reel2Bits](https://github.com/YunoHost-Apps/reel2bits_ynh) +* [Funkwhale](https://github.com/YunoHost-Apps/funkwhale_ynh) + +#### Galariá vidèo federada + +* [PeerTube](https://github.com/YunoHost-Apps/peertube_ynh) + +#### Malhums socials federats + +* [Mastodon](https://github.com/YunoHost-Apps/mastodon_ynh) +* [Pleroma](https://github.com/YunoHost-Apps/pleroma_ynh) +* [Mobilizon](https://github.com/YunoHost-Apps/mobilizon_ynh) + +#### Blog federats + +* [Plume](https://github.com/YunoHost-Apps/plume_ynh) +* [Writefreely](https://github.com/YunoHost-Apps/writefreely_ynh) + +#### Chat + +* [Mattermost](https://github.com/YunoHost-Apps/mattermost_ynh) + +## Conclusion + +YunoHost pòt cumplir 99% dels besonhs de las organizacions sens tòca lucrativa, en lor permetent de téner e protegir lors donadas, de causir las aplicacions que vòlon utilizar. +E se son pas disponiblas, pòdon [crear un paquet per YunoHost](/contributordoc), es fòrça simple. diff --git a/user_interface.md b/user_interface.md deleted file mode 100644 index 1980f8d8..00000000 --- a/user_interface.md +++ /dev/null @@ -1,23 +0,0 @@ -# User interface - -The user interface is a portal that allows the loged-in user to see all the applications he is allowed to use, and -access them. This interface is also where the user can set his parameters (change password, define email alias and -redirections). - -"Shit, I'm too lazy to reconfigure my mail server... Beudbeud, how were you able to get your little server running with LDAP?"
+-All that was needed was an administration interface for Beudbeud's server to make something usable, so Kload decided to develop one. Finally, after automating several configurations and packaging in some web apps, YunoHost v1 was finished. +All that was needed was an admin interface for Beudbeud's server to make something usable, so Kload decided to develop one. Finally, after automating several configs and packaging in some web apps, YunoHost v1 was finished. -Noting the growing enthusiasm around YunoHost and around self-hosting in general, the original developers along with new contributors decided to start work on version 2, more extensible, more powerful, more easy-to-use, and one that makes a nice cup of fair-trade coffee for the elves of Lapland. +Noting the growing enthusiasm around YunoHost and around self-hosting in general, the original developers along with new contributors decided to start work on version 2, a more extensible, more powerful, more easy-to-use, and at that, one that makes a nice cup of fair-trade coffee for the elves of Lapland. -Name ----- - -**YunoHost** comes from the jargon "Y U NO Host". The [Internet meme](https://en.wikipedia.org/wiki/Internet_meme) should illustrate it: +The name **YunoHost** comes from the jargon "Y U NO Host". The [Internet meme](https://en.wikipedia.org/wiki/Internet_meme) should illustrate it:"Shit, I'm too lazy to reconfigure my mail server… Beudbeud, how were you able to get your little server running with LDAP?"
Kload, February 2012-Development ------------ - -YunoHost is developed to be as **simple** and minimally-intrusive as possible, to retain compatibility with Debian. It merely proposes a package of automatic configurations for existing software, and is configurable via simple interfaces. - -YunoHost is **entirely** a free software project. The philosophy of self-hosting is, to us, incompatible with any other model of software development. - -Do not hesitate to visit the ["contribute" page](/contribute). - -Security --------- - -The utmost effort is made to keep YunoHost secure, and **communications encrypted**. You can read more about this subject on the related page: -[https://yunohost.org/security](/security) - What YunoHost is not? --------------------- Even if YunoHost can handle multiple domains and multiple users, it is **not meant to be a mutualized system**. -First, the software is too young, not tested at large scale and thus probably not optimized to be put in production for hundreds of users at the same time. With that said, we do not want to lead the software in that direction. Virtualization democratizes, and its usage is recommended since it is a more leaktight way to achieve mutualization than a "full-stack" system like YunoHost. +First, the software is too young, not tested at scale and thus probably not optimized well enough for hundreds of users at the same time. With that said, we do not want to lead the software in that direction. Virtualization democratizes, and its usage is recommended since it is a more watertight way to achieve mutualization than a "full-stack" system like YunoHost. -You can host your friends, your family and your company safely and with ease, but you must **trust your users**, and they must trust you above all. If you do want to provide YunoHost services for unknown persons anyway, a full VPS per user will be just fine, and we believe is a better way to go. +You can host your friends, your family and your company safely and with ease, but you must **trust your users**, and they must trust you above all. If you want to provide YunoHost services for unknown persons anyway, a full VPS per user will be just fine, and we believe a better way to go. -Art Works +Artworks --------- -Black and white YunoHost png logo done by ToZz (400 × 400 px): +Black and white YunoHost PNG logo by ToZz (400 × 400 px):diff --git a/whatsyunohost_ar.md b/whatsyunohost_ar.md index f6634cb6..d1776397 100644 --- a/whatsyunohost_ar.md +++ b/whatsyunohost_ar.md @@ -64,16 +64,16 @@ Constatant l’engouement croissant autour de YunoHost et de l’auto-hébergeme YunoHost est développé pour être le plus **simple** et le moins intrusif possible pour garder la compatibilité avec Debian. Il propose uniquement un ensemble de configurations automatiques et opère via des interfaces accessibles. -Le tout est bien entendu **entièrement libre**. La philosophie de l’[الإستضافة الذاتية](selfhosting_fr) étant à nos yeux incompatible avec tout autre modèle de développement logiciel. +Le tout est bien entendu **entièrement libre**. La philosophie de l’[الإستضافة الذاتية](/selfhosting) étant à nos yeux incompatible avec tout autre modèle de développement logiciel. -لا تتردّدوا في زيارة صفحة « [ساهموا](/contribute_ar) ». +لا تتردّدوا في زيارة صفحة « [ساهموا](/contribute) ».
+ +Alles, was benötigt wurde, war eine Administrationsoberfläche für Beudbeud's Server, um etwas nutzbar zu machen, also entschied sich Kload, eine zu entwickeln. Schließlich wurde YunoHost v1, nach der Automatisierung mehrerer Konfigurationen und der Paketierung in einigen Webanwendungen, fertiggestellt. + +Angesichts der wachsenden Begeisterung für YunoHost und für das Selbst-Hosting im Allgemeinen beschlossen die ursprünglichen Entwickler zusammen mit neuen Mitarbeitern, mit der Arbeit an Version 2 zu beginnen, einer erweiterbaren, leistungsfähigeren, benutzerfreundlicheren und damit einfacheren Version eine schöne Tasse Fairtrade-Kaffee für die Elfen von Lappland. + +Der Name **YunoHost** stammt aus dem Jargon "Y U NO Host". Das [Internet meme](https://en.wikipedia.org/wiki/Internet_meme) sollte dies veranschaulichen: +"Scheiße, ich bin zu faul, um meinen Mailserver neu zu konfigurieren ... Beudbeud, wie hast Du deinen kleinen Server mit LDAP zum Laufen gebracht?"
Kload, Februar 2012