2022-11-13 11:25:39 +01:00
#!/bin/bash
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# CREATE DEDICATED USER
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Configuring system user..."
2022-11-13 11:25:39 +01:00
2023-02-24 00:06:37 +01:00
usermod -d $install_dir $app
2022-11-13 11:25:39 +01:00
2022-11-26 18:26:31 +01:00
if grep dialout -q < /etc/group; then
usermod -a -G dialout "$app"
fi
if grep i2c -q < /etc/group; then
usermod -a -G i2c "$app"
fi
if grep gpio -q < /etc/group; then
usermod -a -G gpio "$app"
fi
2022-11-13 11:25:39 +01:00
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Setting up source files..."
2022-11-13 11:25:39 +01:00
2023-05-07 15:08:57 +02:00
# Download, check integrity, uncompress and patch the source
2024-08-31 03:59:45 +02:00
ynh_setup_source --dest_dir="$install_dir"
2022-11-13 11:25:39 +01:00
2024-08-31 03:59:45 +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 | chmod 750 "$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 -R o-rwx "$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 | chown -R $app: "$install_dir"
2022-11-13 11:25:39 +01:00
#=================================================
2022-11-25 11:15:42 +01:00
# NGINX CONFIGURATION
2022-11-13 11:25:39 +01:00
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Configuring NGINX web server..."
2022-11-13 11:25:39 +01:00
2022-11-25 11:15:42 +01:00
# Create a dedicated NGINX config
2024-08-31 03:59:45 +02:00
ynh_config_add_nginx
2022-11-13 11:25:39 +01:00
#=================================================
# SETUP SYSTEMD
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Configuring $app's systemd service..."
2022-11-13 11:25:39 +01:00
# Create a dedicated systemd config
2024-08-31 03:59:45 +02:00
ynh_config_add_systemd
2022-11-13 11:25:39 +01:00
#=================================================
# SETUP LOGROTATE
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Configuring log rotation..."
2022-11-13 11:25:39 +01:00
# Use logrotate to manage application logfile(s)
2024-08-31 03:59:45 +02:00
ynh_config_add_logrotate "/var/log/$app/$app.log"
2022-11-13 11:25:39 +01:00
#=================================================
# INTEGRATE SERVICE IN YUNOHOST
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Integrating service in YunoHost..."
2022-11-13 11:25:39 +01:00
2022-11-13 14:37:53 +01:00
yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log"
2022-11-13 11:25:39 +01:00
#=================================================
# START SYSTEMD SERVICE
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Starting $app's systemd service..."
2022-11-13 11:25:39 +01:00
# Start a systemd service
2024-08-31 03:59:45 +02:00
ynh_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30
2022-11-13 11:25:39 +01:00
#=================================================
# END OF SCRIPT
#=================================================
2024-08-31 03:59:45 +02:00
ynh_script_progression "Installation of $app completed"