diff --git a/README.md b/README.md index 11e5ba0..f43f47b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + + # Noalyss for YunoHost [![Integration level](https://dash.yunohost.org/integration/noalyss.svg)](https://dash.yunohost.org/appci/app/noalyss) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.maintain.svg) @@ -5,58 +10,33 @@ *[Lire ce readme en français.](./README_fr.md)* -> *This package allow you to install Noalyss quickly and simply on a YunoHost server. -If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* +> *This package allows you to install Noalyss quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -[Noalyss](http://noalyss.eu) is a belgian and french accountant software available in english, dutch and french. -**Included version:** 8.1.0.1 +Accounting free software (Beligum and French accounting) + +**Shipped version:** 8.1.0.1~ynh2 + +**Demo:** http://demo.noalyss.eu/index.php ## Screenshots -![](https://framalibre.org/sites/default/files/S%C3%A9lection_099_0.png) +![](./doc/screenshots/Sélection_099_0.png) -## Demo - -* [Official demo](http://demo.noalyss.eu/index.php) +## Disclaimers / important information ## Configuration At the end of the installation process, you need to open `https://domain/noalyss/install.php` to start using it. -## Documentation +## Documentation and resources - * Official documentation: https://wiki.noalyss.eu/doku.php - -## YunoHost specific features - -#### Multi-users support - -* There is no LDAP integration. Users are handeled within the application. -* Multiple users and accountant books is possible. Access rights are done within Noalyss. - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps.yunohost.org/ci/apps/noalyss/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/noalyss/) - -## Limitations - -* Any known limitations. - -## Additional information - -* Other info you would like to add about this app. - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/noalyss_ynh/issues - * App website: https://www.noalyss.eu/ - * Upstream app repository: Link to the official repository of the upstream app. - * YunoHost website: https://yunohost.org/ - ---- +* Official app website: http://noalyss.eu +* Official admin documentation: https://wiki.noalyss.eu/doku.php +* YunoHost documentation for this app: https://yunohost.org/app_noalyss +* Report a bug: https://github.com/YunoHost-Apps/noalyss_ynh/issues ## Developer info @@ -68,3 +48,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/noalyss_ynh/tree/test or sudo yunohost app upgrade noalyss -u https://github.com/YunoHost-Apps/noalyss_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 392d59e..d7b1c4a 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,120 +1,38 @@ -## Noalyss pour Yunohost +# Noalyss pour YunoHost -[![Integration level](https://dash.yunohost.org/integration/noalyss.svg)](https://dash.yunohost.org/appci/app/noalyss) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.maintain.svg) -[![Installer noalyss avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=noalyss) +[![Niveau d'intégration](https://dash.yunohost.org/integration/noalyss.svg)](https://dash.yunohost.org/appci/app/noalyss) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/noalyss.maintain.svg) +[![Installer Noalyss avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=noalyss) *[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Noalyss rapidement et simplement sur un serveur Yunohost. +> *Ce package vous permet d'installer Noalyss rapidement et simplement sur un serveur YunoHost. Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* -### Vue d'ensemble +## Vue d'ensemble -[Noalyss](http://noalyss.eu) est une application de comptabilité belge et française que vous pourrez modifier suivant vos envies. L'interface est disponible en anglais, français et néerlandais. +Logiciel libre de comptabilité (comptabilité Belge et Française) -**Version incluse:** 8.1.0.1 +**Version incluse :** 8.1.0.1~ynh2 -### Captures d'écran +**Démo :** http://demo.noalyss.eu/index.php -![](https://framalibre.org/sites/default/files/S%C3%A9lection_099_0.png) +## Captures d'écran -### Démo +![](./doc/screenshots/Sélection_099_0.png) -* [Démo officielle](http://demo.noalyss.eu/index.php) +## Avertissements / informations importantes ### Configuration -À la fin de l'installation de l'application il faut se rendre sur `https://domaine/noalysse/install.php` pour terminer la procédure. +À la fin de l'installation de l'application il faut se rendre sur `https://domaine/noalyss/install.php` pour terminer la procédure. -### Documentation +## Documentations et ressources - * Documentation officielle : https://wiki.noalyss.eu/doku.php - * Documentation YunoHost : - -### Caractéristiques spécifiques YunoHost - -##### Support multi-utilisateurs - -* Pas d'authentification LDAP, les utilisateur·ice·s sont gérés dans l'application. -* Plusieurs utilisateur·ice·s sont donc possibles et disponibles pour les différents dossiers comptables. Une gestion des accès est prise en charge dans Noalyss. - -##### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps.yunohost.org/ci/apps/noalyss/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/noalyss%20%28Community%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/noalyss/) - -##### sur LIME2 (Ynh 3.2.1, sur carte microSD) -_(les essais portent sur install,backup,remove,restore)_ - -- OK sauf que le /install.php de Noalyss fait un 504 Gateway Time-out nginx alors que l'installation des table postgres est toujours en cours (après ±2 ou 3min) - - mais un refresh de /install.php affiche la page indiquant la fin d'installation et l'invite à supprimer l'install.php - - idem lorsqu'on crée un dossier comptable … sans le 504 mais renvoie une page blanche - - le refresh indique que le dossier existe déjà et il est fonctionnel mais j'ai attendu que les process postgress finissent leur travail - - pas de problème pour créer un user, ni se connecter - - donc en gros le **packaging fonctionne mais c'est nginx/php-fpm/postgress qui souffrent sur cette petite config**. - -##### Sur VM 32bit avec Yunohost 3.6.5.3 -_(les essais portent sur install,backup,remove,restore)_ - -- OK - -##### Sur VM 64bit avec Yunohost 3.6.5.3 -_(les essais portent sur install,backup,remove,restore)_ - -- OK - -### Questions et Todos - -##### Emails - -- comment fonctionnent les mails avec Noalyss ? - -##### PDF ? -voir : http://wiki.noalyss.eu/doku.php?id=installation:installation_sous_linux -- Pas de conversion en PDF (extension facturation et listing) -- Pas d'export en PDF des opérations de la comptabilité analytique avec les documents attachés - -##### Quid des mises à jours ? - -Pour Nextcloud par exemple il y a un dossier `upgrade.d` dans `scripts`. Mais si je ne me trompe, pour Noalyss il « suffit » de remplacer le dossier des sources. - -##### À propos de la [LICENSE](./LICENSE) - -- est-ce que reprendre la GPL de Noalyss est correcte ? - -### Base de travail - -[example_ynh](https://github.com/YunoHost/example_ynh) a été utilisé comme source(s) d'inspiration. - -##### Les helpers de YunoHost - -Disponibles dans `/data/helpers.d` de [Yunohost](https://github.com/YunoHost/yunohost/) - -- J'ai utilisé le `psql` pour en faire une copie en tant que `_psql.sh` pour pouvoir créer de user noalyss de postgress avec les droits de createdb. - -### Les sources de Noalyss - -Il faut les sources de Noalyss et différentes versions sont disponibles. Actuellement les sources sont téléchargées lors de l'installation. - -- [Version actuelle 7.2](http://download.noalyss.eu/derniere-version/) -- [Versions antérieures](http://download.noalyss.eu/noalyss-package/) - -## Limitations - -* Limitations connues. - -## Informations additionnelles - -* Autres informations que vous souhaitez ajouter sur cette application. - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/noalyss_ynh/issues - * Site de l'application : https://www.noalyss.eu/ - * Dépôt de l'application principale : Lien vers le dépôt officiel de l'application principale. - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : http://noalyss.eu +* Documentation officielle de l'admin : https://wiki.noalyss.eu/doku.php +* Documentation YunoHost pour cette app : https://yunohost.org/app_noalyss +* Signaler un bug : https://github.com/YunoHost-Apps/noalyss_ynh/issues ## Informations pour les développeurs @@ -126,3 +44,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/noalyss_ynh/tree/test ou sudo yunohost app upgrade noalyss -u https://github.com/YunoHost-Apps/noalyss_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index f0b8ae9..6cbb6d7 100644 --- a/check_process +++ b/check_process @@ -1,16 +1,11 @@ -# See here for more information -# https://github.com/YunoHost/package_check#syntax-check_process-file - -# Move this file from check_process.default to check_process when you have filled it. - ;; Test complet ; Manifest - domain="domain.tld" (DOMAIN) - path="/path" (PATH) - admin="john" (USER) + domain="domain.tld" + path="/path" + admin="john" language="fr" - is_public=1 (PUBLIC|public=1|private=0) - password="pass" + is_public=1 + password="strongpassword" ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..b7ead97 --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,3 @@ +## Configuration + +At the end of the installation process, you need to open `https://domain/noalyss/install.php` to start using it. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..4bb725a --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,3 @@ +### Configuration + +À la fin de l'installation de l'application il faut se rendre sur `https://domaine/noalyss/install.php` pour terminer la procédure. diff --git a/doc/screenshots/Sélection_099_0.png b/doc/screenshots/Sélection_099_0.png new file mode 100644 index 0000000..576804a Binary files /dev/null and b/doc/screenshots/Sélection_099_0.png differ diff --git a/manifest.json b/manifest.json index a7a39cb..85f6cc3 100644 --- a/manifest.json +++ b/manifest.json @@ -6,8 +6,14 @@ "en": "Accounting free software (Beligum and French accounting)", "fr": "Logiciel libre de comptabilité (comptabilité Belge et Française)" }, - "version": "8.1.0.1~ynh1", + "version": "8.1.0.1~ynh2", "url": "http://noalyss.eu", + "upstream": { + "license": "AGPL-3.0-only", + "website": "http://noalyss.eu", + "demo": "http://demo.noalyss.eu/index.php", + "admindoc": "https://wiki.noalyss.eu/doku.php" + }, "license": "AGPL-3.0-only", "maintainer": { "name": "datatierce", @@ -15,7 +21,7 @@ "url": "https://computhings.be" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.4" }, "multi_instance": false, "services": [ diff --git a/scripts/install b/scripts/install index f2b36c8..3156711 100755 --- a/scripts/install +++ b/scripts/install @@ -67,6 +67,14 @@ ynh_app_setting_set --app=$app --key=db_name --value=$db_name ynh_psql_test_if_first_run ynh_psql_setup_db --db_user=$db_name --db_name=$db_name +#================================================= +# 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" + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -76,6 +84,10 @@ 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" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # NGINX CONFIGURATION #================================================= @@ -84,14 +96,6 @@ ynh_script_progression --message="Configuring NGINX web server..." # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Configuring system user..." --weight=1 - -# Create a system user -ynh_system_user_create --username=$app - #================================================= # PHP-FPM CONFIGURATION #================================================= @@ -133,16 +137,6 @@ ynh_script_progression --message="Modifying $app config file..." ynh_add_config --template="../conf/noalyss.conf" --destination="$final_path/include/config.inc.php" -#================================================= -# GENERIC FINALIZATION -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -# Set permissions to app files -chown -R $app: $final_path -chown $app: $final_path/include/constant.php - #================================================= # SETUP LOGROTATE #================================================= @@ -151,12 +145,6 @@ ynh_script_progression --message="Configuring log rotation..." # Use logrotate to manage application logfile(s) ynh_use_logrotate -#================================================= -# ADVERTISE SERVICE IN ADMIN PANEL -#================================================= - -#yunohost service add $app --description "Accounting free software" --log "/var/log/$app/$app.log" - #================================================= # SETUP SSOWAT #================================================= diff --git a/scripts/remove b/scripts/remove index f90307a..e534dc8 100755 --- a/scripts/remove +++ b/scripts/remove @@ -21,19 +21,6 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name final_path=$(ynh_app_setting_get --app=$app --key=final_path) -#===============#================================== -# STANDARD REMOVE -#================================================= -# REMOVE SERVICE FROM ADMIN PANEL -#================================================= - -# 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 -# fi - #================================================= # REMOVE THE POSTGRESQL DATABASE #================================================= @@ -56,7 +43,7 @@ ynh_remove_app_dependencies ynh_script_progression --message="Removing app main directory" # Remove the app directory securely -ynh_secure_remove "$final_path" +ynh_secure_remove --file="$final_path" #================================================= # REMOVE NGINX CONFIGURATION diff --git a/scripts/restore b/scripts/restore index ee0ce3f..b65e626 100755 --- a/scripts/restore +++ b/scripts/restore @@ -35,8 +35,6 @@ db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) #================================================= ynh_script_progression --message="Validating restoration parameters..." -ynh_webpath_available $domain $path_url \ - || ynh_die "Path not available: ${domain}${path_url}" test ! -d $final_path \ || ynh_die "There is already a directory: $final_path " @@ -48,28 +46,24 @@ test ! -d $final_path \ ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# RESTORE THE APP MAIN DIR -#================================================= -ynh_script_progression --message="Restoring the app main directory..." - -ynh_restore_file "$final_path" - #================================================= # RECREATE THE DEDICATED USER #================================================= ynh_script_progression --message="Recreating the dedicated system user..." # Create the dedicated user (if not existing) -ynh_system_user_create $app +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= -# RESTORE USER RIGHTS +# RESTORE THE APP MAIN DIR #================================================= +ynh_script_progression --message="Restoring the app main directory..." -# Restore permissions on app files -chown -R $app: $final_path -chown $app: $final_path/include/constant.php +ynh_restore_file --origin_path="$final_path" + +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" #================================================= # RESTORE THE PHP-FPM CONFIGURATION diff --git a/scripts/upgrade b/scripts/upgrade index 0b187c0..10b9be6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -30,6 +30,20 @@ phpversion=$(ynh_app_setting_get --app="$app" --key=phpversion) upgrade_type=$(ynh_check_app_version_changed) +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=5 + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= @@ -55,18 +69,12 @@ if ynh_legacy_permissions_exists; then fi #================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +# CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=5 +ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 -# Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - # restore it if the upgrade fails - ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors +# Create a dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -93,6 +101,10 @@ then ynh_secure_remove --file="$tmpdir" fi +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # NGINX CONFIGURATION #================================================= @@ -108,14 +120,6 @@ ynh_script_progression --message="Upgrading dependencies..." --weight=2 ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies -#================================================= -# 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 - #================================================= # PHP-FPM CONFIGURATION #================================================= @@ -124,20 +128,6 @@ ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=1 # Create a dedicated PHP-FPM config ynh_add_fpm_config --usage=low --footprint=low --package="$extra_php_dependencies" -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -# Set permissions to app files -chown -R $app: $final_path -chown $app: $final_path/include/constant.php - -#================================================= -# ADVERTISE SERVICE IN ADMIN PANEL -#================================================= - -#yunohost service add $app --description "Accounting free software" --log "/var/log/$app/$app.log" - #================================================= # SETUP APPLICATION WITH CURL #=================================================