1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/lufi_ynh.git synced 2024-09-03 19:36:28 +02:00

[fix] url app source + code clean

This commit is contained in:
magikcypress 2017-04-01 18:16:18 +02:00
parent 2dba89c3ee
commit 9de0faffee
9 changed files with 187 additions and 14 deletions

View file

@ -10,11 +10,6 @@
# if you use Lufi behind a reverse proxy like Nginx, you want ro set proxy to 1 # if you use Lufi behind a reverse proxy like Nginx, you want ro set proxy to 1
# if you use Lufi directly, let it commented # if you use Lufi directly, let it commented
proxy => 1, proxy => 1,
# Please read http://mojolicious.org/perldoc/Mojo/Server/Hypnotoad#workers
# to adjust this to your server
workers => 30,
clients => 1,
}, },
# put a way to contact you here and uncomment it # put a way to contact you here and uncomment it
@ -83,7 +78,7 @@
# example: you want to have Lufi under https://example.org/lufi/ # example: you want to have Lufi under https://example.org/lufi/
# => set prefix to '/lufi' or to '/lufi/', it doesn't matter # => set prefix to '/lufi' or to '/lufi/', it doesn't matter
# optional, defaut is / # optional, defaut is /
prefix => '__PATH__/', prefix => '__PATH__',
# array of authorized domains for API calls. # array of authorized domains for API calls.
# if you want to authorize everyone to use the API: ['*'] # if you want to authorize everyone to use the API: ['*']

View file

@ -5,7 +5,7 @@ location __PATH__ {
# This is important for user's privacy ! # This is important for user's privacy !
access_log off; access_log off;
error_log /var/log/nginx/lutim.error.log; error_log /var/log/nginx/lufi.error.log;
# This is important ! Make it OK with your Lutim configuration # This is important ! Make it OK with your Lutim configuration
client_max_body_size 40M; client_max_body_size 40M;
@ -15,7 +15,7 @@ location __PATH__ {
add_header Cache-Control "public, max-age=315360000"; add_header Cache-Control "public, max-age=315360000";
} }
proxy_pass http://127.0.0.1:__PORT__/; proxy_pass http://127.0.0.1:__PORT__/__PATH__;
# Really important ! Lufi uses WebSocket, it won't work without this # Really important ! Lufi uses WebSocket, it won't work without this
proxy_set_header Upgrade $http_upgrade ; proxy_set_header Upgrade $http_upgrade ;

30
scripts/backup Normal file
View file

@ -0,0 +1,30 @@
#!/bin/bash
# Exit on command errors and treat unset variables as an error
set -eu
# Source app helpers
source /usr/share/yunohost/helpers
# Get multi-instances specific variables
app=$YNH_APP_INSTANCE_NAME
# Retrieve app settings
domain=$(ynh_app_setting_get "$app" domain)
# Copy the app files
final_path="/var/www/${app}"
ynh_backup "${final_path}" "sources" 1
# Copy the nginx conf files
ynh_backup "/etc/nginx/conf.d/${domain}.d/${app}.conf" "nginx.conf"
# Copy the php-fpm conf files
ynh_backup "/etc/php5/fpm/pool.d/${app}.conf" "php-fpm.conf"
ynh_backup "/etc/php5/fpm/conf.d/20-${app}.ini" "php-fpm.ini"
# Copy the lufi fonf file
ynh_backup "${final_path}/lufi.conf" "lufi.conf"
ynh_backup "/etc/default/lufi" "default_lufi"
ynh_backup "/etc/systemd/system/lufi.service" "systemd_lufi.service"
ynh_backup "/etc/cron.d/${app}" "cron_lufi"
ynh_backup "/etc/logrotate.d/${app}" "logrotate_lufi"

View file

@ -124,10 +124,6 @@ then
fi fi
CHECK_VAR "$arch_dir" "arch_dir empty" CHECK_VAR "$arch_dir" "arch_dir empty"
sudo sed -i "s@__ARCHDIR__@$arch_dir@g" "$final_path/script/lufi" sudo sed -i "s@__ARCHDIR__@$arch_dir@g" "$final_path/script/lufi"
# TODO: fix a bug service restart
# Add contact
sudo sed -i "/thumbnail_size => 100,/a contact => 'webmaster@$domain'\," "${final_path}/lib/Lutim.pm"
# Change variables in nginx configuration # Change variables in nginx configuration
sudo sed -i "s@__PATH__@$path@g" /etc/nginx/conf.d/$domain.d/$app.conf sudo sed -i "s@__PATH__@$path@g" /etc/nginx/conf.d/$domain.d/$app.conf

103
scripts/restore Normal file
View file

