1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/pgadmin_ynh.git synced 2024-09-03 19:56:38 +02:00
pgadmin_ynh/scripts/install

88 lines
3 KiB
Bash

#!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source experimental_helper.sh
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# INITIALIZE AND STORE SETTINGS
#=================================================
email=$(ynh_user_get_info --username $admin --key 'mail')
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_script_progression --message="Installing sources files..." --weight=10
setup_dir
_install_pgadmin_venv
#=================================================
# SPECIFIC SETUP
#=================================================
# ...
#=================================================
ynh_script_progression --message="Configuring application..."
# CONFIGURE PGADMIN
config_pgadmin
# Config uwsgi
ynh_add_uwsgi_service "python_version"
ynh_script_progression --message="Configuring sqlite database..."
# initialisation sqlite database for pgadmin
chmod +x ../conf/setup.exp
ynh_replace_special_string --match_string "__ADMIN_PASSWORD__" --replace_string "$password" --target_file "../conf/setup.exp"
../conf/setup.exp "$install_dir/venv/bin/python3" "$install_dir/venv/lib/python$python_version/site-packages/pgadmin4/setup.py" "$email"
# POPULATE THE DATABASE
ynh_script_progression --message="Configuring Postgresql database..."
#REMOVEME? ynh_psql_test_if_first_run
ynh_psql_execute_as_root \
--sql "CREATE USER ${db_user} WITH PASSWORD '${db_pwd}' SUPERUSER CREATEDB CREATEROLE REPLICATION"
# Add Server In PGadmin database
$install_dir/venv/bin/python3 config_database.py "$db_user" "$db_pwd"
# Set permission after initialisation
ynh_script_progression --message="Protecting directory"
set_permission
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
# Create a dedicated NGINX config
ynh_add_nginx_config
ynh_use_logrotate --logfile="/var/log/pgadmin"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=3
ynh_systemd_action --service_name "uwsgi-app@$app.service" --action="restart" --line_match "WSGI app 0 \(mountpoint='[/[:alnum:]_-]*'\) ready in [[:digit:]]* seconds on interpreter" --log_path "/var/log/uwsgi/$app/$app.log"
sleep 10
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Installation of $app completed" --last