1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/FastAPI_ynh.git synced 2024-09-03 18:36:00 +02:00
fastapi_ynh/scripts/_common.sh

76 lines
2 KiB
Bash
Raw Normal View History

2023-11-28 13:20:48 +01:00
#!/bin/bash
#=================================================
# RETRIEVE ARGUMENTS FROM THE MANIFEST
2023-11-28 13:20:48 +01:00
#=================================================
# Transfer the main SSO domain to the App:
ynh_current_host=$(cat /etc/yunohost/current_host)
__YNH_CURRENT_HOST__=${ynh_current_host}
2023-11-28 13:20:48 +01:00
#=================================================
# ARGUMENTS FROM CONFIG PANEL
2023-11-28 13:20:48 +01:00
#=================================================
# 'debug_enabled' -> '__DEBUG_ENABLED__' -> settings.DEBUG
debug_enabled="0" # "1" or "0" string
# 'log_level' -> '__LOG_LEVEL__' -> settings.LOG_LEVEL
log_level="WARNING"
2023-11-28 13:20:48 +01:00
#=================================================
# SET CONSTANTS
2023-11-28 13:20:48 +01:00
#=================================================
# e.g.: point pip cache to: /home/yunohost.app/$app/.cache/
XDG_CACHE_HOME="$data_dir/.cache/"
log_path=/var/log/$app
log_file="${log_path}/${app}.log"
2023-11-28 13:20:48 +01:00
#=================================================
# HELPERS
2023-11-28 13:20:48 +01:00
#=================================================
myynh_setup_python_venv() {
# Always recreate everything fresh with current python version
ynh_secure_remove "$data_dir/venv"
# 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
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"
)
}
myynh_setup_log_file() {
(
set -x
mkdir -p "$(dirname "$log_file")"
touch "$log_file"
chown -c -R $app:$app "$log_path"
chmod -c o-rwx "$log_path"
)
}
myynh_fix_file_permissions() {
(
set -x
# /home/yunohost.app/$app/
chown -c -R "$app:" "$data_dir"
chmod -c o-rwx "$data_dir"
)
}