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 ## 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 - partager, commenter et enregistrer des liens intéressants
- bookmark useful/frequent links and share them between computers - ajoutez des liens utiles/fréquents à vos favoris et partagez-les entre ordinateurs
- a minimal blog/microblog/writing platform - une plateforme minimale de blog/microblog/écriture
- a read-it-later/todo list - une liste à lire plus tard/à faire
- a notepad to draft and save articles/posts/ideas - un bloc-notes pour rédiger et sauvegarder des articles/posts/idées
- a knowledge base to keep notes, documentation and code snippets - une base de connaissances pour conserver des notes, de la documentation et des extraits de code
- a shared clipboard/notepad/pastebin between computers - un presse-papiers/bloc-notes/pastebin partagé entre ordinateurs
- playlist manager for online media - gestionnaire de playlist pour les médias en ligne
- feed other blogs, aggregators, social networks... - alimenter d'autres blogs, agrégateurs, réseaux sociaux...
**Version incluse :** 0.12.2~ynh1 **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" id = "shaarli"
name = "Shaarli" name = "Shaarli"
description.en = "The personal, minimalist, super-fast, no-database delicious clone" description.en = "Save, sort, synchronize and share web addresses"
description.fr = "Clone de delicious, rapide, simple et sans base de données" description.fr = "Sauvegarder, trier, synchroniser et partager des adresses web"
version = "0.12.2~ynh1" version = "0.12.2~ynh1"
@ -16,11 +16,14 @@ admindoc = "https://shaarli.readthedocs.io/en/master/"
code = "https://github.com/shaarli/Shaarli" code = "https://github.com/shaarli/Shaarli"
[integration] [integration]
yunohost = ">= 11.1.15" yunohost = ">= 11.2"
architectures = "all" architectures = "all"
multi_instance = true multi_instance = true
ldap = false ldap = false
sso = false sso = false
disk = "50M" disk = "50M"
ram.build = "50M" ram.build = "50M"
ram.runtime = "50M" ram.runtime = "50M"
@ -33,10 +36,10 @@ ram.runtime = "50M"
default = "/shaarli" default = "/shaarli"
[install.init_main_permission] [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.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 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.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" type = "group"
default = false default = "visitors"
[install.admin] [install.admin]
type = "user" type = "user"
@ -55,6 +58,7 @@ ram.runtime = "50M"
[resources.sources.main] [resources.sources.main]
url = "https://github.com/shaarli/Shaarli/releases/download/v0.12.2/shaarli-v0.12.2-full.tar.gz" url = "https://github.com/shaarli/Shaarli/releases/download/v0.12.2/shaarli-v0.12.2-full.tar.gz"
sha256 = "7c2077b1de493012a77d8e9bd926715f1576f5520eff86a239bc96d2df80fd1d" sha256 = "7c2077b1de493012a77d8e9bd926715f1576f5520eff86a239bc96d2df80fd1d"
autoupdate.strategy = "latest_github_tag"
[resources.system_user] [resources.system_user]
@ -64,4 +68,4 @@ ram.runtime = "50M"
main.url = "/" main.url = "/"
[resources.apt] [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 # 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 ynh_change_url_nginx_config

View file

@ -12,7 +12,7 @@ source /usr/share/yunohost/helpers
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # 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 # 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"
@ -22,27 +22,30 @@ chmod -R u+rwX $install_dir/{cache/,data/,pagecache/,tmp/}
chown -R $app:www-data "$install_dir" 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 # Create a dedicated PHP-FPM config
ynh_add_fpm_config --usage=low --footprint=low ynh_add_fpm_config
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Configuring NGINX web server..."
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_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 # SPECIFIC SETUP
#================================================= #=================================================
# ADD A CONFIGURATION # ADD A CONFIGURATION
#================================================= #=================================================
ynh_script_progression --message="Adding a configuration file..." ynh_script_progression --message="Adding a configuration file..." --weight=1
# Get the timezone # Get the timezone
timezone=$(cat /etc/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" ynh_add_config --template="../conf/config.json.php" --destination="$install_dir/data/config.json.php"
chmod 700 "$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 # END OF SCRIPT
#================================================= #=================================================

View file

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

View file

@ -13,7 +13,7 @@ source /usr/share/yunohost/helpers
#================================================= #=================================================
# RESTORE THE APP MAIN DIR # 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" 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" 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/jail.d/$app.conf"
ynh_restore_file --origin_path="/etc/fail2ban/filter.d/$app.conf" ynh_restore_file --origin_path="/etc/fail2ban/filter.d/$app.conf"
ynh_systemd_action --action=restart --service_name=fail2ban 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 # GENERIC FINALIZATION
#================================================= #=================================================
# RELOAD NGINX AND PHP-FPM # 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=php$phpversion-fpm --action=reload
ynh_systemd_action --service_name=nginx --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) 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 then
ynh_script_progression --message="Upgrading source files..." ynh_script_progression --message="Upgrading source files..." --weight=1
# Create a temporary directory # Create a temporary directory
tmpdir="$(mktemp -d)" #tmpdir="$(mktemp -d)"
# Backup the config file in the temp dir # Backup the config file in the temp dir
cp -a "$install_dir/data" "$tmpdir/data" #cp -a "$install_dir/data" "$tmpdir/data"
cp -a "$install_dir/tpl" "$tmpdir/tpl" #cp -a "$install_dir/tpl" "$tmpdir/tpl"
# Download, check integrity, uncompress and patch the source from app.src # 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 "$tmpdir/data" "$install_dir/"
cp -a -n "$tmpdir/tpl" "$install_dir/" # copy without erasing existing templates (from official source) #cp -a -n "$tmpdir/tpl" "$install_dir/" # copy without erasing existing templates (from official source)
# Remove the tmp directory securely # Remove the tmp directory securely
ynh_secure_remove --file="$tmpdir" #ynh_secure_remove --file="$tmpdir"
fi fi
chmod -R o-rwx "$install_dir" chmod -R o-rwx "$install_dir"
chmod -R u+rwX $install_dir/{cache/,data/,pagecache/,tmp/} chmod -R u+rwX $install_dir/{cache/,data/,pagecache/,tmp/}
chown -R $app:www-data "$install_dir" 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 # Create a dedicated PHP-FPM config
ynh_add_fpm_config --usage=low --footprint=low ynh_add_fpm_config
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading NGINX web server configuration..."
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_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) # Use logrotate to manage app-specific logfile(s)
# Temporary fix for .txt log file and ynh_use_logrotate # Temporary fix for .txt log file and ynh_use_logrotate
if [ -d "$install_dir/data/log.txt" ] 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 ynh_use_logrotate --non-append --specific_user=$app
#=================================================
# UPGRADE FAIL2BAN
#=================================================
ynh_script_progression --message="Reconfiguring Fail2Ban..."
# Create a dedicated Fail2Ban config # Create a dedicated Fail2Ban config
ynh_add_fail2ban_config --logpath="$install_dir/data/log.txt" --failregex="\s-\s<HOST>\s-\sLogin failed for user.*$" ynh_add_fail2ban_config --logpath="$install_dir/data/log.txt" --failregex="\s-\s<HOST>\s-\sLogin failed for user.*$"