aboutsummaryrefslogtreecommitdiff
path: root/scripts/install
diff options
context:
space:
mode:
authorÉric Gaspar <46165813+ericgaspar@users.noreply.github.com>2024-06-07 14:26:42 +0200
committerÉric Gaspar <46165813+ericgaspar@users.noreply.github.com>2024-06-07 14:26:42 +0200
commit933849a6ff96cc7327558e4cabc1a00c957467bb (patch)
treeccc662f418e54df736f4e00f7e6417db22790c03 /scripts/install
First commit
Diffstat (limited to 'scripts/install')
-rwxr-xr-xscripts/install73
1 files changed, 73 insertions, 0 deletions
diff --git a/scripts/install b/scripts/install
new file mode 100755
index 0000000..99569f1
--- /dev/null
+++ b/scripts/install
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+#=================================================
+# IMPORT GENERIC HELPERS
+#=================================================
+
+source _common.sh
+source /usr/share/yunohost/helpers
+
+key=$(openssl rand -base64 32)
+
+#=================================================
+# INSTALL DEPENDENCIES
+#=================================================
+ynh_script_progression --message="Installing dependencies..." --weight=1
+
+ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
+
+#=================================================
+# DOWNLOAD, CHECK AND UNPACK SOURCE
+#=================================================
+ynh_script_progression --message="Setting up source files..." --weight=1
+
+ynh_setup_source --dest_dir="$install_dir"
+
+chown -R "$app:www-data" "$install_dir"
+
+#=================================================
+# APP INITIAL CONFIGURATION
+#=================================================
+ynh_script_progression --message="Adding $app's configuration files..." --weight=1
+
+ynh_add_config --template=".env" --destination="$install_dir/.env"
+
+chmod 400 "$install_dir/.env"
+chown "$app:$app" "$install_dir/.env"
+
+#=================================================
+# SYSTEM CONFIGURATION
+#=================================================
+ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
+
+# Create a dedicated NGINX config using the conf/nginx.conf template
+ynh_add_nginx_config
+
+# Create a dedicated systemd config
+ynh_add_systemd_config
+
+yunohost service add "$app" --description="A short description of the app" --log="/var/log/$app/$app.log"
+
+#=================================================
+# INSTALL CAL.COM WITH NPM
+#=================================================
+ynh_script_progression --message="Installing $app..." --weight=1
+
+pushd $install_dir
+ ynh_use_nodejs
+ ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn
+ ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn build
+popd
+
+#=================================================
+# START SYSTEMD SERVICE
+#=================================================
+ynh_script_progression --message="Starting $app's systemd service..." --weight=1
+
+# Start a systemd service
+ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
+
+#=================================================
+# END OF SCRIPT
+#=================================================
+ynh_script_progression --message="Installation of $app completed" --last