send_ynh/scripts/install
2024-11-07 09:26:42 +01:00

86 lines
2.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# INITIALIZE AND STORE SETTINGS
#=================================================
custom_title="Send"
ynh_app_setting_set --key=custom_title --value="$custom_title"
custom_description="Encrypt and send files with a link that automatically expires to ensure your important documents dont stay online forever."
ynh_app_setting_set --key=custom_description --value="$custom_description"
max_file_size="2684354560"
ynh_app_setting_set --key=cmax_file_size --value="$max_file_size"
max_download="100"
ynh_app_setting_set --key=max_download --value="$max_download"
#=================================================
# INSTALL DEPENDENCIES
#=================================================
ynh_script_progression "Installing dependencies..."
ynh_nodejs_install
#=================================================
# CREATE A REDIS DATABASE
#=================================================
ynh_script_progression "Creating a Redis database..."
redis_db=$(ynh_redis_get_free_db)
ynh_app_setting_set --key=redis_db --value="$redis_db"
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression "Setting up source files..."
ynh_setup_source --dest_dir="$install_dir"
chmod +x "$install_dir/server/bin/prod.js"
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression "Configuring NGINX web server..."
ynh_config_add_nginx
ynh_config_add_systemd
yunohost service add "$app" --description="Simple, private file sharing" --log="/var/log/$app/$app.log"
#=================================================
# ADD A CONFIGURATION
#=================================================
ynh_script_progression "Adding $app's configuration..."
ynh_config_add --template="config.js" --destination="$install_dir/server/config.js"
#=================================================
# BUILD APP
#=================================================
ynh_script_progression "Building app... (this will take some time and resources!)"
pushd "$install_dir"
ynh_hide_warnings ynh_exec_as_app npm install
ynh_hide_warnings ynh_exec_as_app npm run build
popd
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression "Starting $app's systemd service..."
ynh_systemctl --service="$app" --action="start" --log_path="systemd"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression "Installation of $app completed"