mirror of
https://github.com/YunoHost-Apps/friendica_ynh.git
synced 2024-09-03 18:36:14 +02:00
Merge pull request #126 from YunoHost-Apps/testing
Testing v2023.12~ynh2
This commit is contained in:
commit
00aee6683f
11 changed files with 82 additions and 67 deletions
|
@ -16,10 +16,11 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
|
|||
|
||||
## Overview
|
||||
|
||||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on Friendica, Mastodon, Diaspora, GnuSocial, Pleroma, or Hubzilla, regardless where each user profile is hosted.
|
||||
|
||||
**Shipped version:** 2023.12~ynh1
|
||||
|
||||
**Shipped version:** 2023.12~ynh2
|
||||
|
||||
**Demo:** https://dir.friendica.social/servers
|
||||
|
||||
|
|
|
@ -16,10 +16,11 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po
|
|||
|
||||
## Vue d’ensemble
|
||||
|
||||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on Friendica, Mastodon, Diaspora, GnuSocial, Pleroma, or Hubzilla, regardless where each user profile is hosted.
|
||||
|
||||
**Version incluse :** 2023.12~ynh1
|
||||
|
||||
**Version incluse :** 2023.12~ynh2
|
||||
|
||||
**Démo :** https://dir.friendica.social/servers
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
// ****************************************************************
|
||||
|
||||
'config' => [
|
||||
'php_path' => '/usr/bin/php'
|
||||
'php_path' => '/usr/bin/php',
|
||||
'admin_email' => '__EMAIL__',
|
||||
'sitename' => 'Friendica Social Network',
|
||||
'register_policy' => \Friendica\Module\Register::OPEN,
|
||||
|
@ -40,7 +40,7 @@ return [
|
|||
],
|
||||
'system' => [
|
||||
'url' => 'https://__DOMAIN__',
|
||||
'basepath' => '__INSTALL_DIR__'
|
||||
'basepath' => '__INSTALL_DIR__',
|
||||
'default_timezone' => '__TIMEZONE__',
|
||||
'language' => '__LANGUAGE__',
|
||||
],
|
||||
|
|
|
@ -1,26 +1,25 @@
|
|||
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
|
||||
location __PATH__/ {
|
||||
location __PATH__/ {
|
||||
|
||||
alias __INSTALL_DIR__/;
|
||||
alias __INSTALL_DIR__/;
|
||||
|
||||
if (!-e $request_filename) {
|
||||
rewrite ^(.*)$ /index.php?pagename=$1;
|
||||
}
|
||||
if (!-e $request_filename) {
|
||||
rewrite ^(.*)$ /index.php?pagename=$1;
|
||||
}
|
||||
|
||||
#allow uploads up to 20MB in size
|
||||
client_max_body_size 50M;
|
||||
client_body_buffer_size 128k;
|
||||
#allow uploads up to 20MB in size
|
||||
client_max_body_size 50M;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
#Default indexes and catch-all
|
||||
index index.php;
|
||||
#Default indexes and catch-all
|
||||
index index.php;
|
||||
|
||||
# make sure webfinger and other well known services aren't blocked
|
||||
# by denying dot files and rewrite request to the front controller
|
||||
location ^~ /.well-known/ {
|
||||
allow all;
|
||||
if (!-e $request_filename) {
|
||||
rewrite ^(.*)$ /index.php?pagename=$1;
|
||||
}
|
||||
if (!-e $request_filename) {
|
||||
rewrite ^(.*)$ /index.php?pagename=$1;
|
||||
}
|
||||
}
|
||||
|
||||
include mime.types;
|
||||
|
@ -30,15 +29,15 @@ location __PATH__/ {
|
|||
deny all;
|
||||
}
|
||||
|
||||
#Execute and serve PHP files
|
||||
location ~* \.php$ {
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
try_files $uri =404;
|
||||
fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
}
|
||||
#Execute and serve PHP files
|
||||
location ~* \.php$ {
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
try_files $uri =404;
|
||||
fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
}
|
||||
|
||||
# deny access to all dot files
|
||||
location ~ /\. {
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on Friendica, Mastodon, Diaspora, GnuSocial, Pleroma, or Hubzilla, regardless where each user profile is hosted.
|
||||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on Friendica, Mastodon, Diaspora, GnuSocial, Pleroma, or Hubzilla, regardless where each user profile is hosted.
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on Friendica, Mastodon, Diaspora, GnuSocial, Pleroma, or Hubzilla, regardless where each user profile is hosted.
|
||||
Friendica is a decentralised communications platform that integrates social communication. The platform links to independent social projects and corporate services.
|
||||
Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on Friendica, Mastodon, Diaspora, GnuSocial, Pleroma, or Hubzilla, regardless where each user profile is hosted.
|
||||
|
|
|
@ -5,9 +5,9 @@ name = "Friendica"
|
|||
description.en = "Decentralized Social Network"
|
||||
description.fr = "Réseau social décentralisé"
|
||||
|
||||
version = "2023.12~ynh1"
|
||||
version = "2023.12~ynh2"
|
||||
|
||||
maintainers = []
|
||||
maintainers = [ "" ]
|
||||
|
||||
[upstream]
|
||||
license = "AGPL-3.0-only"
|
||||
|
@ -30,7 +30,7 @@ ram.runtime = "50M"
|
|||
[install]
|
||||
[install.domain]
|
||||
type = "domain"
|
||||
|
||||
|
||||
[install.init_main_permission]
|
||||
type = "group"
|
||||
default = "visitors"
|
||||
|
@ -42,7 +42,7 @@ ram.runtime = "50M"
|
|||
ask.en = "Choose the application language"
|
||||
ask.fr = "Choisissez la langue de l'application"
|
||||
type = "select"
|
||||
choices = ["de", "en", "es", "fr", "it", "pt"]
|
||||
choices = [ "de", "en", "es", "fr", "it", "pt" ]
|
||||
default = "en"
|
||||
|
||||
[resources]
|
||||
|
@ -51,21 +51,23 @@ ram.runtime = "50M"
|
|||
[resources.sources.main]
|
||||
url = "https://github.com/friendica/friendica/archive/refs/tags/2023.12.tar.gz"
|
||||
sha256 = "d55475628ae24aab1ee7ed3367d22b2fd3ee49200b5da276c69e97df2afbd943"
|
||||
autoupdate.strategy = "latest_github_tag"
|
||||
|
||||
autoupdate.strategy = "latest_github_release"
|
||||
|
||||
[resources.sources.addons]
|
||||
url = "https://github.com/friendica/friendica-addons/archive/refs/tags/2023.12.tar.gz"
|
||||
sha256 = "d0228833584dd7dc0301ee04bd41728345c8051d84908849dea52ed04a7c8982"
|
||||
autoupdate.upstream = "https://github.com/friendica/friendica-addons"
|
||||
autoupdate.strategy = "latest_github_tag"
|
||||
|
||||
[resources.system_user]
|
||||
[resources.system_user]
|
||||
|
||||
[resources.install_dir]
|
||||
[resources.install_dir]
|
||||
|
||||
[resources.permissions]
|
||||
main.url = "/"
|
||||
[resources.permissions]
|
||||
main.url = "/"
|
||||
|
||||
[resources.apt]
|
||||
packages = "mariadb-server, php8.2-curl, php8.2-mbstring, php8.2-imagick, php8.2-xml, php8.2-zip, php8.2-mysql, php8.2-gd, php8.2-gmp"
|
||||
[resources.apt]
|
||||
packages = "mariadb-server, php8.2-curl, php8.2-mbstring, php8.2-imagick, php8.2-xml, php8.2-zip, php8.2-mysql, php8.2-gd, php8.2-gmp, php8.2-intl"
|
||||
|
||||
[resources.database]
|
||||
type = "mysql"
|
||||
[resources.database]
|
||||
type = "mysql"
|
||||
|
|
|
@ -15,9 +15,9 @@ source /usr/share/yunohost/helpers
|
|||
#=================================================
|
||||
ynh_print_info --message="Declaring files to be backed up..."
|
||||
|
||||
(cd $install_dir && ynh_exec_as "$app" php$phpversion bin/console.php maintenance 1)
|
||||
(cd "$install_dir" && ynh_exec_as "$app" "php$phpversion" bin/console.php maintenance 1)
|
||||
|
||||
trap "(cd $install_dir && ynh_exec_as "$app" php$phpversion bin/console.php maintenance 0)" EXIT
|
||||
trap '(cd $install_dir && ynh_exec_as $app php$phpversion bin/console.php maintenance 0)' EXIT
|
||||
|
||||
#=================================================
|
||||
# BACKUP THE APP MAIN DIR
|
||||
|
|
|
@ -13,7 +13,7 @@ source /usr/share/yunohost/helpers
|
|||
# RETRIEVE ARGUMENTS FROM THE MANIFEST
|
||||
#=================================================
|
||||
|
||||
email=$(ynh_user_get_info --username=$admin --key=mail)
|
||||
email=$(ynh_user_get_info --username="$admin" --key=mail)
|
||||
timezone=$(cat /etc/timezone)
|
||||
|
||||
#=================================================
|
||||
|
@ -21,7 +21,7 @@ timezone=$(cat /etc/timezone)
|
|||
#=================================================
|
||||
ynh_script_progression --message="Storing installation settings..." --weight=1
|
||||
|
||||
ynh_app_setting_set --app=$app --key=email --value=$email
|
||||
ynh_app_setting_set --app="$app" --key=email --value="$email"
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
|
@ -36,7 +36,9 @@ mkdir -p "$install_dir/view/smarty3"
|
|||
|
||||
chmod -R 775 "$install_dir/view/smarty3"
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R $app:www-data "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
|
||||
ynh_add_config --template="local-sample.config.php" --destination="$install_dir/config/local.config.php"
|
||||
|
||||
#=================================================
|
||||
# SYSTEM CONFIGURATION
|
||||
|
@ -49,7 +51,7 @@ ynh_add_fpm_config
|
|||
# Create a dedicated nginx config
|
||||
ynh_add_nginx_config
|
||||
|
||||
ynh_add_config --template="../conf/cron" --destination="/etc/cron.d/$app"
|
||||
ynh_add_config --template="cron" --destination="/etc/cron.d/$app"
|
||||
chown root: "/etc/cron.d/$app"
|
||||
chmod 644 "/etc/cron.d/$app"
|
||||
|
||||
|
@ -65,7 +67,7 @@ ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failreg
|
|||
ynh_script_progression --message="Adding the LDAP Auth addon configuration file..." --weight=1
|
||||
|
||||
# LDAP addon config
|
||||
ynh_add_config --template="../conf/addon.config.php" --destination="$install_dir/config/addon.config.php"
|
||||
ynh_add_config --template="addon.config.php" --destination="$install_dir/config/addon.config.php"
|
||||
|
||||
#=================================================
|
||||
# INSTALL FRIENDICA
|
||||
|
@ -74,15 +76,15 @@ ynh_script_progression --message="Install Friendica..." --weight=1
|
|||
|
||||
pushd "$install_dir"
|
||||
# Import Composer dependencies
|
||||
ynh_exec_as "$app" php$phpversion bin/composer.phar install --no-dev --quiet
|
||||
ynh_exec_as "$app" "php$phpversion" bin/composer.phar install --no-dev --quiet
|
||||
|
||||
# Install application
|
||||
ynh_exec_as "$app" php$phpversion bin/console.php autoinstall\
|
||||
ynh_exec_as "$app" "php$phpversion" bin/console.php autoinstall\
|
||||
--dbhost "localhost" --dbdata "$db_name" --dbuser "$db_user" --dbpass "$db_pwd"\
|
||||
--admin "$email" --tz "$timezone" --lang "$language" --url "https://$domain$path"
|
||||
--admin "$email" --tz "$timezone" --lang "$language" --url "https://$domain"
|
||||
|
||||
# Enable LDAP Auth addon
|
||||
ynh_exec_as "$app" php$phpversion bin/console.php addon enable ldapauth
|
||||
ynh_exec_as "$app" "php$phpversion" bin/console.php addon enable ldapauth
|
||||
|
||||
popd
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ ynh_script_progression --message="Restoring the app main directory..." --weight=
|
|||
|
||||
ynh_restore_file --origin_path="$install_dir"
|
||||
|
||||
chown -R $app:www-data "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
chmod -R 775 "$install_dir/view/smarty3"
|
||||
|
||||
#=================================================
|
||||
|
@ -25,7 +25,7 @@ chmod -R 775 "$install_dir/view/smarty3"
|
|||
#=================================================
|
||||
ynh_script_progression --message="Restoring the MySQL database..." --weight=1
|
||||
|
||||
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
|
||||
ynh_mysql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < ./db.sql
|
||||
|
||||
#=================================================
|
||||
# RESTORE SYSTEM CONFIGURATIONS
|
||||
|
@ -53,7 +53,7 @@ ynh_restore_file --origin_path="/etc/cron.d/$app"
|
|||
#=================================================
|
||||
ynh_script_progression --message="Reloading NGINX web server and $app's service..." --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
|
||||
|
||||
|
@ -62,7 +62,7 @@ ynh_systemd_action --service_name=nginx --action=reload
|
|||
#==============
|
||||
|
||||
# exit maintenance mode since the app was backed up while in maintenance mode
|
||||
(cd $install_dir && ynh_exec_as "$app" php$phpversion bin/console.php maintenance 0)
|
||||
(cd "$install_dir" && ynh_exec_as "$app" "php$phpversion" bin/console.php maintenance 0)
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
|
|
|
@ -20,7 +20,7 @@ upgrade_type=$(ynh_check_app_version_changed)
|
|||
#=================================================
|
||||
ynh_script_progression --message="Stopping a systemd service..." --weight=1
|
||||
|
||||
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log"
|
||||
ynh_systemd_action --service_name="$app" --action="stop" --log_path="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
|
@ -36,7 +36,7 @@ then
|
|||
fi
|
||||
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R $app:www-data "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
|
||||
#=================================================
|
||||
# REAPPLY SYSTEM CONFIGURATIONS
|
||||
|
@ -51,21 +51,31 @@ ynh_add_fpm_config
|
|||
|
||||
ynh_use_logrotate --non-append
|
||||
|
||||
ynh_add_config --template="../conf/cron" --destination="/etc/cron.d/$app"
|
||||
ynh_add_config --template="cron" --destination="/etc/cron.d/$app"
|
||||
chown root: "/etc/cron.d/$app"
|
||||
chmod 644 "/etc/cron.d/$app"
|
||||
|
||||
# Create a dedicated Fail2Ban config
|
||||
ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="^.*authenticate\: failed login attempt.*\"ip\"\:\"<HOST>\".*$"
|
||||
|
||||
#=================================================
|
||||
# UPDATE A CONFIG FILE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Updating a configuration file..." --weight=1
|
||||
|
||||
# fix the url if necessary (there should be no trailing slash)
|
||||
if [ -f "$install_dir/config/local.config.php" ] && ! grep -q -e "'url' => 'https://$domain'," "$install_dir/config/local.config.php"; then
|
||||
ynh_replace_string --match_string="'url' => 'https://.*'," --replace_string="'url' => 'https://$domain'," --target_file="$install_dir/config/local.config.php"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# STORE THE CONFIG FILE CHECKSUM
|
||||
#=================================================
|
||||
|
||||
# Run Composer
|
||||
pushd "$install_dir"
|
||||
ynh_exec_as "$app" php$phpversion bin/composer.phar install --no-dev --quiet
|
||||
ynh_exec_as "$app" php$phpversion bin/console.php dbstructure update
|
||||
ynh_exec_as "$app" "php$phpversion" bin/composer.phar install --no-dev --quiet
|
||||
ynh_exec_as "$app" "php$phpversion" bin/console.php dbstructure update
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
|
|
Loading…
Reference in a new issue