1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/shaarli_ynh.git synced 2024-09-03 20:26:10 +02:00

Merge pull request #90 from YunoHost-Apps/testing

Testing
This commit is contained in:
Salamandar 2023-12-12 12:11:19 +01:00 committed by GitHub
commit c6c2de363b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 75 additions and 123 deletions

View file

@ -16,19 +16,19 @@ Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po
## Vue densemble
Shaarli is a minimalist bookmark manager and link sharing service that you can install on your own server. It is designed to be personal (single-user), fast and handy.
Shaarli est un gestionnaire de favoris minimaliste et un service de partage de liens que vous pouvez installer sur votre propre serveur. Il est conçu pour être personnel (mono-utilisateur), rapide et pratique.
### Features
### Caractéristiques
- share, comment and save interesting links
- bookmark useful/frequent links and share them between computers
- a minimal blog/microblog/writing platform
- a read-it-later/todo list
- a notepad to draft and save articles/posts/ideas
- a knowledge base to keep notes, documentation and code snippets
- a shared clipboard/notepad/pastebin between computers
- playlist manager for online media
- feed other blogs, aggregators, social networks...
- partager, commenter et enregistrer des liens intéressants
- ajoutez des liens utiles/fréquents à vos favoris et partagez-les entre ordinateurs
- une plateforme minimale de blog/microblog/écriture
- une liste à lire plus tard/à faire
- un bloc-notes pour rédiger et sauvegarder des articles/posts/idées
- une base de connaissances pour conserver des notes, de la documentation et des extraits de code
- un presse-papiers/bloc-notes/pastebin partagé entre ordinateurs
- gestionnaire de playlist pour les médias en ligne
- alimenter d'autres blogs, agrégateurs, réseaux sociaux...
**Version incluse :** 0.12.2~ynh1

13
doc/DESCRIPTION_fr.md Normal file
View file

@ -0,0 +1,13 @@
Shaarli est un gestionnaire de favoris minimaliste et un service de partage de liens que vous pouvez installer sur votre propre serveur. Il est conçu pour être personnel (mono-utilisateur), rapide et pratique.
### Caractéristiques
- partager, commenter et enregistrer des liens intéressants
- ajoutez des liens utiles/fréquents à vos favoris et partagez-les entre ordinateurs
- une plateforme minimale de blog/microblog/écriture
- une liste à lire plus tard/à faire
- un bloc-notes pour rédiger et sauvegarder des articles/posts/idées
- une base de connaissances pour conserver des notes, de la documentation et des extraits de code
- un presse-papiers/bloc-notes/pastebin partagé entre ordinateurs
- gestionnaire de playlist pour les médias en ligne
- alimenter d'autres blogs, agrégateurs, réseaux sociaux...

View file

@ -1 +0,0 @@
The installation of Shaarli completed. You should now go to https://__DOMAIN____PATH__ and create your account. After the creation of the account, the registration will be locked.

View file

@ -2,8 +2,8 @@ packaging_format = 2
id = "shaarli"
name = "Shaarli"
description.en = "The personal, minimalist, super-fast, no-database delicious clone"
description.fr = "Clone de delicious, rapide, simple et sans base de données"
description.en = "Save, sort, synchronize and share web addresses"
description.fr = "Sauvegarder, trier, synchroniser et partager des adresses web"
version = "0.12.2~ynh1"
@ -16,11 +16,14 @@ admindoc = "https://shaarli.readthedocs.io/en/master/"
code = "https://github.com/shaarli/Shaarli"
[integration]
yunohost = ">= 11.1.15"
yunohost = ">= 11.2"
architectures = "all"
multi_instance = true
ldap = false
sso = false
disk = "50M"
ram.build = "50M"
ram.runtime = "50M"
@ -33,10 +36,10 @@ ram.runtime = "50M"
default = "/shaarli"
[install.init_main_permission]
help.en = "If set as public, Shaarli will be visible to anyone, including non-Yunohost users. However only Shaarli users can add bookmarks. Your links will be public by default, but you can change that in Shaarli's configuration page."
help.fr = "Si configuré en public, Shaarli sera visible par tout le monde, y compris des personnes sans compte sur votre Yunohost. Cependant seules les personnes avec un compte Shaarli pourrons ajouter des marques-pages. Vos nouveaux liens seront publics par défaut, mais vous pourrez changer ça dans la page de configuration de Shaarli."
help.en = "If set as 'visitors', Shaarli will be visible to anyone, including non-YunoHost users. However only Shaarli users can add bookmarks. Your links will be public by default, but you can change that in Shaarli's configuration page."
help.fr = "Si configuré en 'visiteurs', Shaarli sera visible par tout le monde, y compris des personnes sans compte sur votre YunoHost. Cependant seules les personnes avec un compte Shaarli pourrons ajouter des marques-pages. Vos nouveaux liens seront publics par défaut, mais vous pourrez changer ça dans la page de configuration de Shaarli."
type = "group"
default = false
default = "visitors"
[install.admin]
type = "user"
@ -55,6 +58,7 @@ ram.runtime = "50M"
[resources.sources.main]
url = "https://github.com/shaarli/Shaarli/releases/download/v0.12.2/shaarli-v0.12.2-full.tar.gz"
sha256 = "7c2077b1de493012a77d8e9bd926715f1576f5520eff86a239bc96d2df80fd1d"
autoupdate.strategy = "latest_github_tag"
[resources.system_user]
@ -64,4 +68,4 @@ ram.runtime = "50M"
main.url = "/"
[resources.apt]
packages = "php8.0-cli php8.0-gettext php8.0-curl php8.0-intl php8.0-gd php8.0-mbstring"
packages = "php8.2-cli, php8.2-gettext, php8.2-curl, php8.2-intl, php8.2-gd, php8.2-mbstring, php8.2-simplexml, php8.2-ldap"

