mirror of
https://github.com/YunoHost-Apps/dato_ynh.git
synced 2024-09-03 18:16:33 +02:00
commit
e4f025e2a5
21 changed files with 255 additions and 841 deletions
45
README.md
45
README.md
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
|
||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/readme_generator
|
||||
It shall NOT be edited by hand.
|
||||
-->
|
||||
|
||||
|
@ -27,7 +27,7 @@ The purpose of dato is not to propose a UI specific to some purpose, but somethi
|
|||
Dato is a progressive webapp, which means that you can install it from the browser in computer and phones, and use it offline.
|
||||
|
||||
|
||||
**Shipped version:** 1.6.3~ynh3
|
||||
**Shipped version:** 1.6.3~ynh5
|
||||
|
||||
**Demo:** https://publicdato.eauchat.org/
|
||||
|
||||
|
@ -35,46 +35,9 @@ Dato is a progressive webapp, which means that you can install it from the brows
|
|||
|
||||

|
||||
|
||||
## Disclaimers / important information
|
||||
|
||||
* Any known limitations, constrains or stuff not working, such as (but not limited to):
|
||||
* For now, dato needs a full domain, it doesn't support being set to a subpath.
|
||||
* LDAP is not supported, but dato has it's own user's control system, so it can be used publicly, or restricted to some users when autosynchronization is enabled.
|
||||
|
||||
## Configuration
|
||||
|
||||
To configure dato, you can edit the `config/public.js` file in the app directory that should be in `/opt/yunohost/APPID/` where `APPID` is `dato` if it's the first installed instance, `dato__2`, `dato__3`... for additional instances.
|
||||
You can also make modifications in `config/private.js`, but be sure to know what you're doing when doing so.
|
||||
|
||||
|
||||
## Autosynchronization
|
||||
|
||||
By default all data you create with dato is stored only in your browser. Users can manually enable per-database synchronization with any remote couch server, but this process is not obvious to users. Therefore dato provide an autosynchronization mechanism.
|
||||
To enable it, you need to setup a couchdb server (you can do this using the [couchdb yunohost package](https://github.com/YunoHost-Apps/couchdb_ynh)). You should do this before installing dato.
|
||||
Then when installing dato, set the url to your couchdb server when prompted (you will also need to fill your couchdb admin password, and info about the dato admin user to create). Dato will automatically setup the dato administrator account in your couchdb server. You can then easily add users from the user interface, as specified below.
|
||||
|
||||
If you want to allow both a free usage of the app by anyone, and autosynchronization for some users, you can install the dato package multiple times with different setups.
|
||||
|
||||
|
||||
## Adding users
|
||||
|
||||
If you setup autosynchronization, users will need an account to use the app. Dato doesn't support LDAP for the moment, so you will need to add users in it's own database.
|
||||
To add a user to dato, just visit the `/users/` page (e.g. https://dato.yourdomain.tld/users/), create a new user, then don't forget to click on "roles" under the user's name, and add the role `dato`.
|
||||
If you want a user to have administration rights (= to have the power to add/remove users) you can give that user the `dato-admin` role.
|
||||
|
||||
Also, if you need, you can make use of the password reset feature to allow users to modify their passwords, you will just need to send them the generated password reset link.
|
||||
|
||||
|
||||
## A note about dato
|
||||
|
||||
Please be aware that dato is a Progressive Web App. In a nutshell, this means that browsers cache the whole app, so it doesn't have to be requested to the server every time a user is visiting it.
|
||||
This lowers solicitation of the server, and also allow users to use dato offline.
|
||||
|
||||
When the app is upgraded, the user's browser will automatically detect that there is a new version, and propose to reload the page to update. However, sometimes it seems a bit random how browsers notice the new version, so if you want to make sure you're using the latest version, click on the "?" button (top-right in the web interface), and choose "credits" to verify the version you're using.
|
||||
You can also force reloading the app from the server opening "about:serviceworkers" in your browser and unregistering the worker for the domain in which you installed dato.
|
||||
|
||||
## Documentation and resources
|
||||
|
||||
* Official app website: <https://squeak.eauchat.org/dato>
|
||||
* Official admin documentation: <https://squeak.eauchat.org/dato/>
|
||||
* Upstream app code repository: <https://framagit.org/squeak/dato>
|
||||
* YunoHost Store: <https://apps.yunohost.org/app/dato>
|
||||
|
@ -92,4 +55,4 @@ or
|
|||
sudo yunohost app upgrade dato -u https://github.com/YunoHost-Apps/dato_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
|
||||
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
|
34
README_fr.md
34
README_fr.md
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
|
||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/readme_generator
|
||||
It shall NOT be edited by hand.
|
||||
-->
|
||||
|
||||
|
@ -25,7 +25,7 @@ Le but de dato n'est pas de proposer l'interface idéale pour chaque outil, mais
|
|||
Dato est une application web progressive, ce qui veut dire que vous pouvez l'installer sur ordinateur et téléphone facilement et l'utiliser hors connexion.
|
||||
|
||||
|
||||
**Version incluse :** 1.6.3~ynh3
|
||||
**Version incluse :** 1.6.3~ynh5
|
||||
|
||||
**Démo :** https://publicdato.eauchat.org/
|
||||
|
||||
|
@ -33,37 +33,9 @@ Dato est une application web progressive, ce qui veut dire que vous pouvez l'ins
|
|||
|
||||

|
||||
|
||||
## Avertissements / informations importantes
|
||||
|
||||
* Limitations
|
||||
* Pour le moment, dato a besoin d'un domaine/sous-domaine complet et ne peut être installé dans un sous-chemin.
|
||||
* LDAP n'est pas supporté, mais dato contient son propre mécanisme de gestion des utilisateurs, et permet de rendre l'application soit disponible à tous, soit restreinte aux utilisateurs choisis quand l'autosynchronisation est activée.
|
||||
|
||||
## Configuration
|
||||
|
||||
Cette application peut être personnalisée en modifiant le fichier `config/public.js` situé dans `/opt/yunohost/APPID/` (`APPID` devrait-être `dato` pour une première instance et puis, `dato__2`, `dato__3`... pour les suivantes).
|
||||
Il est aussi possible de modifier `config/private.js`, mais à vos risques et périls.
|
||||
|
||||
|
||||
## Ajouter des utilisateurs
|
||||
|
||||
Si vous activez l'autosynchronisation, les utilisateurs auront besoin d'un compte pour utiliser l'application. Dato ne supporte pas LDAP pour le moment, vous devrez donc ajouter des utilisateurs séparément dans sa base de données.
|
||||
Pour ajouter un utilisateur, il suffit de visiter la page `/users/` (https://dato.yourdomain.tld/users/), créer un nouvel utilisateur, et ne pas oublier de cliquer sur "roles" et d'ajouter le rôle `dato`.
|
||||
Si vous voulez donner le droit à un utilisateur d'administrer (= d'ajouter/supprimer des utilisateurs), il suffit de lui donner additionnellement, le rôle `dato-admin`.
|
||||
|
||||
Si besoin, vous pouvez créer des liens pour permettre à un utilisateur de modifier son mot de passe. Il suffira alors d'envoyer ce lien manuellement à l'utilisateur.
|
||||
|
||||
|
||||
## Note sur dato
|
||||
|
||||
Dato est une application web progressive (PWA). En deux mots, cela veut dire que les navigateurs gardent en cache l'application entière, afin de ne pas avoir à la demander au serveur à chaque visite.
|
||||
Cela permet de moins soliciter le serveur, et d'utiliser l'application en l'absence de connexion internet.
|
||||
|
||||
Quand l'application est mise à jour, le navigateur des utilisateurs détecte automatiquement la nouvelle version et propose de recharcher la page pour mettre à jour l'application. Cependant, certains navigateurs ne semblent pas toujours se rendre compte qu'une nouvelle version est disponible instantanément. Pour vérifier la version que vous utilisez, vous pouvez cliquer sur "?" (en haut à droite dans l'interface de dato), et choisir "crédit" pour y trouver le numéro de version actuellement installé.
|
||||
Vous pouvez aussi forcer une mise à jour de l'application depuis le serveur en ouvrant la page "about:serviceworker" dans votre navigateur, et en cliquant sur le bouton "unregister" du service du domaine sur lequel vous avez installé dato.
|
||||
|
||||
## Documentations et ressources
|
||||
|
||||
* Site officiel de l’app : <https://squeak.eauchat.org/dato>
|
||||
* Documentation officielle de l’admin : <https://squeak.eauchat.org/dato/>
|
||||
* Dépôt de code officiel de l’app : <https://framagit.org/squeak/dato>
|
||||
* YunoHost Store: <https://apps.yunohost.org/app/dato>
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
;; Test without autosync
|
||||
; Manifest
|
||||
domain="domain.tld"
|
||||
is_public=1
|
||||
autosynchronize=0
|
||||
couch_url="none"
|
||||
couch_admin_name="none"
|
||||
couch_admin_password="none"
|
||||
couch_datoadmin_name="none"
|
||||
couch_datoadmin_password="none"
|
||||
admin_email="none"
|
||||
; Checks
|
||||
pkg_linter=1
|
||||
setup_sub_dir=0
|
||||
setup_root=1
|
||||
setup_nourl=0
|
||||
setup_private=1
|
||||
setup_public=1
|
||||
upgrade=1
|
||||
# 1.5.11~ynh2
|
||||
upgrade=1 from_commit=b127adc6bf773afd1bc2ee7cead36c91c4fded60
|
||||
# 1.6.3~ynh2
|
||||
upgrade=1 from_commit=6cbecb3f2af6adfce5bdf8077c906569703a1508
|
||||
backup_restore=1
|
||||
multi_instance=1
|
||||
port_already_use=0
|
||||
change_url=1
|
||||
;;; Options
|
||||
Email=squeak@eauchat.org
|
||||
Notification=none
|
||||
;;; Upgrade options
|
||||
; commit=b127adc6bf773afd1bc2ee7cead36c91c4fded60
|
||||
name=1.5.11~ynh2.
|
|
@ -1,7 +0,0 @@
|
|||
SOURCE_URL=https://framagit.org/squeak/dato/-/archive/v1.6.3/dato-v1.6.3.tar.gz
|
||||
SOURCE_SUM=200aa392cbe2e43d85b5a78d9289cc5957dbd6b7aa3d4491838d12aa5dbc9c30
|
||||
SOURCE_SUM_PRG=sha256sum
|
||||
SOURCE_FORMAT=tar.gz
|
||||
SOURCE_IN_SUBDIR=true
|
||||
SOURCE_FILENAME=
|
||||
SOURCE_EXTRACT=true
|
|
@ -6,9 +6,9 @@ After=network.target
|
|||
Type=simple
|
||||
User=__APP__
|
||||
Group=__APP__
|
||||
WorkingDirectory=__FINALPATH__/
|
||||
WorkingDirectory=__INSTALL_DIR__/sources/
|
||||
Environment=NODE_ENV=production
|
||||
Environment=NODE_CONFIG_DIR=__FINALPATH__/config
|
||||
Environment=NODE_CONFIG_DIR=__INSTALL_DIR__/sources/config/
|
||||
Environment="__YNH_NODE_LOAD_PATH__"
|
||||
ExecStart=__YNH_NPM__ start
|
||||
StandardOutput=syslog
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
* Any known limitations, constrains or stuff not working, such as (but not limited to):
|
||||
* For now, dato needs a full domain, it doesn't support being set to a subpath.
|
||||
* LDAP is not supported, but dato has it's own user's control system, so it can be used publicly, or restricted to some users when autosynchronization is enabled.
|
||||
|
||||
## Configuration
|
||||
|
||||
To configure dato, you can edit the `config/public.js` file in the app directory that should be in `/opt/yunohost/APPID/` where `APPID` is `dato` if it's the first installed instance, `dato__2`, `dato__3`... for additional instances.
|
||||
You can also make modifications in `config/private.js`, but be sure to know what you're doing when doing so.
|
||||
|
||||
|
||||
## Autosynchronization
|
||||
|
||||
By default all data you create with dato is stored only in your browser. Users can manually enable per-database synchronization with any remote couch server, but this process is not obvious to users. Therefore dato provide an autosynchronization mechanism.
|
||||
|
@ -16,7 +12,6 @@ Then when installing dato, set the url to your couchdb server when prompted (you
|
|||
|
||||
If you want to allow both a free usage of the app by anyone, and autosynchronization for some users, you can install the dato package multiple times with different setups.
|
||||
|
||||
|
||||
## Adding users
|
||||
|
||||
If you setup autosynchronization, users will need an account to use the app. Dato doesn't support LDAP for the moment, so you will need to add users in it's own database.
|
||||
|
@ -25,7 +20,6 @@ If you want a user to have administration rights (= to have the power to add/rem
|
|||
|
||||
Also, if you need, you can make use of the password reset feature to allow users to modify their passwords, you will just need to send them the generated password reset link.
|
||||
|
||||
|
||||
## A note about dato
|
||||
|
||||
Please be aware that dato is a Progressive Web App. In a nutshell, this means that browsers cache the whole app, so it doesn't have to be requested to the server every time a user is visiting it.
|
|
@ -1,13 +1,9 @@
|
|||
* Limitations
|
||||
* Pour le moment, dato a besoin d'un domaine/sous-domaine complet et ne peut être installé dans un sous-chemin.
|
||||
* LDAP n'est pas supporté, mais dato contient son propre mécanisme de gestion des utilisateurs, et permet de rendre l'application soit disponible à tous, soit restreinte aux utilisateurs choisis quand l'autosynchronisation est activée.
|
||||
|
||||
## Configuration
|
||||
|
||||
Cette application peut être personnalisée en modifiant le fichier `config/public.js` situé dans `/opt/yunohost/APPID/` (`APPID` devrait-être `dato` pour une première instance et puis, `dato__2`, `dato__3`... pour les suivantes).
|
||||
Il est aussi possible de modifier `config/private.js`, mais à vos risques et périls.
|
||||
|
||||
|
||||
## Ajouter des utilisateurs
|
||||
|
||||
Si vous activez l'autosynchronisation, les utilisateurs auront besoin d'un compte pour utiliser l'application. Dato ne supporte pas LDAP pour le moment, vous devrez donc ajouter des utilisateurs séparément dans sa base de données.
|
||||
|
@ -16,7 +12,6 @@ Si vous voulez donner le droit à un utilisateur d'administrer (= d'ajouter/supp
|
|||
|
||||
Si besoin, vous pouvez créer des liens pour permettre à un utilisateur de modifier son mot de passe. Il suffira alors d'envoyer ce lien manuellement à l'utilisateur.
|
||||
|
||||
|
||||
## Note sur dato
|
||||
|
||||
Dato est une application web progressive (PWA). En deux mots, cela veut dire que les navigateurs gardent en cache l'application entière, afin de ne pas avoir à la demander au serveur à chaque visite.
|
1
doc/PRE_INSTALL.md
Normal file
1
doc/PRE_INSTALL.md
Normal file
|
@ -0,0 +1 @@
|
|||
Dato needs a full domain, it doesn't support being set to a subpath.
|
0
doc/PRE_INSTALL_fr.md
Normal file
0
doc/PRE_INSTALL_fr.md
Normal file
BIN
doc/screenshots/main_screen.webp
Normal file
BIN
doc/screenshots/main_screen.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 164 KiB |
Binary file not shown.
Before Width: | Height: | Size: 544 KiB |
130
manifest.json
130
manifest.json
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"name": "Dato",
|
||||
"id": "dato",
|
||||
"packaging_format": 1,
|
||||
"description": {
|
||||
"en": "Store all kinds of data with an extremely customizable interface.",
|
||||
"fr": "Stockez tous types de données avec une interface complètement customizable."
|
||||
},
|
||||
"version": "1.6.3~ynh3",
|
||||
"url": "https://squeak.eauchat.org/dato",
|
||||
"upstream": {
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"demo": "https://publicdato.eauchat.org/",
|
||||
"admindoc": "https://squeak.eauchat.org/dato/",
|
||||
"code": "https://framagit.org/squeak/dato"
|
||||
},
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"maintainer": {
|
||||
"name": "Squeak",
|
||||
"email": "squeak@eauchat.org",
|
||||
"url": "https://squeak.eauchat.org"
|
||||
},
|
||||
"requirements": {
|
||||
"yunohost": ">= 4.3.0"
|
||||
},
|
||||
"multi_instance": true,
|
||||
"services": [
|
||||
"nginx"
|
||||
],
|
||||
"arguments": {
|
||||
"install": [
|
||||
{
|
||||
"name": "domain",
|
||||
"type": "domain"
|
||||
},
|
||||
{
|
||||
"name": "is_public",
|
||||
"type": "boolean",
|
||||
"help": {
|
||||
"en": "Will users need to have a yunohost account to use dato? If you choose to set autosynchronization to true, then dato contains it's own login system, so you probably don't need to make it private.",
|
||||
"fr": "Les utilisateurs devront-ils avoir un compte pour utiliser dato ? Si vous activez l'autosynchronisation, dato contient son propre système de login, ce n'est donc probablement pas nécessaire de la rendre privée."
|
||||
},
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "autosynchronize",
|
||||
"type": "boolean",
|
||||
"ask": {
|
||||
"en": "Do you want to autosynchronize users databases?",
|
||||
"fr": "Voulez vous activer l'autosynchronisation des bases de données des utilisateurs ?"
|
||||
},
|
||||
"help": {
|
||||
"en": "If you activate autosynchronization, to use dato, people will need to have a dato-specific account on your server. To enable this, you need a couchdb server, you can install one with the couchdb yunohost package (you should do this before proceeding to dato installation).",
|
||||
"fr": "Si vous activez l'autosynchronisation, pour utiliser dato, les utilisateurs devront avoir un compte specifique à dato sur votre serveur. Pour activer cette option, vous devez avoir un server couchdb, vous pouvez en installer un en utilisant le packet yunohost couchdb (vous devez avoir couchdb installé avant d'installer dato)."
|
||||
},
|
||||
"default" : false
|
||||
},
|
||||
{
|
||||
"name": "autosync_info",
|
||||
"type": "display_text",
|
||||
"ask": {
|
||||
"en": "All the following options are useful only if you chose to enable autosynchronization. You can skip them all if you didn't.",
|
||||
"fr": "Les options qui suivent ne sont utiles que si vous avez choisi d'activer l'autosynchronisation. Vous pouvez toutes les ignorer si ce n'est pas le cas."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "couch_url",
|
||||
"type": "string",
|
||||
"ask": {
|
||||
"en": "What is the url of your couchdb server (only if autosynchronization is enabled).",
|
||||
"fr": "Quelle est l'addresse de votre serveur couchdb (nécessaire uniquement si l'autosynchronisation a été activée)."
|
||||
},
|
||||
"example": "https://couch.domain.tld",
|
||||
"optional": true,
|
||||
"default" : "none"
|
||||
},
|
||||
{
|
||||
"name": "couch_admin_name",
|
||||
"type": "string",
|
||||
"ask": {
|
||||
"en": "Specify the username of the administrator of your couchdb instance (only if autosynchronization is enabled), if you didn't customize it, it should be called 'admin'",
|
||||
"fr": "Entrez le nom de l'administrateur de votre serveur couchdb (nécessaire uniquement si l'autosynchronisation a été activée), si vous ne l'avez pas modifié, ce devrait être 'admin'"
|
||||
},
|
||||
"example": "admin",
|
||||
"optional": true,
|
||||
"default" : "admin"
|
||||
},
|
||||
{
|
||||
"name": "couch_admin_password",
|
||||
"type": "password",
|
||||
"ask": {
|
||||
"en": "Enter the password of your couchdb administrator (only if autosynchronization is enabled)",
|
||||
"fr": "Entrez le mot de passe de l'administrateur de votre serveur couchdb (nécessaire uniquement si l'autosynchronisation a été activée)"
|
||||
},
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"name": "couch_datoadmin_name",
|
||||
"type": "string",
|
||||
"ask": {
|
||||
"en": "Choose the username of the dato admin user to create (only if autosynchronization is enabled)",
|
||||
"fr": "Choisissez le nom de l'administrateur de dato qui va être créé (nécessaire uniquement si l'autosynchronisation a été activée)"
|
||||
},
|
||||
"example": "dato-admin",
|
||||
"optional": true,
|
||||
"default": "none"
|
||||
},
|
||||
{
|
||||
"name": "couch_datoadmin_password",
|
||||
"type": "password",
|
||||
"ask": {
|
||||
"en": "Choose the password to use for the dato admin user to create (only if autosynchronization is enabled)",
|
||||
"fr": "Choisissez le mot de passe de l'administrateur de dato qui va être créé (nécessaire uniquement si l'autosynchronisation a été activée)"
|
||||
},
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"name": "admin_email",
|
||||
"type": "string",
|
||||
"ask": {
|
||||
"en": "If you want the dato administrator email to be displayed in login page, so that users can contact you to create accounts... you can set your email here, otherwise leave this empty (only useful if autosynchronization is enabled)",
|
||||
"fr": "Si tu souhaites que l'email de l'administrateur de dato soit visible sur la page de login, afin que les utilisateurs puissent le contacter pour des demandes de compte... tu peux le spécifier ici, sinon laisser ce champ vide (utile uniquement si l'autosynchronisation a été activée)"
|
||||
},
|
||||
"example": "datoadmin((at))domain.tld",
|
||||
"optional": true,
|
||||
"default" : ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
116
manifest.toml
Normal file
116
manifest.toml
Normal file
|
@ -0,0 +1,116 @@
|
|||
#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json
|
||||
|
||||
packaging_format = 2
|
||||
|
||||
id = "dato"
|
||||
name = "Dato"
|
||||
description.en = "Store all kinds of data with an extremely customizable interface."
|
||||
description.fr = "Stockez tous types de données avec une interface complètement customizable."
|
||||
|
||||
version = "1.6.3~ynh5"
|
||||
|
||||
maintainers = ["Squeak"]
|
||||
|
||||
[upstream]
|
||||
license = "AGPL-3.0-or-later"
|
||||
demo = "https://publicdato.eauchat.org/"
|
||||
admindoc = "https://squeak.eauchat.org/dato/"
|
||||
code = "https://framagit.org/squeak/dato"
|
||||
website = "https://squeak.eauchat.org/dato"
|
||||
|
||||
[integration]
|
||||
yunohost = ">= 11.2.10"
|
||||
architectures = "all"
|
||||
multi_instance = true
|
||||
ldap = false
|
||||
sso = false
|
||||
disk = "50M"
|
||||
ram.build = "50M"
|
||||
ram.runtime = "50M"
|
||||
|
||||
[install]
|
||||
[install.domain]
|
||||
type = "domain"
|
||||
|
||||
[install.init_main_permission]
|
||||
help.en = "Will users need to have a yunohost account to use dato? If you choose to set autosynchronization to true, then dato contains it's own login system, so you probably don't need to make it private."
|
||||
help.fr = "Les utilisateurs devront-ils avoir un compte pour utiliser dato ? Si vous activez l'autosynchronisation, dato contient son propre système de login, ce n'est donc probablement pas nécessaire de la rendre privée."
|
||||
type = "group"
|
||||
default = "visitors"
|
||||
|
||||
[install.autosynchronize]
|
||||
ask.en = "Do you want to autosynchronize users databases?"
|
||||
ask.fr = "Voulez vous activer l'autosynchronisation des bases de données des utilisateurs ?"
|
||||
help.en = "If you activate autosynchronization, to use dato, people will need to have a dato-specific account on your server. To enable this, you need a couchdb server, you can install one with the couchdb yunohost package (you should do this before proceeding to dato installation)."
|
||||
help.fr = "Si vous activez l'autosynchronisation, pour utiliser dato, les utilisateurs devront avoir un compte specifique à dato sur votre serveur. Pour activer cette option, vous devez avoir un server couchdb, vous pouvez en installer un en utilisant le packet yunohost couchdb (vous devez avoir couchdb installé avant d'installer dato)."
|
||||
type = "boolean"
|
||||
default = false
|
||||
|
||||
# [install.autosync_info]
|
||||
# ask.en = "All the following options are useful only if you chose to enable autosynchronization. You can skip them all if you didn't."
|
||||
# ask.fr = "Les options qui suivent ne sont utiles que si vous avez choisi d'activer l'autosynchronisation. Vous pouvez toutes les ignorer si ce n'est pas le cas."
|
||||
#type = "display_text"
|
||||
|
||||
[install.couch_url]
|
||||
ask.en = "What is the url of your couchdb server (only if autosynchronization is enabled)."
|
||||
ask.fr = "Quelle est l'addresse de votre serveur couchdb (nécessaire uniquement si l'autosynchronisation a été activée)."
|
||||
type = "string"
|
||||
example = "https://couch.domain.tld"
|
||||
optional = true
|
||||
default = "none"
|
||||
|
||||
[install.couch_admin_name]
|
||||
ask.en = "Specify the username of the administrator of your couchdb instance (only if autosynchronization is enabled), if you didn't customize it, it should be called 'admin'"
|
||||
ask.fr = "Entrez le nom de l'administrateur de votre serveur couchdb (nécessaire uniquement si l'autosynchronisation a été activée), si vous ne l'avez pas modifié, ce devrait être 'admin'"
|
||||
type = "string"
|
||||
example = "admin"
|
||||
optional = true
|
||||
default = "admin"
|
||||
|
||||
[install.couch_admin_password]
|
||||
ask.en = "Enter the password of your couchdb administrator (only if autosynchronization is enabled)"
|
||||
ask.fr = "Entrez le mot de passe de l'administrateur de votre serveur couchdb (nécessaire uniquement si l'autosynchronisation a été activée)"
|
||||
type = "password"
|
||||
optional = true
|
||||
|
||||
[install.couch_datoadmin_name]
|
||||
ask.en = "Choose the username of the dato admin user to create (only if autosynchronization is enabled)"
|
||||
ask.fr = "Choisissez le nom de l'administrateur de dato qui va être créé (nécessaire uniquement si l'autosynchronisation a été activée)"
|
||||
type = "string"
|
||||
example = "dato-admin"
|
||||
optional = true
|
||||
default = "none"
|
||||
|
||||
[install.couch_datoadmin_password]
|
||||
ask.en = "Choose the password to use for the dato admin user to create (only if autosynchronization is enabled)"
|
||||
ask.fr = "Choisissez le mot de passe de l'administrateur de dato qui va être créé (nécessaire uniquement si l'autosynchronisation a été activée)"
|
||||
type = "password"
|
||||
optional = true
|
||||
|
||||
[install.admin_email]
|
||||
ask.en = "If you want the dato administrator email to be displayed in login page, so that users can contact you to create accounts... you can set your email here, otherwise leave this empty (only useful if autosynchronization is enabled)"
|
||||
ask.fr = "Si tu souhaites que l'email de l'administrateur de dato soit visible sur la page de login, afin que les utilisateurs puissent le contacter pour des demandes de compte... tu peux le spécifier ici, sinon laisser ce champ vide (utile uniquement si l'autosynchronisation a été activée)"
|
||||
type = "string"
|
||||
example = "datoadmin((at))domain.tld"
|
||||
optional = true
|
||||
default = ""
|
||||
|
||||
[resources]
|
||||
[resources.sources.main]
|
||||
url = "https://framagit.org/squeak/dato/-/archive/v1.6.3/dato-v1.6.3.tar.gz"
|
||||
sha256 = "200aa392cbe2e43d85b5a78d9289cc5957dbd6b7aa3d4491838d12aa5dbc9c30"
|
||||
|
||||
autoupdate.strategy = "latest_gitlab_release"
|
||||
|
||||
[resources.system_user]
|
||||
|
||||
[resources.install_dir]
|
||||
|
||||
[resources.permissions]
|
||||
main.url = "/"
|
||||
|
||||
[resources.ports]
|
||||
main.default = 9559
|
||||
|
||||
[resources.apt]
|
||||
packages = ["curl", "jq"]
|
|
@ -4,9 +4,6 @@
|
|||
# COMMON VARIABLES
|
||||
#=================================================
|
||||
|
||||
# dependencies used by the app
|
||||
pkg_dependencies="curl jq"
|
||||
|
||||
# nodejs version
|
||||
nodejs_version=12
|
||||
|
||||
|
@ -14,23 +11,27 @@ nodejs_version=12
|
|||
# PERSONAL HELPERS
|
||||
#=================================================
|
||||
|
||||
bool_to_str() {
|
||||
bool_str=(false true)
|
||||
echo "${bool_str[$1]}"
|
||||
}
|
||||
|
||||
dato_setup_config_files() {
|
||||
# create config directory (if it doesn't exist yet)
|
||||
[ -d "$final_path/config/" ] || mkdir "$final_path/config/"
|
||||
mkdir -p "$install_dir/sources/config/"
|
||||
|
||||
# setup public dato config
|
||||
ynh_add_config --template="../conf/public.js" --destination="$final_path/config/public.js"
|
||||
chmod 400 "$final_path/config/public.js"
|
||||
chown $app:$app "$final_path/config/public.js"
|
||||
# setup public dato config
|
||||
ynh_add_config --template="public.js" --destination="$install_dir/sources/config/public.js"
|
||||
chmod 400 "$install_dir/sources/config/public.js"
|
||||
chown "$app:$app" "$install_dir/sources/config/public.js"
|
||||
|
||||
# setup private dato config
|
||||
if [[ $autosynchronize == true ]]; then
|
||||
ynh_add_config --template="../conf/private-autosync.js" --destination="$final_path/config/private.js"
|
||||
else
|
||||
ynh_add_config --template="../conf/private.js" --destination="$final_path/config/private.js"
|
||||
fi
|
||||
chmod 400 "$final_path/config/private.js"
|
||||
chown $app:$app "$final_path/config/private.js"
|
||||
# setup private dato config
|
||||
if [[ $autosynchronize == true ]]; then
|
||||
ynh_add_config --template="private-autosync.js" --destination="$install_dir/sources/config/private.js"
|
||||
else
|
||||
ynh_add_config --template="private.js" --destination="$install_dir/sources/config/private.js"
|
||||
fi
|
||||
chmod 400 "$install_dir/sources/config/private.js"
|
||||
chown "$app:$app" "$install_dir/sources/config/private.js"
|
||||
}
|
||||
|
||||
#=================================================
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
@ -10,27 +8,6 @@
|
|||
source ../settings/scripts/_common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# MANAGE SCRIPT FAILURE
|
||||
#=================================================
|
||||
|
||||
ynh_clean_setup () {
|
||||
true
|
||||
}
|
||||
# Exit if an error occurs during the execution of the script
|
||||
ynh_abort_if_errors
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_print_info --message="Loading installation settings..."
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||
autosynchronize=$(ynh_app_setting_get --app=$app --key=autosynchronize)
|
||||
|
||||
#=================================================
|
||||
# DECLARE DATA AND CONF FILES TO BACKUP
|
||||
#=================================================
|
||||
|
@ -40,49 +17,30 @@ ynh_print_info --message="Declaring files to be backed up..."
|
|||
# BACKUP THE APP MAIN DIR
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="$final_path"
|
||||
ynh_backup --src_path="$install_dir"
|
||||
|
||||
#=================================================
|
||||
# BACKUP THE NGINX CONFIGURATION
|
||||
# BACKUP THE SYSTEM CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC BACKUP
|
||||
#=================================================
|
||||
# BACKUP LOGROTATE
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="/etc/logrotate.d/$app"
|
||||
|
||||
#=================================================
|
||||
# BACKUP SYSTEMD
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="/etc/systemd/system/$app.service"
|
||||
|
||||
#=================================================
|
||||
# BACKUP VARIOUS FILES
|
||||
#=================================================
|
||||
|
||||
if [[ $autosynchronize == true ]]; then
|
||||
ynh_backup --src_path="/var/log/$app/"
|
||||
|
||||
# backup dato.ini config in couch
|
||||
ynh_backup --src_path="/opt/couchdb/etc/local.d/$app.ini"
|
||||
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# AUTOSYNCHRONIZED SPECIFICS
|
||||
#=================================================
|
||||
|
||||
# warn that dbs haven't been backed up, only dato
|
||||
if [[ $autosynchronize == true ]]; then
|
||||
|
||||
# notify that couchdb users and dbs are left
|
||||
ynh_print_warn --message="Please note that backing up dato doesn't backup the databases you created through it. To backup your data, you should backup the couchdb app."
|
||||
if [[ "$autosynchronize" == true ]]; then
|
||||
# backup dato.ini config in couch
|
||||
ynh_backup --src_path="/opt/couchdb/etc/local.d/$app.ini"
|
||||
|
||||
# notify that couchdb users and dbs are left
|
||||
ynh_print_warn --message="Please note that backing up dato doesn't backup the databases you created through it. To backup your data, you should backup the couchdb app."
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC STARTING
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
@ -9,114 +7,27 @@
|
|||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# RETRIEVE ARGUMENTS
|
||||
#=================================================
|
||||
|
||||
old_domain=$YNH_APP_OLD_DOMAIN
|
||||
old_path=$YNH_APP_OLD_PATH
|
||||
|
||||
new_domain=$YNH_APP_NEW_DOMAIN
|
||||
new_path="/"
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Loading installation settings..." --weight=1
|
||||
|
||||
# Needed for helper "ynh_add_nginx_config"
|
||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||
|
||||
#=================================================
|
||||
# BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP
|
||||
#=================================================
|
||||
ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=10
|
||||
|
||||
# Backup the current version of the app
|
||||
ynh_backup_before_upgrade
|
||||
ynh_clean_setup () {
|
||||
ynh_clean_check_starting
|
||||
# Remove the new domain config file, the remove script won't do it as it doesn't know yet its location.
|
||||
ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf"
|
||||
|
||||
# Restore it if the upgrade fails
|
||||
ynh_restore_upgradebackup
|
||||
}
|
||||
# Exit if an error occurs during the execution of the script
|
||||
ynh_abort_if_errors
|
||||
|
||||
#=================================================
|
||||
# CHECK WHICH PARTS SHOULD BE CHANGED
|
||||
#=================================================
|
||||
|
||||
change_domain=0
|
||||
if [ "$old_domain" != "$new_domain" ]
|
||||
then
|
||||
change_domain=1
|
||||
fi
|
||||
|
||||
change_path=0
|
||||
if [ "$old_path" != "$new_path" ]
|
||||
then
|
||||
change_path=1
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# STANDARD MODIFICATIONS
|
||||
#=================================================
|
||||
# STOP SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Stopping a systemd service..." --weight=1
|
||||
ynh_script_progression --message="Stopping $app's systemd service..." --weight=1
|
||||
|
||||
ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd"
|
||||
ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# MODIFY URL IN NGINX CONF
|
||||
#=================================================
|
||||
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1
|
||||
|
||||
nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
|
||||
ynh_change_url_nginx_config
|
||||
|
||||
# Change the path in the NGINX config file
|
||||
if [ $change_path -eq 1 ]
|
||||
then
|
||||
# Make a backup of the original NGINX config file if modified
|
||||
ynh_backup_if_checksum_is_different --file="$nginx_conf_path"
|
||||
# Set global variables for NGINX helper
|
||||
domain="$old_domain"
|
||||
path_url="$new_path"
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
fi
|
||||
|
||||
# Change the domain for NGINX
|
||||
if [ $change_domain -eq 1 ]
|
||||
then
|
||||
# Delete file checksum for the old conf file location
|
||||
ynh_delete_file_checksum --file="$nginx_conf_path"
|
||||
mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf
|
||||
# Store file checksum for the new config file location
|
||||
ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALISATION
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=60
|
||||
ynh_script_progression --message="Starting $app's systemd service..." --weight=60
|
||||
|
||||
# Start a systemd service
|
||||
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
#=================================================
|
||||
# RELOAD NGINX
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
|
||||
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
|
|
178
scripts/install
178
scripts/install
|
@ -1,7 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
@ -10,146 +8,48 @@ source _common.sh
|
|||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# MANAGE SCRIPT FAILURE
|
||||
# INITIALIZE AND STORE SETTINGS
|
||||
#=================================================
|
||||
|
||||
ynh_clean_setup () {
|
||||
ynh_clean_check_starting
|
||||
}
|
||||
# Exit if an error occurs during the execution of the script
|
||||
ynh_abort_if_errors
|
||||
# Convert to true/false
|
||||
autosynchronize=$(bool_to_str "$autosynchronize")
|
||||
ynh_app_setting_set --app="$app" --key=autosynchronize --value="$autosynchronize"
|
||||
|
||||
#=================================================
|
||||
# RETRIEVE ARGUMENTS FROM THE MANIFEST
|
||||
# INSTALL NODEJS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Installing NodeJS..." --weight=6
|
||||
|
||||
domain=$YNH_APP_ARG_DOMAIN
|
||||
path_url="/"
|
||||
is_public=$YNH_APP_ARG_IS_PUBLIC
|
||||
autosynchronize=$YNH_APP_ARG_AUTOSYNCHRONIZE
|
||||
couch_url=$YNH_APP_ARG_COUCH_URL
|
||||
couch_admin_name=$YNH_APP_ARG_COUCH_ADMIN_NAME
|
||||
couch_admin_password=$YNH_APP_ARG_COUCH_ADMIN_PASSWORD
|
||||
couch_datoadmin_name=$YNH_APP_ARG_COUCH_DATOADMIN_NAME
|
||||
couch_datoadmin_password=$YNH_APP_ARG_COUCH_DATOADMIN_PASSWORD
|
||||
admin_email=$YNH_APP_ARG_ADMIN_EMAIL
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
# make sure autosynchronize variable is a boolean
|
||||
if [[
|
||||
"$autosynchronize" == "true" ||
|
||||
"$autosynchronize" == "yes" ||
|
||||
"$autosynchronize" == "1"
|
||||
]] && [[ "$couch_url" != "none" ]]
|
||||
then
|
||||
autosynchronize=true
|
||||
else
|
||||
autosynchronize=false
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Validating installation parameters..." --weight=1
|
||||
|
||||
# dato provides an internal webserver, setup it's installation path
|
||||
final_path=/opt/yunohost/$app
|
||||
test ! -e "$final_path" || ynh_die --message="This path already contains a folder"
|
||||
|
||||
# Register (book) web path
|
||||
ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url
|
||||
|
||||
#=================================================
|
||||
# STORE SETTINGS FROM MANIFEST
|
||||
#=================================================
|
||||
ynh_script_progression --message="Storing installation settings..." --weight=1
|
||||
|
||||
ynh_app_setting_set --app=$app --key=domain --value=$domain
|
||||
ynh_app_setting_set --app=$app --key=path --value=$path_url
|
||||
ynh_app_setting_set --app=$app --key=admin_email --value=$admin_email
|
||||
ynh_app_setting_set --app=$app --key=autosynchronize --value=$autosynchronize
|
||||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
||||
ynh_app_setting_set --app=$app --key=couch_url --value=$couch_url
|
||||
ynh_app_setting_set --app=$app --key=couch_admin_name --value=$couch_admin_name
|
||||
ynh_app_setting_set --app=$app --key=couch_admin_password --value=$couch_admin_password
|
||||
ynh_app_setting_set --app=$app --key=admin_email --value=$admin_email
|
||||
|
||||
#=================================================
|
||||
# STANDARD MODIFICATIONS
|
||||
#=================================================
|
||||
# FIND AND OPEN A PORT
|
||||
#=================================================
|
||||
ynh_script_progression --message="Finding an available port..." --weight=1
|
||||
|
||||
# Find an available port
|
||||
port=$(ynh_find_port --port=9559)
|
||||
ynh_app_setting_set --app=$app --key=port --value=$port
|
||||
|
||||
#=================================================
|
||||
# INSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Installing dependencies..." --weight=6
|
||||
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||
|
||||
#=================================================
|
||||
# CREATE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring system user..." --weight=1
|
||||
|
||||
# Create a system user
|
||||
ynh_system_user_create --username=$app --home_dir="$final_path"
|
||||
ynh_install_nodejs --nodejs_version="$nodejs_version"
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Setting up source files..." --weight=2
|
||||
|
||||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
ynh_setup_source --dest_dir="$final_path"
|
||||
ynh_setup_source --dest_dir="$install_dir/sources"
|
||||
|
||||
chmod 750 "$final_path"
|
||||
chmod -R o-rwx "$final_path"
|
||||
chown -R $app:www-data "$final_path"
|
||||
chmod -R o-rwx "$install_dir/sources"
|
||||
chown -R "$app:www-data" "$install_dir/sources"
|
||||
|
||||
#=================================================
|
||||
# NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring NGINX web server..." --weight=1
|
||||
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC SETUP
|
||||
#=================================================
|
||||
# BUILD NODE DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Building node dependencies..." --weight=90
|
||||
|
||||
pushd "$final_path"
|
||||
ynh_use_nodejs
|
||||
ynh_exec_warn_less ynh_exec_as $app $ynh_node_load_PATH $ynh_npm install --loglevel warn
|
||||
pushd "$install_dir/sources"
|
||||
ynh_use_nodejs
|
||||
ynh_exec_warn_less ynh_exec_as "$app" "$ynh_node_load_PATH" "$ynh_npm" install --loglevel warn
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
# ADD A CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Adding a configuration file..." --weight=3
|
||||
ynh_script_progression --message="Adding $app's configuration file..." --weight=3
|
||||
|
||||
dato_setup_config_files
|
||||
|
||||
#=================================================
|
||||
# SETUP SYSTEMD
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring a systemd service..." --weight=2
|
||||
|
||||
# Create a dedicated systemd config
|
||||
ynh_add_systemd_config
|
||||
|
||||
#=================================================
|
||||
# CUSTOMIZE SETUP FOR AUTOSYNCHRONIZATION
|
||||
#=================================================
|
||||
|
@ -162,7 +62,7 @@ if [[ $autosynchronize == true ]]; then
|
|||
ynh_script_progression --message="Customizing couch config..." --weight=2
|
||||
|
||||
# make sure that couchdb has CORS enabled and that it accepts requests from dato domain
|
||||
ynh_add_config --template="../conf/couch.ini" --destination="/opt/couchdb/etc/local.d/$app.ini"
|
||||
ynh_add_config --template="couch.ini" --destination="/opt/couchdb/etc/local.d/$app.ini"
|
||||
|
||||
# restart couchdb service so that it takes into consideration the changes
|
||||
yunohost service restart couchdb
|
||||
|
@ -210,53 +110,31 @@ fi
|
|||
# SECURE FILES AND DIRECTORIES
|
||||
#=================================================
|
||||
|
||||
[ -d "$final_path/dist" ] || mkdir "$final_path/dist"
|
||||
chown -R $app:$app $final_path/dist $final_path/global $final_path/config
|
||||
mkdir -p "$install_dir/sources/dist"
|
||||
chown -R "$app:$app" "$install_dir/sources/dist" "$install_dir/sources/config"
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
# SYSTEM CONFIGURATION
|
||||
#=================================================
|
||||
# SETUP LOGROTATE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring log rotation..." --weight=1
|
||||
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
|
||||
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
|
||||
# Create a dedicated systemd config
|
||||
ynh_add_systemd_config
|
||||
yunohost service add "$app" --description="Data storage with a convenient and flexible interface" --log="/var/log/$app/$app.log"
|
||||
|
||||
# Use logrotate to manage application logfile(s)
|
||||
ynh_use_logrotate
|
||||
|
||||
#=================================================
|
||||
# INTEGRATE SERVICE IN YUNOHOST
|
||||
#=================================================
|
||||
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
||||
|
||||
yunohost service add $app --description="Data storage with a convenient and flexible interface" --log="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=60
|
||||
ynh_script_progression --message="Starting $app's systemd service..." --weight=60
|
||||
|
||||
# Start a systemd service
|
||||
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
#=================================================
|
||||
# SETUP SSOWAT
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring permissions..." --weight=1
|
||||
|
||||
# Make app public if necessary
|
||||
if [ $is_public -eq 1 ]
|
||||
then
|
||||
# Everyone can access the app.
|
||||
# The "main" permission is automatically created before the install script.
|
||||
ynh_permission_update --permission="main" --add="visitors"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# RELOAD NGINX
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reloading NGINX web server..." --weight=2
|
||||
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
@ -10,97 +8,44 @@ source _common.sh
|
|||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Loading installation settings..." --weight=2
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||
port=$(ynh_app_setting_get --app=$app --key=port)
|
||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||
autosynchronize=$(ynh_app_setting_get --app=$app --key=autosynchronize)
|
||||
|
||||
#=================================================
|
||||
# STANDARD REMOVE
|
||||
#=================================================
|
||||
# REMOVE SERVICE INTEGRATION IN YUNOHOST
|
||||
# REMOVE SYSTEM CONFIGURATIONS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Removing system configurations related to $app..." --weight=1
|
||||
|
||||
# Remove the service from the list of services known by YunoHost (added from `yunohost service add`)
|
||||
if ynh_exec_warn_less yunohost service status $app >/dev/null
|
||||
then
|
||||
ynh_script_progression --message="Removing $app service integration..." --weight=1
|
||||
yunohost service remove $app
|
||||
if ynh_exec_warn_less yunohost service status "$app" >/dev/null; then
|
||||
yunohost service remove "$app"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# STOP AND REMOVE SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Stopping and removing the systemd service..." --weight=2
|
||||
|
||||
# Remove the dedicated systemd config
|
||||
ynh_remove_systemd_config
|
||||
|
||||
#=================================================
|
||||
# REMOVE LOGROTATE CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Removing logrotate configuration..." --weight=1
|
||||
|
||||
# Remove the app-specific logrotate config
|
||||
ynh_remove_logrotate
|
||||
|
||||
#=================================================
|
||||
# REMOVE APP MAIN DIR
|
||||
#=================================================
|
||||
ynh_script_progression --message="Removing app main directory..." --weight=3
|
||||
|
||||
# Remove the app directory securely
|
||||
ynh_secure_remove --file="$final_path"
|
||||
|
||||
#=================================================
|
||||
# REMOVE NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Removing NGINX web server configuration..." --weight=2
|
||||
|
||||
# Remove the dedicated NGINX config
|
||||
ynh_remove_nginx_config
|
||||
|
||||
#=================================================
|
||||
# REMOVE DEPENDENCIES
|
||||
# REMOVE NODEJS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Removing dependencies..." --weight=13
|
||||
ynh_script_progression --message="Removing NodeJS..." --weight=13
|
||||
|
||||
# Remove metapackage and its dependencies
|
||||
ynh_remove_nodejs
|
||||
ynh_remove_app_dependencies
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC REMOVE
|
||||
#=================================================
|
||||
# AUTOSYNCHRONIZED SPECIFICS
|
||||
#=================================================
|
||||
|
||||
if [[ $autosynchronize == true ]]; then
|
||||
# Remove dato specific config added to couch
|
||||
ynh_secure_remove --file="/opt/couchdb/etc/local.d/$app.ini"
|
||||
|
||||
# Remove dato specific config added to couch
|
||||
ynh_secure_remove --file="/opt/couchdb/etc/local.d/$app.ini"
|
||||
|
||||
# notify that couchdb users and dbs are left
|
||||
ynh_print_warn --message="Please note that dbs and users in the attached couchdb instance haven't been modified. If you want them removed, you should do that manually, for example from the couchdb web interface."
|
||||
|
||||
# notify that couchdb users and dbs are left
|
||||
ynh_print_warn --message="Please note that dbs and users in the attached couchdb instance haven't been modified. If you want them removed, you should do that manually, for example from the couchdb web interface."
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# REMOVE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_script_progression --message="Removing the dedicated system user..." --weight=1
|
||||
|
||||
# Delete a system user
|
||||
ynh_system_user_delete --username=$app
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
|
110
scripts/restore
110
scripts/restore
|
@ -1,7 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
@ -11,122 +9,54 @@ source ../settings/scripts/_common.sh
|
|||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# MANAGE SCRIPT FAILURE
|
||||
# REINSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reinstalling NodeJS..." --weight=5
|
||||
|
||||
ynh_clean_setup () {
|
||||
ynh_clean_check_starting
|
||||
}
|
||||
# Exit if an error occurs during the execution of the script
|
||||
ynh_abort_if_errors
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Loading installation settings..." --weight=1
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||
path_url=$(ynh_app_setting_get --app=$app --key=path)
|
||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||
autosynchronize=$(ynh_app_setting_get --app=$app --key=autosynchronize)
|
||||
port=$(ynh_app_setting_get --app=$app --key=port)
|
||||
|
||||
#=================================================
|
||||
# CHECK IF THE APP CAN BE RESTORED
|
||||
#=================================================
|
||||
ynh_script_progression --message="Validating restoration parameters..." --weight=2
|
||||
|
||||
test ! -d $final_path \
|
||||
|| ynh_die --message="There is already a directory: $final_path "
|
||||
|
||||
#=================================================
|
||||
# STANDARD RESTORATION STEPS
|
||||
#=================================================
|
||||
# RECREATE THE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_script_progression --message="Recreating the dedicated system user..." --weight=2
|
||||
|
||||
# Create the dedicated user (if not existing)
|
||||
ynh_system_user_create --username=$app --home_dir="$final_path"
|
||||
# Define and install dependencies
|
||||
ynh_install_nodejs --nodejs_version="$nodejs_version"
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE APP MAIN DIR
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the app main directory..." --weight=1
|
||||
|
||||
ynh_restore_file --origin_path="$final_path"
|
||||
ynh_restore_file --origin_path="$install_dir"
|
||||
|
||||
chmod 750 "$final_path"
|
||||
chmod -R o-rwx "$final_path"
|
||||
chown -R $app:www-data "$final_path"
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
|
||||
[ -d "$final_path/dist" ] || mkdir "$final_path/dist"
|
||||
chown -R $app:$app $final_path/dist $final_path/global $final_path/config
|
||||
mkdir -p "$install_dir/sources/dist"
|
||||
chown -R "$app:$app" "$install_dir/sources/dist" "$install_dir/sources/global" "$install_dir/sources/config"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC RESTORATION
|
||||
#=================================================
|
||||
# REINSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reinstalling dependencies..." --weight=5
|
||||
|
||||
# Define and install dependencies
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the NGINX web server configuration..."
|
||||
|
||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
#=================================================
|
||||
# BACKUP VARIOUS FILES
|
||||
# RESTORE VARIOUS FILES
|
||||
#=================================================
|
||||
|
||||
# restore dato.ini config in couch
|
||||
if [[ $autosynchronize == true ]]; then
|
||||
ynh_restore_file --origin_path="/opt/couchdb/etc/local.d/$app.ini"
|
||||
ynh_restore_file --origin_path="/opt/couchdb/etc/local.d/$app.ini"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# RESTORE SYSTEMD
|
||||
# RESTORE SYSTEM CONFIGURATIONS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the systemd configuration..." --weight=2
|
||||
ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1
|
||||
|
||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_restore_file --origin_path="/etc/systemd/system/$app.service"
|
||||
systemctl enable $app.service --quiet
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE LOGROTATE CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the logrotate configuration..."
|
||||
systemctl enable "$app.service" --quiet
|
||||
yunohost service add "$app" --description="Data storage with a convenient and flexible interface" --log="/var/log/$app/$app.log"
|
||||
|
||||
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
|
||||
|
||||
#=================================================
|
||||
# INTEGRATE SERVICE IN YUNOHOST
|
||||
# RELOAD NGINX AND PHP-FPM OR THE APP SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
||||
ynh_script_progression --message="Reloading NGINX web server and $app's service..." --weight=1
|
||||
|
||||
yunohost service add $app --description="Data storage with a convenient and flexible interface" --log="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=60
|
||||
|
||||
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# RELOAD NGINX
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
|
||||
|
|
150
scripts/upgrade
150
scripts/upgrade
|
@ -1,7 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
@ -9,170 +7,82 @@
|
|||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Loading installation settings..." --weight=1
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||
path_url=$(ynh_app_setting_get --app=$app --key=path)
|
||||
port=$(ynh_app_setting_get --app=$app --key=port)
|
||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||
autosynchronize=$(ynh_app_setting_get --app=$app --key=autosynchronize)
|
||||
couch_url=$(ynh_app_setting_get --app=$app --key=couch_url)
|
||||
couch_admin_name=$(ynh_app_setting_get --app=$app --key=couch_admin_name)
|
||||
couch_admin_password=$(ynh_app_setting_get --app=$app --key=couch_admin_password)
|
||||
admin_email=$(ynh_app_setting_get --app=$app --key=admin_email)
|
||||
|
||||
#=================================================
|
||||
# CHECK VERSION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Checking version..."
|
||||
|
||||
upgrade_type=$(ynh_check_app_version_changed)
|
||||
|
||||
#=================================================
|
||||
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
|
||||
#=================================================
|
||||
ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=10
|
||||
|
||||
# Backup the current version of the app
|
||||
ynh_backup_before_upgrade
|
||||
ynh_clean_setup () {
|
||||
ynh_clean_check_starting
|
||||
# Restore it if the upgrade fails
|
||||
ynh_restore_upgradebackup
|
||||
}
|
||||
# Exit if an error occurs during the execution of the script
|
||||
ynh_abort_if_errors
|
||||
|
||||
#=================================================
|
||||
# STANDARD UPGRADE STEPS
|
||||
#=================================================
|
||||
# STOP SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Stopping a systemd service..." --weight=1
|
||||
|
||||
ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd"
|
||||
ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# ENSURE DOWNWARD COMPATIBILITY
|
||||
#=================================================
|
||||
ynh_script_progression --message="Ensuring downward compatibility..."
|
||||
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
|
||||
|
||||
# Cleaning legacy permissions
|
||||
if ynh_legacy_permissions_exists; then
|
||||
ynh_legacy_permissions_delete_all
|
||||
|
||||
ynh_app_setting_delete --app=$app --key=is_public
|
||||
# Cleanup legacy install dir
|
||||
if [ ! -d "$install_dir/sources" ]; then
|
||||
mkdir "$install_dir/sources"
|
||||
find . -mindepth 1 -maxdepth 1 ! -name "sources" -exec mv -t "$install_dir/sources" "{}" +
|
||||
fi
|
||||
|
||||
# If path_url doesn't exist, create it
|
||||
if [ -z "$path_url" ]; then
|
||||
path_url="/"
|
||||
ynh_app_setting_set --app=$app --key=path_url --value=$path_url
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# CREATE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1
|
||||
|
||||
# Create a dedicated user (if not existing)
|
||||
ynh_system_user_create --username=$app --home_dir=$final_path
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
|
||||
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
||||
then
|
||||
ynh_script_progression --message="Upgrading source files..." --weight=3
|
||||
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
ynh_setup_source --dest_dir="$final_path" --keep="config/public.js config/private.js"
|
||||
fi
|
||||
|
||||
chmod 750 "$final_path"
|
||||
chmod -R o-rwx "$final_path"
|
||||
chown -R $app:www-data "$final_path"
|
||||
|
||||
#=================================================
|
||||
# UPGRADE DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Upgrading dependencies..." --weight=5
|
||||
ynh_script_progression --message="Upgrading NodeJS..." --weight=5
|
||||
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||
ynh_install_nodejs --nodejs_version="$nodejs_version"
|
||||
|
||||
#=================================================
|
||||
# NGINX CONFIGURATION
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1
|
||||
ynh_script_progression --message="Upgrading source files..." --weight=3
|
||||
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
ynh_setup_source --dest_dir="$install_dir/sources" --full_replace=1 --keep="config"
|
||||
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC UPGRADE
|
||||
#=================================================
|
||||
# BUILD NODE DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Building node dependencies..." --weight=90
|
||||
ynh_script_progression --message="Building node dependencies..." --weight=20
|
||||
|
||||
pushd "$final_path"
|
||||
ynh_use_nodejs
|
||||
ynh_secure_remove --file="./node_modules"
|
||||
ynh_exec_warn_less ynh_exec_as $app $ynh_node_load_PATH $ynh_npm install --loglevel warn
|
||||
pushd "$install_dir/sources"
|
||||
ynh_use_nodejs
|
||||
ynh_exec_warn_less ynh_exec_as "$app" "$ynh_node_load_PATH" "$ynh_npm" install --loglevel warn
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
# SECURE FILES AND DIRECTORIES
|
||||
# ADD A CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Updating $app's configuration file..." --weight=3
|
||||
|
||||
[ -d "$final_path/dist" ] || mkdir "$final_path/dist"
|
||||
chown -R $app:$app $final_path/dist $final_path/global $final_path/config
|
||||
dato_setup_config_files
|
||||
|
||||
#=================================================
|
||||
# SETUP SYSTEMD
|
||||
# REAPPLY SYSTEM CONFIGURATIONS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Upgrading systemd configuration..." --weight=1
|
||||
ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1
|
||||
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
|
||||
# Create a dedicated systemd config
|
||||
ynh_add_systemd_config
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# SETUP LOGROTATE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Upgrading logrotate configuration..." --weight=1
|
||||
yunohost service add "$app" --description="Data storage with a convenient and flexible interface" --log="/var/log/$app/$app.log"
|
||||
|
||||
# Use logrotate to manage app-specific logfile(s)
|
||||
ynh_use_logrotate --non-append
|
||||
|
||||
#=================================================
|
||||
# INTEGRATE SERVICE IN YUNOHOST
|
||||
#=================================================
|
||||
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
||||
|
||||
yunohost service add $app --description="Data storage with a convenient and flexible interface" --log="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=60
|
||||
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
|
||||
|
||||
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
#=================================================
|
||||
# RELOAD NGINX
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
|
||||
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --line_match="electrode server listening on port" --timeout=600
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
|
|
10
tests.toml
Normal file
10
tests.toml
Normal file
|
@ -0,0 +1,10 @@
|
|||
#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/tests.v1.schema.json
|
||||
|
||||
test_format = 1.0
|
||||
|
||||
[default]
|
||||
args.autosynchronize = false
|
||||
args.couch_admin_password = "ANicePassword"
|
||||
args.couch_datoadmin_password = "ANicePassword"
|
||||
|
||||
test_upgrade_from.6cbecb3f2af6adfce5bdf8077c906569703a1508.name = "1.6.3~ynh2"
|
Loading…
Add table
Reference in a new issue