1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mygpo_ynh.git synced 2024-09-03 19:55:52 +02:00
mygpo_ynh/scripts/_common.sh

71 lines
2.6 KiB
Bash
Raw Normal View History

2017-06-05 13:04:03 +02:00
#!/bin/bash
2019-02-10 15:02:38 +01:00
#=================================================
2019-03-05 23:17:15 +01:00
# COMMON VARIABLES
2019-02-10 15:02:38 +01:00
#=================================================
2022-06-21 00:05:59 +02:00
2019-03-05 23:17:15 +01:00
#=================================================
# PERSONAL HELPERS
#=================================================
function set_permissions {
2024-03-04 12:04:56 +01:00
mkdir -p $data_dir
2024-03-04 12:04:56 +01:00
env_path=$install_dir/envs/prod
mkdir -p $env_path
2024-03-04 12:04:56 +01:00
chown -R $app:$app $data_dir
chmod o-rwx $data_dir
setfacl -n -R -m u:www-data:rx -m d:u:www-data:rx $data_dir
2024-03-04 12:04:56 +01:00
chown -R root:$app $install_dir
chmod -R g=u,g-w,o-rwx $install_dir
setfacl -n -R -m user:www-data:rx -m default:user:www-data:rx $install_dir
setfacl -n -R -m user:www-data:- -m default:user:www-data:- $install_dir/envs
}
function set_up_virtualenv {
2024-03-04 12:04:56 +01:00
env_path=$install_dir/envs/prod
mkdir -p $env_path
2024-03-04 12:04:56 +01:00
pushd $install_dir || ynh_die
chown -R $app:$app $install_dir
ynh_exec_warn_less ynh_exec_as $app python3 -m venv $install_dir/venv
ynh_exec_warn_less ynh_exec_as $app $install_dir/venv/bin/pip --cache-dir $install_dir/.cache/pip install -U wheel pip --cache-dir $install_dir/.cache/pip setuptools
ynh_exec_warn_less ynh_exec_as $app $install_dir/venv/bin/pip --cache-dir $install_dir/.cache/pip install -U --requirement $install_dir/requirements.txt
ynh_exec_warn_less ynh_exec_as $app $install_dir/venv/bin/pip --cache-dir $install_dir/.cache/pip install -U --requirement $install_dir/requirements-setup.txt
ynh_exec_warn_less ynh_exec_as $app $install_dir/venv/bin/pip --cache-dir $install_dir/.cache/pip install -U --requirement $install_dir/requirements-ynh.txt
set_permissions
popd || ynh_dies
}
function initialize_db {
2024-03-04 12:04:56 +01:00
pushd $install_dir || ynh_die
chown -R $app:$app $install_dir
perform_db_migrations
2024-03-04 12:04:56 +01:00
ynh_exec_warn_less ynh_exec_as $app $install_dir/venv/bin/envdir $env_path $install_dir/venv/bin/python $install_dir/manage.py createsuperuser --username "$admin" --email "$admin_email" --noinput -v 0
set_permissions
popd || ynh_die
}
function upgrade_db {
2024-03-04 12:04:56 +01:00
pushd $install_dir || ynh_die
chown -R $app:$app $install_dir
perform_db_migrations
set_permissions
popd || ynh_die
}
function perform_db_migrations {
2024-03-04 12:04:56 +01:00
echo "y" | ynh_exec_warn_less ynh_exec_as $app $install_dir/venv/bin/envdir $env_path $install_dir/venv/bin/python $install_dir/manage.py makemigrations --merge
ynh_exec_warn_less ynh_exec_as $app $install_dir/venv/bin/envdir $env_path $install_dir/venv/bin/python $install_dir/manage.py migrate
}
2019-02-10 15:02:38 +01:00
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
#=================================================
# FUTURE OFFICIAL HELPERS
2019-02-10 15:02:38 +01:00
#=================================================