2020-12-07 16:20:37 +01:00
#!/bin/bash
#=================================================
# RETRIEVE ARGUMENTS FROM THE MANIFEST
#=================================================
2022-12-21 22:21:42 +01:00
# Transfer the main SSO domain to the App:
ynh_current_host = $( cat /etc/yunohost/current_host)
__YNH_CURRENT_HOST__ = ${ ynh_current_host }
2022-01-18 09:45:08 +01:00
2022-09-15 18:16:57 +02:00
#=================================================
# ARGUMENTS FROM CONFIG PANEL
#=================================================
# 'debug_enabled' -> '__DEBUG_ENABLED__' -> settings.DEBUG
2023-11-25 16:01:09 +01:00
debug_enabled = "0" # "1" or "0" string
2022-09-15 18:16:57 +02:00
# 'log_level' -> '__LOG_LEVEL__' -> settings.LOG_LEVEL
log_level = "WARNING"
# 'admin_email' -> '__ADMIN_EMAIL__' add in settings.ADMINS
admin_email = " ${ admin } @ ${ domain } "
# 'default_from_email' -> '__DEFAULT_FROM_EMAIL__' -> settings.DEFAULT_FROM_EMAIL
default_from_email = " ${ app } @ ${ domain } "
2020-12-07 16:20:37 +01:00
#=================================================
# SET CONSTANTS
#=================================================
2023-08-22 19:52:36 +02:00
# e.g.: point pip cache to: /home/yunohost.app/$app/.cache/
XDG_CACHE_HOME = " $data_dir /.cache/ "
2020-12-08 09:31:10 +01:00
log_path = /var/log/$app
2022-09-15 18:16:57 +02:00
log_file = " ${ log_path } / ${ app } .log "
2020-12-07 16:20:37 +01:00
#=================================================
2023-08-22 19:52:36 +02:00
# HELPERS
2020-12-07 16:20:37 +01:00
#=================================================
2023-08-22 19:52:36 +02:00
myynh_setup_python_venv( ) {
# Always recreate everything fresh with current python version
2024-08-31 02:55:33 +02:00
ynh_safe_rm " $data_dir /venv "
2023-08-22 19:52:36 +02:00
# Skip pip because of: https://github.com/YunoHost/issues/issues/1960
python3 -m venv --without-pip " $data_dir /venv "
chown -c -R " $app : " " $data_dir "
# run source in a 'sub shell'
(
set +o nounset
source " $data_dir /venv/bin/activate "
set -o nounset
set -x
2024-08-31 02:55:33 +02:00
ynh_exec_as_app $data_dir /venv/bin/python3 -m ensurepip
ynh_exec_as_app $data_dir /venv/bin/pip3 install --upgrade wheel pip setuptools
ynh_exec_as_app $data_dir /venv/bin/pip3 install --no-deps -r " $data_dir /requirements.txt "
2023-08-22 19:52:36 +02:00
)
}
myynh_setup_log_file( ) {
(
set -x
2023-08-17 21:55:12 +02:00
2023-08-22 19:52:36 +02:00
mkdir -p " $( dirname " $log_file " ) "
touch " $log_file "
2023-08-17 21:55:12 +02:00
2023-08-22 19:52:36 +02:00
chown -c -R $app :$app " $log_path "
chmod -c o-rwx " $log_path "
)
}
myynh_fix_file_permissions( ) {
(
set -x
# /var/www/$app/
2024-08-31 02:55:33 +02:00
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -c -R "$app:www-data" "$install_dir"
#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod -c o-rwx "$install_dir"
2023-08-22 19:52:36 +02:00
# /home/yunohost.app/$app/
chown -c -R " $app : " " $data_dir "
chmod -c o-rwx " $data_dir "
)
}