|
@@ -55,22 +55,22 @@ function show_help {
|
55
|
55
|
echo $'Creates a new app script which can then be filled in'
|
56
|
56
|
echo ''
|
57
|
57
|
echo ''
|
58
|
|
- echo $' -h --help Show help'
|
59
|
|
- echo $' -a --app [name] Name of the application'
|
60
|
|
- echo $' -n --name [name] Your name'
|
61
|
|
- echo $' -e --email [address] Your email address'
|
62
|
|
- echo $' -r --repo [url] Git repo url for the app'
|
63
|
|
- echo $' -c --commit [hash] Git commit'
|
64
|
|
- echo $' --port [number] Port number for the app'
|
65
|
|
- echo $' --portinternal [number] Internal port between a daemon and the web server'
|
66
|
|
- echo $' --node [yes|no] Is this a nodejs app?'
|
67
|
|
- echo $' --nodeapp [package] Specify a nodejs package to install'
|
68
|
|
- echo $' -o --onion [yes|no] Is this app only available on an onion address?'
|
69
|
|
- echo $' -p --php [yes|no] Is this a PHP app?'
|
70
|
|
- echo $' -s --daemon [yes|no] Add a daemon'
|
71
|
|
- echo $' -d --database [mariadb|postgresql] Type of database'
|
72
|
|
- echo $' -w --web [yes|no] Whether there is a web user interface (default is yes)'
|
73
|
|
- echo $' --dir [directory] Where to install to'
|
|
58
|
+ echo $' -h --help Show help'
|
|
59
|
+ echo $' -a --app [name] Name of the application'
|
|
60
|
+ echo $' -n --name [name] Your name'
|
|
61
|
+ echo $' -e --email [address] Your email address'
|
|
62
|
+ echo $' -r --repo [url] Git repo url for the app'
|
|
63
|
+ echo $' -c --commit [hash] Git commit'
|
|
64
|
+ echo $' --port [number] Port number for the app'
|
|
65
|
+ echo $' --portinternal [number] Internal port between a daemon and the web server'
|
|
66
|
+ echo $' --node [yes|no] Is this a nodejs app?'
|
|
67
|
+ echo $' --nodeapp [package] Specify a nodejs package to install'
|
|
68
|
+ echo $' -o --onion [yes|no] Is this app only available on an onion address?'
|
|
69
|
+ echo $' -p --php [yes|no] Is this a PHP app?'
|
|
70
|
+ echo $' -s --daemon [yes|no] Add a daemon'
|
|
71
|
+ echo $' -d --database [mariadb|postgresql|mongodb] Type of database'
|
|
72
|
+ echo $' -w --web [yes|no] Whether there is a web user interface (default is yes)'
|
|
73
|
+ echo $' --dir [directory] Where to install to'
|
74
|
74
|
echo ''
|
75
|
75
|
exit 0
|
76
|
76
|
}
|
|
@@ -322,7 +322,7 @@ echo ''
|
322
|
322
|
echo " \"\${PROJECT_NAME}-pass\" -u \"\$curr_username\" -a ${app_name} -p \"\$new_user_password\""
|
323
|
323
|
echo '}'
|
324
|
324
|
|
325
|
|
-if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" || "$database_type" == "postgres"* ]]; then
|
|
325
|
+if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" || "$database_type" == "postgres"* || "$database_type" == "mongo"* ]]; then
|
326
|
326
|
echo ''
|
327
|
327
|
echo "function ${app_name}_create_database {"
|
328
|
328
|
echo " if [ -f \$IMAGE_PASSWORD_FILE ]; then"
|
|
@@ -336,9 +336,13 @@ if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" || "$database
|
336
|
336
|
echo ' return'
|
337
|
337
|
echo ' fi'
|
338
|
338
|
echo ''
|
339
|
|
- if [[ "$database_type" != "postgres"* ]]; then
|
|
339
|
+ if [[ "$database_type" = "mysql" || "$database_type" = "mariadb" ]]; then
|
340
|
340
|
echo " create_database ${app_name} \"\$${app_name_upper}_ADMIN_PASSWORD\" \$MY_USERNAME"
|
341
|
|
- else
|
|
341
|
+ fi
|
|
342
|
+ if [[ "$database_type" = "mongo"* ]]; then
|
|
343
|
+ echo " create_database_mongodb ${app_name} \"\$${app_name_upper}_ADMIN_PASSWORD\" \$MY_USERNAME"
|
|
344
|
+ fi
|
|
345
|
+ if [[ "$database_type" == "postgres"* ]]; then
|
342
|
346
|
echo ' systemctl restart postgresql'
|
343
|
347
|
echo " run_system_query_postgresql \"CREATE USER peertube WITH PASSWORD '\$${app_name_upper}_ADMIN_PASSWORD';\""
|
344
|
348
|
echo " run_system_query_postgresql \"CREATE DATABASE ${app_name} OWNER ${app_name};\""
|
|
@@ -394,6 +398,9 @@ else
|
394
|
398
|
echo " set_repo_commit \"${app_dir}\" \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \"\$${app_name_upper}_REPO\""
|
395
|
399
|
echo " chown -R ${app_name}:${app_name} \"${app_dir}\""
|
396
|
400
|
fi
|
|
401
|
+if [ $app_daemon ]; then
|
|
402
|
+ echo " systemctl restart ${app_name}"
|
|
403
|
+fi
|
397
|
404
|
echo '}'
|
398
|
405
|
echo ''
|
399
|
406
|
echo "function backup_local_${app_name} {"
|
|
@@ -430,6 +437,11 @@ if [[ "$database_type" == "postgres"* ]]; then
|
430
|
437
|
echo " backup_database_to_usb ${app_name}"
|
431
|
438
|
echo ''
|
432
|
439
|
fi
|
|
440
|
+if [[ "$database_type" == "mongo"* ]]; then
|
|
441
|
+ echo ' USE_MONGODB=1'
|
|
442
|
+ echo " backup_database_to_usb ${app_name}"
|
|
443
|
+ echo ''
|
|
444
|
+fi
|
433
|
445
|
if [ $app_webui ]; then
|
434
|
446
|
echo ' restart_site'
|
435
|
447
|
fi
|
|
@@ -481,6 +493,16 @@ if [[ "$database_type" == "postgres"* ]]; then
|
481
|
493
|
echo ' fi'
|
482
|
494
|
echo ''
|
483
|
495
|
fi
|
|
496
|
+if [[ "$database_type" == "mongo"* ]]; then
|
|
497
|
+ echo " ${app_name}_create_database"
|
|
498
|
+ echo ''
|
|
499
|
+ echo ' USE_MONGODB=1'
|
|
500
|
+ echo " restore_database ${app_name}"
|
|
501
|
+ echo " if [ -d \$temp_restore_dir ]; then"
|
|
502
|
+ echo " rm -rf \$temp_restore_dir"
|
|
503
|
+ echo ' fi'
|
|
504
|
+ echo ''
|
|
505
|
+fi
|
484
|
506
|
echo " restore_directory_from_usb \$temp_restore_dir ${app_name}"
|
485
|
507
|
echo " if [ -d \$temp_restore_dir ]; then"
|
486
|
508
|
echo " if [ -d \"\$temp_restore_dir\$${app_name}_dir\" ]; then"
|
|
@@ -539,6 +561,11 @@ if [[ "$database_type" == "postgres"* ]]; then
|
539
|
561
|
echo " backup_database_to_friend ${app_name}"
|
540
|
562
|
echo ''
|
541
|
563
|
fi
|
|
564
|
+if [[ "$database_type" == "mongo"* ]]; then
|
|
565
|
+ echo ' USE_MONGODB=1'
|
|
566
|
+ echo " backup_database_to_friend ${app_name}"
|
|
567
|
+ echo ''
|
|
568
|
+fi
|
542
|
569
|
if [ $app_daemon ]; then
|
543
|
570
|
echo ''
|
544
|
571
|
echo " systemctl start ${app_name}"
|
|
@@ -592,6 +619,16 @@ if [[ "$database_type" == "postgres"* ]]; then
|
592
|
619
|
echo ' fi'
|
593
|
620
|
echo ''
|
594
|
621
|
fi
|
|
622
|
+if [[ "$database_type" == "mongo"* ]]; then
|
|
623
|
+ echo " ${app_name}_create_database"
|
|
624
|
+ echo ''
|
|
625
|
+ echo ' USE_MONGODB=1'
|
|
626
|
+ echo " restore_database_from_friend ${app_name}"
|
|
627
|
+ echo " if [ -d \"\$temp_restore_dir\" ]; then"
|
|
628
|
+ echo " rm -rf \$temp_restore_dir"
|
|
629
|
+ echo ' fi'
|
|
630
|
+ echo ''
|
|
631
|
+fi
|
595
|
632
|
echo " restore_directory_from_friend \$temp_restore_dir ${app_name}"
|
596
|
633
|
echo " if [ -d \$temp_restore_dir ]; then"
|
597
|
634
|
echo " if [ -d \"\$temp_restore_dir\$${app_name}_dir\" ]; then"
|
|
@@ -655,6 +692,9 @@ fi
|
655
|
692
|
if [[ "$database_type" == "postgres"* ]]; then
|
656
|
693
|
echo " drop_database_postgresql ${app_name}"
|
657
|
694
|
fi
|
|
695
|
+if [[ "$database_type" == "mongo"* ]]; then
|
|
696
|
+ echo " drop_database_mongodb ${app_name}"
|
|
697
|
+fi
|
658
|
698
|
echo " remove_onion_service ${app_name} \"\${${app_name_upper}_ONION_PORT}\""
|
659
|
699
|
echo " if grep -q \"${app_name}\" /etc/crontab; then"
|
660
|
700
|
echo " sed -i \"/${app_name}/d\" /etc/crontab"
|
|
@@ -683,6 +723,10 @@ if [[ "$database_type" == "postgres"* ]]; then
|
683
|
723
|
echo ' install_postgresql'
|
684
|
724
|
echo ''
|
685
|
725
|
fi
|
|
726
|
+if [[ "$database_type" == "mongo"* ]]; then
|
|
727
|
+ echo ' install_mongodb'
|
|
728
|
+ echo ''
|
|
729
|
+fi
|
686
|
730
|
if [[ "$app_node" == 'yes' ]]; then
|
687
|
731
|
echo " install_nodejs ${app_name}"
|
688
|
732
|
fi
|
|
@@ -748,7 +792,7 @@ if [ $app_webui ]; then
|
748
|
792
|
echo " chown -R www-data:www-data \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
|
749
|
793
|
fi
|
750
|
794
|
|
751
|
|
-if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" || "$database_type" == "postgres"* ]]; then
|
|
795
|
+if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" || "$database_type" == "postgres"* || "$database_type" == "mongo"* ]]; then
|
752
|
796
|
echo ''
|
753
|
797
|
echo " ${app_name}_create_database"
|
754
|
798
|
fi
|
|
@@ -860,7 +904,7 @@ if [ $app_webui ]; then
|
860
|
904
|
echo " { echo \" try_files \\\$uri \\\$uri/ index.php?\\\$args;\";"
|
861
|
905
|
fi
|
862
|
906
|
else
|
863
|
|
- echo " echo \" proxy_pass http://localhost:\$${app_name_upper}_PORT_INTERNAL;\";"
|
|
907
|
+ echo " { echo \" proxy_pass http://localhost:\$${app_name_upper}_PORT_INTERNAL;\";"
|
864
|
908
|
fi
|
865
|
909
|
echo " echo ' }';"
|
866
|
910
|
echo " echo '}'; } >> \"\$${app_name}_nginx_site\""
|