| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!/bin/bash
- source _common.sh
- source /usr/share/yunohost/helpers
- ynh_script_progression "Copie des sources de l'application..."
- cp -a "$YNH_APP_BASEDIR/sources/." "$install_dir/"
- ynh_script_progression "Création du virtualenv Python et installation des dépendances..."
- python3 -m venv "$install_dir/venv"
- "$install_dir/venv/bin/pip" install --upgrade pip wheel --quiet
- "$install_dir/venv/bin/pip" install -r "$install_dir/requirements.txt" --quiet
- ynh_script_progression "Création de la structure de données..."
- mkdir -p "$data_dir/keys" "$data_dir/logs"
- ynh_script_progression "Génération des secrets..."
- secret_key=$(ynh_string_random --length=64)
- api_token=$(ynh_string_random --length=64)
- ynh_app_setting_set --key=secret_key --value="$secret_key"
- ynh_app_setting_set --key=api_token --value="$api_token"
- ynh_script_progression "Génération du fichier de configuration..."
- ynh_add_config --template="app.conf" --destination="$install_dir/config.py"
- ynh_script_progression "Initialisation de la base de données..."
- "$install_dir/venv/bin/python3" "$install_dir/init_db.py" "$install_dir/config.py"
- ynh_script_progression "Configuration des permissions..."
- chown -R "$app:$app" "$install_dir" "$data_dir"
- chmod 600 "$install_dir/config.py"
- chmod 700 "$data_dir/keys"
- ynh_script_progression "Ajout des règles sudo..."
- ynh_add_config --template="sudoers" --destination="/etc/sudoers.d/$app"
- chmod 440 "/etc/sudoers.d/$app"
- ynh_script_progression "Configuration du service systemd..."
- ynh_add_systemd_config
- yunohost service add "$app" \
- --description="Backup Manager ($instance_name)" \
- --log="$data_dir/logs/backupmanager.log"
- ynh_script_progression "Configuration de nginx..."
- ynh_add_nginx_config
- ynh_script_progression "Démarrage du service..."
- ynh_systemctl --action="start" --service="$app"
- ynh_script_progression "Installation terminée !"
- ynh_print_info "Token API : $api_token"
- ynh_print_info "Conservez ce token, il ne sera plus affiché."
|