View file

@ -14,7 +14,7 @@ source /usr/share/yunohost/helpers
#=================================================
# MODIFY URL IN NGINX CONF
#=================================================
ynh_script_progression --message="Updating NGINX web server configuration..."
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1
ynh_change_url_nginx_config

View file

@ -12,7 +12,7 @@ source /usr/share/yunohost/helpers
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..."
ynh_script_progression --message="Setting up source files..." --weight=1
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir"
@ -22,27 +22,30 @@ chmod -R u+rwX $install_dir/{cache/,data/,pagecache/,tmp/}
chown -R $app:www-data "$install_dir"
#=================================================
# PHP-FPM CONFIGURATION
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression --message="Configuring PHP-FPM..."
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
# Create a dedicated PHP-FPM config
ynh_add_fpm_config --usage=low --footprint=low
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Configuring NGINX web server..."
ynh_add_fpm_config
# Create a dedicated NGINX config
ynh_add_nginx_config
# Use logrotate to manage application logfile(s)
touch "$install_dir/data/log.txt"
ynh_use_logrotate "$install_dir/data/log.txt" --specific_user=$app
chown $app:www-data "$install_dir/data/log.txt"
# Create a dedicated Fail2Ban config
ynh_add_fail2ban_config --logpath="$install_dir/data/log.txt" --failregex="\s-\s<HOST>\s-\sLogin failed for user.*$"
#=================================================
# SPECIFIC SETUP
#=================================================
# ADD A CONFIGURATION
#=================================================
ynh_script_progression --message="Adding a configuration file..."
ynh_script_progression --message="Adding a configuration file..." --weight=1
# Get the timezone
timezone=$(cat /etc/timezone)
@ -68,26 +71,6 @@ fi
ynh_add_config --template="../conf/config.json.php" --destination="$install_dir/data/config.json.php"
chmod 700 "$install_dir/data/config.json.php"
#=================================================
# GENERIC FINALIZATION
#=================================================
# SETUP LOGROTATE
#=================================================
ynh_script_progression --message="Configuring log rotation..."
# Use logrotate to manage application logfile(s)
touch "$install_dir/data/log.txt"
ynh_use_logrotate "$install_dir/data/log.txt" --specific_user=$app
chown $app:www-data "$install_dir/data/log.txt"
#=================================================
# SETUP FAIL2BAN
#=================================================
ynh_script_progression --message="Configuring Fail2Ban..."
# Create a dedicated Fail2Ban config
ynh_add_fail2ban_config --logpath="$install_dir/data/log.txt" --failregex="\s-\s<HOST>\s-\sLogin failed for user.*$"
#=================================================
# END OF SCRIPT
#=================================================

View file

@ -10,36 +10,19 @@ source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# STANDARD REMOVE
# REMOVE SYSTEM CONFIGURATIONS
#=================================================
# REMOVE LOGROTATE CONFIGURATION
#=================================================
ynh_script_progression --message="Removing logrotate configuration..."
ynh_script_progression --message="Removing system configurations related to $app..." --weight=1
# Remove the app-specific logrotate config
ynh_remove_logrotate
#=================================================
# REMOVE NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Removing NGINX web server configuration..."
# Remove the dedicated NGINX config
ynh_remove_nginx_config
#=================================================
# REMOVE PHP-FPM CONFIGURATION
#=================================================
ynh_script_progression --message="Removing PHP-FPM configuration..."
# Remove the dedicated PHP-FPM config
ynh_remove_fpm_config
#=================================================
# REMOVE FAIL2BAN CONFIGURATION
#=================================================
ynh_script_progression --message="Removing Fail2Ban configuration..."
# Remove the dedicated Fail2Ban config
ynh_remove_fail2ban_config

