|
@@ -40,6 +40,7 @@ app_php=
|
40
|
40
|
app_node=
|
41
|
41
|
app_onion_only=
|
42
|
42
|
app_port=''
|
|
43
|
+app_daemon=
|
43
|
44
|
your_name=''
|
44
|
45
|
your_email=''
|
45
|
46
|
SHOW_ON_ABOUT=1
|
|
@@ -62,6 +63,7 @@ function show_help {
|
62
|
63
|
echo $' --node [yes|no] Is this a nodejs app?'
|
63
|
64
|
echo $' -o --onion [yes|no] Is this app only available on an onion address?'
|
64
|
65
|
echo $' -p --php [yes|no] Is this a PHP app?'
|
|
66
|
+ echo $' -s --daemon [yes|no] Add a daemon'
|
65
|
67
|
echo $' -d --database [mariadb|postgresql] Type of database'
|
66
|
68
|
echo ''
|
67
|
69
|
exit 0
|
|
@@ -110,6 +112,12 @@ do
|
110
|
112
|
shift
|
111
|
113
|
app_node="$1"
|
112
|
114
|
;;
|
|
115
|
+ -s|--daemon|--systemd)
|
|
116
|
+ shift
|
|
117
|
+ if [[ "$1" == 'yes' ]]; then
|
|
118
|
+ app_daemon=1
|
|
119
|
+ fi
|
|
120
|
+ ;;
|
113
|
121
|
-o|--onion)
|
114
|
122
|
shift
|
115
|
123
|
if [[ "$1" == 'yes' ]]; then
|
|
@@ -484,11 +492,14 @@ fi
|
484
|
492
|
echo " nginx_dissite \$${app_name_upper}_DOMAIN_NAME"
|
485
|
493
|
echo " remove_certs \$${app_name_upper}_DOMAIN_NAME"
|
486
|
494
|
echo ''
|
487
|
|
-echo " if [ -f /etc/systemd/system/${app_name}.service ]; then"
|
488
|
|
-echo " systemctl stop ${app_name}"
|
489
|
|
-echo " systemctl disable ${app_name}"
|
490
|
|
-echo " rm /etc/systemd/system/${app_name}.service"
|
491
|
|
-echo ' fi'
|
|
495
|
+if [ $app_daemon ]; then
|
|
496
|
+ echo " if [ -f /etc/systemd/system/${app_name}.service ]; then"
|
|
497
|
+ echo " systemctl stop ${app_name}"
|
|
498
|
+ echo " systemctl disable ${app_name}"
|
|
499
|
+ echo " rm /etc/systemd/system/${app_name}.service"
|
|
500
|
+ echo ' fi'
|
|
501
|
+ echo " userdel -r ${app_name}"
|
|
502
|
+fi
|
492
|
503
|
echo ''
|
493
|
504
|
echo " if [ -d /var/www/\$${app_name_upper}_DOMAIN_NAME ]; then"
|
494
|
505
|
echo " rm -rf /var/www/\$${app_name_upper}_DOMAIN_NAME"
|
|
@@ -660,6 +671,29 @@ if [[ "$app_php" == 'yes' ]]; then
|
660
|
671
|
echo ''
|
661
|
672
|
echo ' configure_php'
|
662
|
673
|
fi
|
|
674
|
+if [ $app_daemon ]; then
|
|
675
|
+ echo ''
|
|
676
|
+ echo " useradd -d TODO_PATH_TO_INSTALL -s /bin/false ${app_name}"
|
|
677
|
+ echo ''
|
|
678
|
+ echo " echo '[Unit]' > /etc/systemd/system/${app_name}.service"
|
|
679
|
+ echo " echo 'Description=${app_name}' >> /etc/systemd/system/${app_name}.service"
|
|
680
|
+ echo " echo 'After=syslog.target' >> /etc/systemd/system/${app_name}.service"
|
|
681
|
+ echo " echo 'After=network.target' >> /etc/systemd/system/${app_name}.service"
|
|
682
|
+ echo " echo '' >> /etc/systemd/system/${app_name}.service"
|
|
683
|
+ echo " echo '[Service]' >> /etc/systemd/system/${app_name}.service"
|
|
684
|
+ echo " echo 'Type=simple' >> /etc/systemd/system/${app_name}.service"
|
|
685
|
+ echo " echo 'User=${app_name}' >> /etc/systemd/system/${app_name}.service"
|
|
686
|
+ echo " echo 'Group=${app_name}' >> /etc/systemd/system/${app_name}.service"
|
|
687
|
+ echo " echo 'WorkingDirectory=TODO' >> /etc/systemd/system/${app_name}.service"
|
|
688
|
+ echo " echo 'ExecStart=TODO' >> /etc/systemd/system/${app_name}.service"
|
|
689
|
+ echo " echo 'Restart=always' >> /etc/systemd/system/${app_name}.service"
|
|
690
|
+ echo " echo 'Environment=\"USER=${app_name}\"' >> /etc/systemd/system/${app_name}.service"
|
|
691
|
+ echo " echo '' >> /etc/systemd/system/${app_name}.service"
|
|
692
|
+ echo " echo '[Install]' >> /etc/systemd/system/${app_name}.service"
|
|
693
|
+ echo " echo 'WantedBy=multi-user.target' >> /etc/systemd/system/${app_name}.service"
|
|
694
|
+ echo " systemctl enable ${app_name}"
|
|
695
|
+ echo " systemctl start ${app_name}"
|
|
696
|
+fi
|
663
|
697
|
echo ''
|
664
|
698
|
echo " create_site_certificate \$${app_name_upper}_DOMAIN_NAME 'yes'"
|
665
|
699
|
echo ''
|