Browse Source

Optional install directory

Bob Mottram 7 years ago
parent
commit
a7e550ebc5
1 changed files with 63 additions and 12 deletions
  1. 63
    12
      src/freedombone-template

+ 63
- 12
src/freedombone-template View File

41
 app_onion_only=
41
 app_onion_only=
42
 app_port=''
42
 app_port=''
43
 app_daemon=
43
 app_daemon=
44
+app_dir=
44
 your_name=''
45
 your_name=''
45
 your_email=''
46
 your_email=''
46
 SHOW_ON_ABOUT=1
47
 SHOW_ON_ABOUT=1
65
     echo $'  -p --php [yes|no]                    Is this a PHP app?'
66
     echo $'  -p --php [yes|no]                    Is this a PHP app?'
66
     echo $'  -s --daemon [yes|no]                 Add a daemon'
67
     echo $'  -s --daemon [yes|no]                 Add a daemon'
67
     echo $'  -d --database [mariadb|postgresql]   Type of database'
68
     echo $'  -d --database [mariadb|postgresql]   Type of database'
69
+    echo $'     --dir [directory]                 Where to install to'
68
     echo ''
70
     echo ''
69
     exit 0
71
     exit 0
70
 }
72
 }
128
             shift
130
             shift
129
             app_port="$1"
131
             app_port="$1"
130
             ;;
132
             ;;
133
+        --dir)
134
+            shift
135
+            app_dir="$1"
136
+            ;;
131
         *)
137
         *)
132
             # unknown option
138
             # unknown option
133
             ;;
139
             ;;
340
 echo '    fi'
346
 echo '    fi'
341
 echo ''
347
 echo ''
342
 echo '    # update to the next commit'
348
 echo '    # update to the next commit'
343
-echo "    set_repo_commit /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \$${app_name_upper}_REPO"
344
-echo "    chown -R www-data:www-data /var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
349
+if [ ! $app_dir ]; then
350
+    echo "    set_repo_commit /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \$${app_name_upper}_REPO"
351
+    echo "    chown -R www-data:www-data /var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
352
+else
353
+    echo "    set_repo_commit ${app_dir} \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \$${app_name_upper}_REPO"
354
+    echo "    chown -R ${app_name}:${app_name} ${app_dir}"
355
+fi
345
 echo '}'
356
 echo '}'
346
 echo ''
357
 echo ''
347
 echo "function backup_local_${app_name} {"
358
 echo "function backup_local_${app_name} {"
350
 echo "        ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
361
 echo "        ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
351
 echo '    fi'
362
 echo '    fi'
352
 echo ''
363
 echo ''
353
-echo "    source_directory=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
364
+if [ ! $app_dir ]; then
365
+    echo "    source_directory=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
366
+else
367
+    echo "    source_directory=${app_dir}"
368
+fi
354
 echo ''
369
 echo ''
355
 echo "    suspend_site \${${app_name_upper}_DOMAIN_NAME}"
370
 echo "    suspend_site \${${app_name_upper}_DOMAIN_NAME}"
356
 echo ''
371
 echo ''
376
 echo "    ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
391
 echo "    ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
377
 echo "    if [ \$${app_name_upper}_DOMAIN_NAME ]; then"
392
 echo "    if [ \$${app_name_upper}_DOMAIN_NAME ]; then"
378
 echo "        temp_restore_dir=/root/temp${app_name}"
393
 echo "        temp_restore_dir=/root/temp${app_name}"
379
-echo "        ${app_name}_dir=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
394
+if [ ! $app_dir ]; then
395
+    echo "        ${app_name}_dir=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
396
+else
397
+    echo "        ${app_name}_dir=${app_dir}"
398
+fi
380
 echo ''
399
 echo ''
381
 if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" ]]; then
400
 if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" ]]; then
382
     echo "        ${app_name}_create_database"
401
     echo "        ${app_name}_create_database"
420
 echo "        ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
439
 echo "        ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
421
 echo '    fi'
440
 echo '    fi'
422
 echo ''
441
 echo ''
423
-echo "    source_directory=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
442
+if [ ! $app_dir ]; then
443
+    echo "    source_directory=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
444
+else
445
+    echo "    source_directory=${app_dir}"
446
+fi
424
 echo ''
447
 echo ''
425
 echo "    suspend_site \${${app_name_upper}_DOMAIN_NAME}"
448
 echo "    suspend_site \${${app_name_upper}_DOMAIN_NAME}"
426
 echo ''
449
 echo ''
446
 echo "    ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
469
 echo "    ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
447
 echo "    if [ \$${app_name_upper}_DOMAIN_NAME ]; then"
470
 echo "    if [ \$${app_name_upper}_DOMAIN_NAME ]; then"
448
 echo "        temp_restore_dir=/root/temp${app_name}"
471
 echo "        temp_restore_dir=/root/temp${app_name}"
449
-echo "        ${app_name}_dir=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
472
+if [ ! $app_dir ]; then
473
+    echo "        ${app_name}_dir=/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs"
474
+else
475
+    echo "        ${app_name}_dir=${app_dir}"
476
+fi
450
 echo ''