View file

@ -13,7 +13,7 @@ source /usr/share/yunohost/helpers
#=================================================
# RESTORE THE APP MAIN DIR
#=================================================
ynh_script_progression --message="Restoring the app main directory..."
ynh_script_progression --message="Restoring the app main directory..." --weight=1
ynh_restore_file --origin_path="$install_dir"
@ -23,41 +23,28 @@ chown -R $app:www-data "$install_dir"
chmod 700 "$install_dir/data/config.json.php"
#=================================================
# RESTORE FAIL2BAN CONFIGURATION
# RESTORE SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Restoring the Fail2Ban configuration..."
# RESTORE THE PHP-FPM CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
ynh_restore_file --origin_path="/etc/fail2ban/jail.d/$app.conf"
ynh_restore_file --origin_path="/etc/fail2ban/filter.d/$app.conf"
ynh_systemd_action --action=restart --service_name=fail2ban
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring the PHP-FPM configuration..."
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
#=================================================
# 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"
#=================================================
# RESTORE THE LOGROTATE CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring the logrotate configuration..."
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
#=================================================
# GENERIC FINALIZATION
#=================================================
# RELOAD NGINX AND PHP-FPM
#=================================================
ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..."
ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --weight=1
ynh_systemd_action --service_name=php$phpversion-fpm --action=reload
ynh_systemd_action --service_name=nginx --action=reload

View file

@ -21,53 +21,41 @@ upgrade_type=$(ynh_check_app_version_changed)
if [ "$upgrade_type" == "UPGRADE_APP" ] || [ "$upgrade_type" == "UPGRADE_FORCED" ] # we should do that during a force upgrade too (as it could lead to a version upgrade for instance)
then
ynh_script_progression --message="Upgrading source files..."
ynh_script_progression --message="Upgrading source files..." --weight=1
# Create a temporary directory
tmpdir="$(mktemp -d)"
#tmpdir="$(mktemp -d)"
# Backup the config file in the temp dir
cp -a "$install_dir/data" "$tmpdir/data"
cp -a "$install_dir/tpl" "$tmpdir/tpl"
#cp -a "$install_dir/data" "$tmpdir/data"
#cp -a "$install_dir/tpl" "$tmpdir/tpl"
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir"
ynh_setup_source --dest_dir="$install_dir" --keep="data tpl"
cp -a "$tmpdir/data" "$install_dir/"
cp -a -n "$tmpdir/tpl" "$install_dir/" # copy without erasing existing templates (from official source)
#cp -a "$tmpdir/data" "$install_dir/"
#cp -a -n "$tmpdir/tpl" "$install_dir/" # copy without erasing existing templates (from official source)
# Remove the tmp directory securely
ynh_secure_remove --file="$tmpdir"
#ynh_secure_remove --file="$tmpdir"
fi
chmod -R o-rwx "$install_dir"
chmod -R u+rwX $install_dir/{cache/,data/,pagecache/,tmp/}
chown -R $app:www-data "$install_dir"
chmod 700 "$install_dir/data/config.json.php"
#chmod 700 "$install_dir/data/config.json.php"
#=================================================
# PHP-FPM CONFIGURATION
# REAPPLY SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Upgrading PHP-FPM configuration..."
ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1
# Create a dedicated PHP-FPM config
ynh_add_fpm_config --usage=low --footprint=low
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading NGINX web server configuration..."
ynh_add_fpm_config
# Create a dedicated NGINX config
ynh_add_nginx_config
#=================================================
# GENERIC FINALIZATION
#=================================================
# SETUP LOGROTATE
#=================================================
ynh_script_progression --message="Upgrading logrotate configuration..."
# Use logrotate to manage app-specific logfile(s)
# Temporary fix for .txt log file and ynh_use_logrotate
if [ -d "$install_dir/data/log.txt" ]
@ -79,11 +67,6 @@ chown $app:www-data "$install_dir/data/log.txt"
ynh_use_logrotate --non-append --specific_user=$app
#=================================================
# UPGRADE FAIL2BAN
#=================================================
ynh_script_progression --message="Reconfiguring Fail2Ban..."
# Create a dedicated Fail2Ban config
ynh_add_fail2ban_config --logpath="$install_dir/data/log.txt" --failregex="\s-\s<HOST>\s-\sLogin failed for user.*$"