2019-11-19 13:09:31 +01:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
#=================================================
|
|
|
|
|
# GENERIC START
|
|
|
|
|
#=================================================
|
|
|
|
|
# IMPORT GENERIC HELPERS
|
|
|
|
|
#=================================================
|
|
|
|
|
|
|
|
|
|
source _common.sh
|
|
|
|
|
source /usr/share/yunohost/helpers
|
|
|
|
|
|
|
|
|
|
#=================================================
|
2023-12-11 12:37:28 +01:00
|
|
|
|
# STORE SETTINGS
|
2019-11-19 13:09:31 +01:00
|
|
|
|
#=================================================
|
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
domain=$(yunohost domain list --json | jq -r '.["main"]')
|
|
|
|
|
path=/.well-known/yunomonitor/
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
ynh_app_setting_set --app="$app" --key="domain" --value="$domain"
|
|
|
|
|
ynh_app_setting_set --app="$app" --key="path" --value="$path"
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
# FIXME: required?
|
2019-11-19 13:09:31 +01:00
|
|
|
|
ynh_export monitored_servers monitoring_servers mails sms_api
|
|
|
|
|
|
2022-01-27 02:21:23 +01:00
|
|
|
|
|
2019-11-19 13:09:31 +01:00
|
|
|
|
#=================================================
|
|
|
|
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
|
|
|
|
#=================================================
|
2020-10-04 22:11:03 +02:00
|
|
|
|
ynh_script_progression --message="Setting up source files..." --weight=1
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
ynh_setup_source --dest_dir="$install_dir"
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
chmod 750 "$install_dir"
|
|
|
|
|
chmod -R o-rwx "$install_dir"
|
|
|
|
|
chown -R "$app:www-data" "$install_dir"
|
2021-08-23 11:55:13 +02:00
|
|
|
|
|
2019-11-19 13:09:31 +01:00
|
|
|
|
#=================================================
|
|
|
|
|
# NGINX CONFIGURATION
|
|
|
|
|
#=================================================
|
2021-08-23 09:13:30 +02:00
|
|
|
|
ynh_script_progression --message="Configuring NGINX web server..." --weight=1
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
_yunomonitor_add_nginx_config
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
|
|
|
|
#=================================================
|
|
|
|
|
# SPECIFIC SETUP
|
2022-02-08 00:24:18 +01:00
|
|
|
|
#=================================================
|
|
|
|
|
# BUILD YUNOMONITOR
|
|
|
|
|
#=================================================
|
|
|
|
|
ynh_script_progression --message="Building Yunomonitor..."
|
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
pushd "$install_dir"
|
|
|
|
|
python3 -m pip install pycryptodome
|
2022-02-08 00:24:18 +01:00
|
|
|
|
popd
|
|
|
|
|
|
2019-11-19 13:09:31 +01:00
|
|
|
|
#=================================================
|
2022-01-27 02:21:23 +01:00
|
|
|
|
# SETUP SYSTEMD
|
2019-11-19 13:09:31 +01:00
|
|
|
|
#=================================================
|
2022-01-27 02:21:23 +01:00
|
|
|
|
ynh_script_progression --message="Configuring a systemd service..."
|
2021-08-16 09:20:33 +02:00
|
|
|
|
|
2019-11-19 13:09:31 +01:00
|
|
|
|
ynh_add_systemd_config
|
2023-12-11 12:37:28 +01:00
|
|
|
|
ynh_add_config --template="systemd.timer" --destination="/etc/systemd/system/$app.timer"
|
|
|
|
|
|
2019-11-19 13:09:31 +01:00
|
|
|
|
systemctl daemon-reload
|
2023-12-11 12:37:28 +01:00
|
|
|
|
systemctl enable "$app.timer" --quiet
|
|
|
|
|
systemctl start "$app.timer"
|
2021-08-16 09:20:33 +02:00
|
|
|
|
|
2019-11-19 13:09:31 +01:00
|
|
|
|
#=================================================
|
2022-01-27 02:21:23 +01:00
|
|
|
|
# ADD A CONFIGURATION
|
2019-11-19 13:09:31 +01:00
|
|
|
|
#=================================================
|
2022-01-27 02:21:23 +01:00
|
|
|
|
ynh_script_progression --message="Adding a configuration file..."
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
echo "mails: [$mails]" > $install_dir/conf/$app.yml
|
|
|
|
|
echo "sms_apis: [$sms_api]" >> $install_dir/conf/$app.yml
|
|
|
|
|
echo "monitored_servers: [$monitored_servers]" >> $install_dir/conf/$app.yml
|
|
|
|
|
echo "monitoring_servers: [$monitoring_servers]" >> $install_dir/conf/$app.yml
|
|
|
|
|
echo "cachet_apis: []" >> $install_dir/conf/$app.yml
|
|
|
|
|
sed -i 's/,/","/g' $install_dir/conf/$app.yml
|
|
|
|
|
sed -i 's/\[/["/g' $install_dir/conf/$app.yml
|
|
|
|
|
sed -i 's/\]/"]/g' $install_dir/conf/$app.yml
|
|
|
|
|
sed -i 's/\[""\]/[]/g' $install_dir/conf/$app.yml
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
|
|
|
|
# Calculate and store the config file checksum into the app settings
|
2023-12-11 12:37:28 +01:00
|
|
|
|
ynh_store_file_checksum --file="$install_dir/conf/$app.yml"
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
2019-12-03 00:28:26 +01:00
|
|
|
|
#=================================================
|
|
|
|
|
# INIT IGNORE FILE
|
|
|
|
|
#=================================================
|
|
|
|
|
|
2023-12-11 12:37:28 +01:00
|
|
|
|
echo "method level server message target" > "$install_dir/conf/ignore_alert.csv"
|
2019-12-03 00:28:26 +01:00
|
|
|
|
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
|
|
|
|
# Set permissions to app files
|
2023-12-11 12:37:28 +01:00
|
|
|
|
chmod u+x "$install_dir/yunomonitor.py"
|
|
|
|
|
chmod u+w "$install_dir/conf"
|
|
|
|
|
chmod u+w "$install_dir/well-known"
|
2019-11-19 13:09:31 +01:00
|
|
|
|
|
|
|
|
|
#=================================================
|
|
|
|
|
# END OF SCRIPT
|
|
|
|
|
#=================================================
|
|
|
|
|
|
2020-10-04 22:11:03 +02:00
|
|
|
|
ynh_script_progression --message="Installation of $app completed" --last
|