mirror of
https://github.com/YunoHost-Apps/lutim_ynh.git
synced 2024-09-03 19:36:24 +02:00
Corrections backup restore
This commit is contained in:
parent
a4c6ff91be
commit
b2d595e203
6 changed files with 89 additions and 52 deletions
25
check_process
Normal file
25
check_process
Normal file
|
@ -0,0 +1,25 @@
|
|||
;; Test complet
|
||||
auto_remove=1
|
||||
; Manifest
|
||||
domain="domain.tld" (DOMAIN)
|
||||
path="/path" (PATH)
|
||||
admin="john" (USER)
|
||||
is_public="Yes" (PUBLIC|public=Yes|private=No)
|
||||
always_encrypt="Yes"
|
||||
; Checks
|
||||
pkg_linter=1
|
||||
setup_sub_dir=1
|
||||
setup_root=1
|
||||
setup_nourl=0
|
||||
setup_private=1
|
||||
setup_public=1
|
||||
upgrade=1
|
||||
backup_restore=1
|
||||
multi_instance=0
|
||||
wrong_user=1
|
||||
wrong_path=1
|
||||
incorrect_path=1
|
||||
corrupt_source=0
|
||||
fail_download_source=0
|
||||
port_already_use=1 (8095)
|
||||
final_path_already_use=0
|
|
@ -1,4 +1,4 @@
|
|||
location __PATH__ {
|
||||
location __PATH__/ {
|
||||
if ($scheme = http) {
|
||||
rewrite ^ https://$server_name$request_uri? permanent;
|
||||
}
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
},
|
||||
"version": "0.6 dev",
|
||||
"url": "https://lut.im",
|
||||
"licence": "free",
|
||||
"license": "free",
|
||||
"maintainer": {
|
||||
"name": "Maniack Crudelis et matlink",
|
||||
"email": "maniackc_dev@crudelis.fr matlink@matlink.fr"
|
||||
},
|
||||
"multi_instance": "false",
|
||||
"multi_instance": false,
|
||||
"services": [
|
||||
"nginx"
|
||||
],
|
||||
|
@ -24,6 +24,7 @@
|
|||
"install" : [
|
||||
{
|
||||
"name": "domain",
|
||||
"type": "domain",
|
||||
"ask": {
|
||||
"en": "Choose a domain for Lutim",
|
||||
"fr": "Choisissez un domaine pour Lutim"
|
||||
|
@ -32,6 +33,7 @@
|
|||
},
|
||||
{
|
||||
"name": "path",
|
||||
"type": "path",
|
||||
"ask": {
|
||||
"en": "Choose a path for Lutim",
|
||||
"fr": "Choisissez un chemin pour Lutim"
|
||||
|
@ -41,6 +43,7 @@
|
|||
},
|
||||
{
|
||||
"name": "admin",
|
||||
"type": "user",
|
||||
"ask": {
|
||||
"en": "Choose the Lutim administrator (must be an existing YunoHost user)",
|
||||
"fr": "Choisissez un administrateur Lutim (doit être un utilisateur YunoHost)"
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
ynh_version="2.4"
|
||||
|
||||
YNH_VERSION () { # Renvoi le numéro de version de la moulinette Yunohost
|
||||
ynh_version=$(sudo yunohost -v | grep "moulinette:" | cut -d' ' -f2 | cut -d'.' -f1,2)
|
||||
}
|
||||
|
@ -7,20 +9,20 @@ YNH_VERSION () { # Renvoi le numéro de version de la moulinette Yunohost
|
|||
CHECK_VAR () { # Vérifie que la variable n'est pas vide.
|
||||
# $1 = Variable à vérifier
|
||||
# $2 = Texte à afficher en cas d'erreur
|
||||
test -n "$1" || (echo "$2" && false)
|
||||
test -n "$1" || (echo "$2" >&2 && false)
|
||||
}
|
||||
|
||||
EXIT_PROPERLY () { # Provoque l'arrêt du script en cas d'erreur. Et nettoye les résidus.
|
||||
trap '' ERR
|
||||
echo -e "\e[91m \e[1m" # Shell in light red bold
|
||||
echo -e "!!\n $app install's script has encountered an error. Installation was cancelled.\n!!"
|
||||
echo -e "!!\n $app install's script has encountered an error. Installation was cancelled.\n!!" >&2
|
||||
|
||||
CLEAN_SETUP # Appel la fonction de nettoyage spécifique du script install.
|
||||
|
||||
# Compense le bug de ssowat qui ne supprime pas l'entrée de l'app en cas d'erreur d'installation.
|
||||
sudo sed -i "\@\"$domain$path/\":@d" /etc/ssowat/conf.json
|
||||
|
||||
if [ $ynh_version = "2.2" ]; then
|
||||
if [ "$ynh_version" = "2.2" ]; then
|
||||
/bin/bash $script_dir/remove # Appel le script remove. En 2.2, ce comportement n'est pas automatique.
|
||||
fi
|
||||
|
||||
|
@ -40,7 +42,7 @@ TRAP_OFF () { # Ignoring signal capture until TRAP_ON
|
|||
|
||||
CHECK_USER () { # Vérifie la validité de l'user admin
|
||||
# $1 = Variable de l'user admin.
|
||||
sudo yunohost user list --json | grep -q "\"username\": \"$1\"" || (echo "Wrong admin" && false)
|
||||
sudo yunohost user list --json | grep -q "\"username\": \"$1\"" || (echo "Wrong admin" >&2 && false)
|
||||
}
|
||||
|
||||
CHECK_PATH () { # Vérifie la présence du / en début de path. Et son absence à la fin.
|
||||
|
@ -60,7 +62,7 @@ CHECK_FINALPATH () { # Vérifie que le dossier de destination n'est pas déjà u
|
|||
final_path=/var/www/$app
|
||||
if [ -e "$final_path" ]
|
||||
then
|
||||
echo "This path already contains a folder"
|
||||
echo "This path already contains a folder" >&2
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
@ -81,7 +83,7 @@ SETUP_SOURCE () { # Télécharge la source, décompresse et copie dans $final_pa
|
|||
# $1 = Nom de l'archive téléchargée.
|
||||
wget -nv --show-progress -i ../sources/source_url -O $1
|
||||
# Vérifie la somme de contrôle de la source téléchargée.
|
||||
md5sum -c ../sources/source_md5 --status || (echo "Corrupt source" && false)
|
||||
md5sum -c ../sources/source_md5 --status || (echo "Corrupt source" >&2 && false)
|
||||
# Décompresse la source
|
||||
if [ "$(echo ${1##*.})" == "gz" ]; then
|
||||
tar -x -f $1
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
source .fonctions # Charge les fonctions génériques habituellement utilisées dans le script
|
||||
|
||||
# Récupère les infos de l'application.
|
||||
YNH_VERSION # Récupère le numéro de version de Yunohost.
|
||||
ynh_version=$(sudo yunohost -v | grep "moulinette:" | cut -d' ' -f2 | cut -d'.' -f1,2) # Récupère le numéro de version de Yunohost.
|
||||
if [ $ynh_version = "2.4" ]; then
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
else
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
source .fonctions # Charge les fonctions génériques habituellement utilisées dans le script
|
||||
|
||||
# Récupère les infos de l'application.
|
||||
YNH_VERSION # Récupère le numéro de version de Yunohost.
|
||||
ynh_version=$(sudo yunohost -v | grep "moulinette:" | cut -d' ' -f2 | cut -d'.' -f1,2) # Récupère le numéro de version de Yunohost.
|
||||
if [ $ynh_version = "2.4" ]; then
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
else
|
||||
|
@ -29,17 +27,28 @@ then
|
|||
# Restauration des fichiers du script init
|
||||
sudo cp -a $backup_dir/init.d_lutim /etc/init.d/lutim
|
||||
sudo cp -a $backup_dir/default_lutim /etc/default/lutim
|
||||
## Démarrage auto du service
|
||||
sudo update-rc.d lutim defaults
|
||||
else
|
||||
# Restauration des fichiers du script systemd
|
||||
sudo cp -a $backup_dir/lutim.service /etc/systemd/system/lutim.service
|
||||
## Démarrage auto du service
|
||||
sudo systemctl enable lutim.service
|
||||
fi
|
||||
|
||||
|
||||
# Restauration du fichier du cron
|
||||
sudo cp -a $backup_dir/cron_$app /etc/cron.d/$app
|
||||
|
||||
# Making log symbolic link to /var/log
|
||||
sudo mkdir -p /var/log/$app/
|
||||
sudo touch /var/log/$app/production.log
|
||||
sudo chown www-data: /var/log/$app/production.log
|
||||
# Restaure la configuration de logrotate
|
||||
sudo cp -a $backup_dir/logrotate /etc/logrotate.d/$app
|
||||
|
||||
|
||||
# Restart webserver
|
||||
sudo service nginx reload
|
||||
|
||||
# Start lutim
|
||||
sudo service lutim start
|
||||
|
|
Loading…
Add table
Reference in a new issue