#!/bin/bash source _common.sh source /usr/share/yunohost/helpers #================================================= # CREATE DEDICATED USER #================================================= ynh_script_progression "Configuring system user..." usermod -d $install_dir $app 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 #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression "Setting up source files..." # Download, check integrity, uncompress and patch the source ynh_setup_source --dest_dir="$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 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" #================================================= # NGINX CONFIGURATION #================================================= ynh_script_progression "Configuring NGINX web server..." # Create a dedicated NGINX config ynh_config_add_nginx #================================================= # SETUP SYSTEMD #================================================= ynh_script_progression "Configuring $app's systemd service..." # Create a dedicated systemd config ynh_config_add_systemd #================================================= # SETUP LOGROTATE #================================================= ynh_script_progression "Configuring log rotation..." # Use logrotate to manage application logfile(s) ynh_config_add_logrotate "/var/log/$app/$app.log" #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= ynh_script_progression "Integrating service in YunoHost..." yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression "Starting $app's systemd service..." # Start a systemd service ynh_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30 #================================================= # END OF SCRIPT #================================================= ynh_script_progression "Installation of $app completed"