@ -0,0 +1,103 @@
#!/bin/bash
# This restore script is adapted to Yunohost >=2.4
# Exit on command errors and treat unset variables as an error
set -eu
# Source app helpers
source /usr/share/yunohost/helpers
# The parameter $app is the id of the app instance ex: ynhexample__2
app=$YNH_APP_INSTANCE_NAME
# Get old parameter of the app
domain=$(ynh_app_setting_get $app domain)
path=$(ynh_app_setting_get $app path)
is_public=$(ynh_app_setting_get $app is_public)
# Check domain/path availability
sudo yunohost app checkurl "${domain}${path}" -a "${app}" \
|| ynh_die "Path not available: ${domain}${path}"
# Check $final_path
final_path="/var/www/${app}"
if [ -d "${final_path}" ]; then
ynh_die "There is already a directory: ${final_path}"
fi
# Check configuration files nginx
nginx_conf="/etc/nginx/conf.d/${domain}.d/${app}.conf"
if [ -f "${nginx_conf}" ]; then
ynh_die "The NGINX configuration already exists at '${nginx_conf}'. You should safely delete it before restoring this app."
fi
# Check configuration files lufi
lufi_conf="${final_path}/lufi.conf"
if [ -f "${lufi_conf}" ]; then
ynh_die "The LUFI CONF configuration already exists at '${lufi_conf}'. You should safely delete it before restoring this app."
fi
codename=$(lsb_release -a 2>/dev/null | grep Codename | cut -f 2)
CHECK_VAR "$codename" "codename empty"
ynh_app_setting_set $app codename $codename
if [ "$codename" = "wheezy" ]
then # On utilise le script init pour wheezy.
lufi_default="/etc/default/lufi"
if [ -f "${lufi_default}" ]; then
ynh_die "The LUFI DEFAULT configuration already exists at '${lufi_default}'. You should safely delete it before restoring this app."
fi
else # Et le script systemd à partir de jessie
lufi_systemd="/etc/systemd/system/lufi.service"
if [ -f "${lufi_default}" ]; then
ynh_die "The LUFI SYSTEMD configuration already exists at '${lufi_systemd}'. You should safely delete it before restoring this app."
fi
fi
lufi_cron="/etc/cron.d/${app}"
if [ -f "${lufi_cron}" ]; then
ynh_die "The LUFI CRONTAB configuration already exists at '${lufi_cron}'. You should safely delete it before restoring this app."
fi
lufi_logrotate="/etc/logrotate.d/${app}"
if [ -f "${lufi_logrotate}" ]; then
ynh_die "The LUFI LOGROTATE configuration already exists at '${lufi_logrotate}'. You should safely delete it before restoring this app."
fi
# Restore sources & data
sudo cp -a ./sources "${final_path}"
# Set permissions
sudo chown -R www-data: "${final_path}"
# Restore nginx configuration files
sudo cp -a ./nginx.conf "${nginx_conf}"
# Restore php-fpm configuration files
sudo cp -a ./php-fpm.conf "${phpfpm_conf}"
sudo cp -a ./php-fpm.ini "${phpfpm_ini}"
# Restore lufi configuration files
sudo cp -a ./lufi.conf "${lufi_conf}"
codename=$(lsb_release -a 2>/dev/null | grep Codename | cut -f 2)
CHECK_VAR "$codename" "codename empty"
ynh_app_setting_set $app codename $codename
if [ "$codename" = "wheezy" ]
then # On utilise le script init pour wheezy.
sudo cp -a ./default_lufi "${lufi_default}"
else
sudo cp -a ./systemd_lufi.service "${lufi_systemd}"
fi
sudo cp -a ./cron_lufi "${lufi_cron}"
sudo cp -a ./logrotate_lufi "${lufi_logrotate}"
# Set ssowat config
if [ "$is_public" = "No" ];
then
ynh_app_setting_delete $app skipped_uris
fi
# Reload services
sudo systemctl reload php5-fpm
sudo systemctl reload nginx
sudo yunohost app ssowatconf

47
scripts/upgrade Normal file
View file

@ -0,0 +1,47 @@
#!/bin/bash
# Exit on command errors and treat unset variables as an error
set -eu
source .fonctions # Loads the generic functions usually used in the script
source /usr/share/yunohost/helpers # Source YunoHost helpers
# See comments in install script
app=$YNH_APP_INSTANCE_NAME
# Retrieve app settings
domain=$(ynh_app_setting_get $app domain)
path=$(ynh_app_setting_get $app path)
is_public=$(ynh_app_setting_get $app is_public)
CHECK_PATH # Checks and corrects the syntax of the path.
final_path=/var/www/$app
# Get source
SETUP_SOURCE
# Modify Nginx configuration file and copy it to Nginx conf directory
sudo sed -i "s@__PATHTOCHANGE__@$path@g" /etc/nginx/conf.d/$domain.d/$app.conf
sudo sed -i "s@__FINALPATH__@$final_path@g" /etc/nginx/conf.d/$domain.d/$app.conf
sudo sed -i "s@__NAMETOCHANGE__@$app@g" /etc/nginx/conf.d/$domain.d/$app.conf
if [ "$is_public" = "Yes" ];
then
sudo sed -i "s@#--PRIVATE--@@g" /etc/nginx/conf.d/$domain.d/$app.conf
fi
# Create the php-fpm pool config
POOL_FPM
# Setup SSOwat
ynh_app_setting_set "$app" is_public "$is_public"
if [ "$is_public" = "Yes" ];
then
ynh_app_setting_set "$app" unprotected_uris "/"
fi
# Reload Nginx
sudo systemctl reload php5-fpm
sudo systemctl reload nginx
sudo yunohost app ssowatconf

1
sources/source_dir Normal file
View file

@ -0,0 +1 @@
lufi-master-7db7688bc1e8bbe206f6717c98ece78d6e6a05fe

1
sources/source_md5 Normal file
View file

@ -0,0 +1 @@
97091eb255f4b3389fd52e36b7860c1e lufi.zip