477
 echo ''
451
 if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" ]]; then
478
 if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" ]]; then
452
     echo "        ${app_name}_create_database"
479
     echo "        ${app_name}_create_database"
553
 echo "    if [ ! -d /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs ]; then"
580
 echo "    if [ ! -d /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs ]; then"
554
 echo "        if [ -d /repos/${app_name} ]; then"
581
 echo "        if [ -d /repos/${app_name} ]; then"
555
 echo "            mkdir /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
582
 echo "            mkdir /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
556
-echo "            cp -r -p /repos/${app_name}/. /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
557
-echo "            cd /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
583
+if [ ! $app_dir ]; then
584
+    echo "            cp -r -p /repos/${app_name}/. /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
585
+    echo "            cd /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
586
+else
587
+    echo "            cp -r -p /repos/${app_name}/. ${app_dir}"
588
+    echo "            cd ${app_dir}"
589
+fi
558
 echo '            git pull'
590
 echo '            git pull'
559
 echo '        else'
591
 echo '        else'
560
-echo "            git_clone \$${app_name_upper}_REPO /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
592
+if [ ! $app_dir ]; then
593
+    echo "            git_clone \$${app_name_upper}_REPO /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
594
+else
595
+    echo "            git_clone \$${app_name_upper}_REPO ${app_dir}"
596
+fi
561
 echo '        fi'
597
 echo '        fi'
562
 echo ''
598
 echo ''
563
-echo "        if [ ! -d /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs ]; then"
599
+if [ ! $app_dir ]; then
600
+    echo "        if [ ! -d /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs ]; then"
601
+else
602
+    echo "        if [ ! -d ${app_dir} ]; then"
603
+fi
564
 echo "            echo \$'Unable to clone ${app_name} repo'"
604
 echo "            echo \$'Unable to clone ${app_name} repo'"
565
 echo '            exit 87525'
605
 echo '            exit 87525'
566
 echo '        fi'
606
 echo '        fi'
567
 echo '    fi'
607
 echo '    fi'
568
 echo ''
608
 echo ''
569
-echo "    cd /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
609
+if [ ! $app_dir ]; then
610
+    echo "    cd /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
611
+else
612
+    echo "    cd ${app_dir}"
613
+fi
570
 echo "    git checkout \$${app_name_upper}_COMMIT -b \$${app_name_upper}_COMMIT"
614
 echo "    git checkout \$${app_name_upper}_COMMIT -b \$${app_name_upper}_COMMIT"
571
 echo "    set_completion_param \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\""
615
 echo "    set_completion_param \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\""
572
 echo ''
616
 echo ''
684
     echo "    echo 'Type=simple' >> /etc/systemd/system/${app_name}.service"
728
     echo "    echo 'Type=simple' >> /etc/systemd/system/${app_name}.service"
685
     echo "    echo 'User=${app_name}' >> /etc/systemd/system/${app_name}.service"
729
     echo "    echo 'User=${app_name}' >> /etc/systemd/system/${app_name}.service"
686
     echo "    echo 'Group=${app_name}' >> /etc/systemd/system/${app_name}.service"
730
     echo "    echo 'Group=${app_name}' >> /etc/systemd/system/${app_name}.service"
687
-    echo "    echo 'WorkingDirectory=TODO' >> /etc/systemd/system/${app_name}.service"
731
+    if [ ! $app_dir ]; then
732
+        echo "    echo 'WorkingDirectory=TODO' >> /etc/systemd/system/${app_name}.service"
733
+    else
734
+        echo "    echo 'WorkingDirectory=${app_dir}' >> /etc/systemd/system/${app_name}.service"
735
+    fi
688
     echo "    echo 'ExecStart=TODO' >> /etc/systemd/system/${app_name}.service"
736
     echo "    echo 'ExecStart=TODO' >> /etc/systemd/system/${app_name}.service"
689
     echo "    echo 'Restart=always' >> /etc/systemd/system/${app_name}.service"
737
     echo "    echo 'Restart=always' >> /etc/systemd/system/${app_name}.service"
690
     echo "    echo 'Environment=\"USER=${app_name}\"' >> /etc/systemd/system/${app_name}.service"
738
     echo "    echo 'Environment=\"USER=${app_name}\"' >> /etc/systemd/system/${app_name}.service"
692
     echo "    echo '[Install]' >> /etc/systemd/system/${app_name}.service"
740
     echo "    echo '[Install]' >> /etc/systemd/system/${app_name}.service"
693
     echo "    echo 'WantedBy=multi-user.target' >> /etc/systemd/system/${app_name}.service"
741
     echo "    echo 'WantedBy=multi-user.target' >> /etc/systemd/system/${app_name}.service"
694
     echo "    systemctl enable ${app_name}"
742
     echo "    systemctl enable ${app_name}"
743
+    if [ $app_dir ]; then
744
+        echo "    chown -R ${app_name}:${app_name} ${app_dir}"
745
+    fi
695
     echo "    systemctl start ${app_name}"
746
     echo "    systemctl start ${app_name}"
696
 fi
747
 fi
697
 echo ''
748
 echo ''