From 275b915d17497e5ed7adc382db98411eee0ec348 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Mon, 14 May 2018 22:11:31 +0100
Subject: [PATCH] Specify internal port within template command

---
 man/freedombone-template.1.gz | Bin 1437 -> 1451 bytes
 src/freedombone-template      | 126 ++++++++++++++++++++--------------
 2 files changed, 73 insertions(+), 53 deletions(-)

diff --git a/man/freedombone-template.1.gz b/man/freedombone-template.1.gz
index 6413e39b1d730741c67dad3e8a2b49babf5f761a..59219066d36b3ac5f535c10d4d8847c62d1a2765 100644
GIT binary patch
literal 1451
zcmV;c1yuSUiwFRy`uSP_1Kn6{Z`(Ey{_bCK@Rxq6?Ii7hp%{ueY1#x>62nfg4e1b2
z;z{Nrkt#{W)6gHkJ5rMEG;xZx9f}!FB$2$g=U(OU<q2dKQJOL_8b=<>st_JwABOuc
z;Y>7eu($u?5Qg-9yFLh44(&5X2Xrlp;b1UcoWSsWdUiY<Jjn0;2;QMaOZN^muE3>M
zRUWzn4l-jwRFxaF%oe|&U(6P#i$@raMsygiwJ7lq7$IC^DO5qX7OpK;25QSsDO{(f
zES0DGQDv+rlDbULcF#(Cv|1FK>)J?S*r5BUP4^t6RU*9=IkrMaMk}K?4_3=+^HB;c
zw+=|SE`?P>CLb%~d~VTwC_d7e+{h$QC{kZ(=S5KfJz(mMZFpye$xhazRyPON5)&mf
zv<tx6IzHjFsA!unpKf+IY+=;-;?42mXns1oJiRy{4lb9<fomMO0%}JB1vvCzveu^#
zR!fyGK_WjV2q@@@@mncRH;}RWz0guvss2U@S*=sgPzG(raJj^uS4x%;52ck?1WE&W
z8%C0ZE1iR9b=b$m5ctn8QA4JRf{vKlw^DUOVl3@hXz>+6q(o0~<Hmz%mo(_~GY_dn
zjxqssmCeYTQEu3V=RrhcYGO++x<lJQp>B~B(-fuP4Wza6rX<5y6QXx@;aSmW(YTNA
z%jx_Lec|oZ`4J;ak$&7E)n><15Ync^9<ClL_lnpY&O2LfVj`?<2(l?7^p>^bNMtE?
z?r@7HE=4j@pgmZaJSWv}jNUrzYpY#=v^@Yl>z*RZ9w4FBo`mz=FU5v5A>|DPl<f$o
zQgU$d663n9T5H4R`FU$YOOjbr-XrSJ3c)T2$TbR6cN=RERT_qkSA(xjh?#YmFrRcO
zbdEQbaBgL+?06i7<p^T87wa12BuWRpdi_(QGnLmC*ZSvuiM++8Er~jY9Ra{RKzZWE
z1yo7YUiqd|sps~9alr*ShI9&f5wICfDbg0`IXc~td>9m;%94`JdD4T#9~tefDPSfv
z7BTqSj3irPxCf)jUQ41#GU1>3`&mZCq4NX;W%`t-dsFe9D8_J_h18OUQ?Spc&N7ZT
z%65vK2PA~7XJS?_21hIny`;@}SSKT6S68_evPWx%mXI%FgtvPxn9hORR4NUH$krNG
zh_^-Of`n>nUELIh_CMv-Zf`)r#tFDu9D=mutUfTPe2^Qr*v#Xi3uIDw5v_^Tk@2<?
zjDUZ@qDQpQG0G`C?=~VdDzeS$QB6MK5zE~1Z_~5cFUM5e21i{@ZL3?G865K}h1tmr
zs-mWuqFH<>CTH9y-y8z>y^Y?Hnz|~G)yKamM7uu5<q+ue8Kc4|WcILZLW&RJ{rf=q
z;Af+&4pXyof{T6PTrrY(_XO!<Bgsyp?Qw;s3F_}WHndX%yxvLfY&zLQfXp714gF_J
z2ZOf(?{gYv{&Z_hx8Y`wCc@!2!t={P3A5QfRCc?NXQ~PMbkakyo}ZY}ZtAVM=;gtS
z{jcGJ8PzeP*FKo_!{B%C014~KwFP$<?JnTIK9D@_anbHTd>#hFT2sXiBUpl-Dt7F1
zts?Ej80t(cUEBzRxAzZTy!>9>@K97gkp^qv@4fl3onOHjkGr9LAz1r@bcioE)JE9{
zJUw`o)`hSUdcU-$&X>V68J%2F$Ne9>0)E)r+xs#XOh3Dk24C>lr3rm;N2ZH}TPo)Q
z#8+CH#3{kQRa5;YopCqf(X3c>o&-|I4p|*k>k6$+05H5*gv7~2`XAKj{-+1NZv6W2
zxh?NsG(0wwtbG!vFx?$qy`#x)jv<JXI;Xk9)9?sO?<@CeGRX<MIvJDaCR7NP+Z-p#
zxf=T)e5O~ICl~YK;Ls#+W;{)ICH$0_<mU~Nu}1%TFiz~?S4>{@V(y(7`~zrnX5!Zp
F007e;#4rE=

literal 1437
zcmV;O1!DRiiwFP*+WA@l1Kn6{Z`(Ey{_bCK@Rxq6?WF5~p%{ueY1#x>Qo~NL4e1b2
z;z{Nrkt#{W)zBZmJ5rME)Nu;*1;q>}mMGrabI%>m9$%h9W)Y<+6QgnDv8)Q=5e{K^
z_#Dnf1J4c)e;LA%-mlji;mV<X;%I}eMKK%<#*0%JUQEwVhJ&5@-i_c5YP59iK;sHr
zYE|W-+u$HG7DQFKL91->*Tvh};%xDN!qJE}!?hMA{tY99Yb=E-=+eTq#mYc!`7VX)
z)Rd+2bUmt!^(0c43EJ*nX^&QmVsl*^NeUZuAGPW3gSASew<5>Z=*Vbg^ybEDS#91*
zf#uc)3D>2tO3376Wt`6~y7$FL+LIfZ1PMj%EA6}}3ZNTIy|E2HSz)qQ^{DmD!L`Ih
z2@UN6u(ytPI4vrA%pdn2c9_39Ssc&LW|wDgFNTB5rE=gJN03A9NU;Ei9!%Ee&cSM_
z(j`db`vd_6-7!up<>>-4PO}$U3M<vWC?TtL>KU?NbqtqF>~*E&G3iiRc}2lDkhgS^
zWL)VSJiEiWB!$3#eu)|~RTQ+v)V{T<8!}_*nS~Zd5ll+-#1A(f#JHqEr=NI8Ei#(~
z(5Gxh-i&g?F+2?>8dH;6O2r-81`2hH<d`Nlf;W)X&YO|~V^2ul)rDtAV?^Vg$CuOj
zD|*B0tBYesmKc4~A=OsFQV`On#2&65D))la9L>8}ZX)5=F$CMhe7zOzI0{+f$Q^FU
z#HA=k4zwE!ljr36jnP}1eQmW1khUA3SKUiw*$xp}?M1k*{ZedL6H?v~p=>8Om6FND
zON{HbYi$gh`{!*8tw?4~c~7WAD-^dNAlE2N-EHhO)KM5VUJbc6fir8Gu%2`&bdEQb
zaBgL+>~tK5<p^T;EcP$R$&?O$_5P<uXDY8PuKmyZR(Oj|+xm2*9Ra{PKzY)}jZ#U}
zUiqeTsn@n6xR8PzLpg=I2-pm##Iyx^W~Uoc4uj)USyHh%Pkxa3W23z_1<ZuTB9gzY
zNQx!WJp@hhS~5kJ3IELBuQF;5T_zwn)0aG5n~JYQF^01&l$JDHf_*)8kul?_+KD?m
zEQG3OVRkQ)BesU#(k36)#mLyzRc?js(VC$p<jctL_L&QzGm)E0rJ)hoTEhzQw&+rj
zQ17g(o5IlZPj$7AH=y9)1Y9kSKw3&xPYh}wl*TPJ^SJ1Om=s>bXrgpfyzK-d;CDpy
zfEPNloalMC!O-Z)wyFm``9w!-b0>dJ&u71%P;(m`cRjW3Zf#{S=T!=`(-~AnO|wI@
zcwbD;`8<4e1bn`2oE@pDs{+}5{6G}#&MR(*K(Egj2}Yr^hh-B=d<gH}1<9SSjni|O
znw1mW>=WmTk;J=4L?0SG_6lu}B{VhAInLujI~~Bwz2eTMlT8FD>`~d!e~xr8cpdP*
zprPd-x5jiEZq8^T9DXA_zZ{e>gWW@Ae+qeanxIc7JrwIXi4}bXOlQ=Wj9z0p>xZ}>
z9#9GEiL(W3pX~PqlE*i0!X1cD!=P7d>cC;7O3+gWj^|eENIL<Bz7bmyA8cX5KYaGn
z^B*-0yIA@Nt=GWc`^Lg?euZQ_oQ8J5U+02+h+j(RSmYe=G~iWQ7s5v9{nDB`Uxv(N
zv~xu#=>Iqs@bkgJ!I!0A`q>9#$OVs4n$Q<_6uL<Gh~!#;_*Il9Ybx+>bx3}blWsra
zF|62h9tBdz6R&z!tvj?f0l@G@Arwv~((llt`=1Q>bK_To&ppC+_TBxm941BkC{AHo
zJGy#9liC~uiIX~~Il<E~2utrP_hK^13A;KOQ|2br2$tI#C(5}R`yXniSC^-6=flB~
rN#NXgn$}AAH8II=8zN(k{^ekt*ufu|yy(r`+cEeLT>`odj}ia?P2<J4

diff --git a/src/freedombone-template b/src/freedombone-template
index 4fb894b37..c80e4c907 100755
--- a/src/freedombone-template
+++ b/src/freedombone-template
@@ -32,7 +32,7 @@ app_name='noapp'
 app_name_lower=$(echo "${app_name}" | tr '[:upper:]' '[:lower:]')
 app_name=$app_name_lower
 app_name_upper=$(echo "${app_name}" | tr '[:lower:]' '[:upper:]')
-app_repo="TODO"
+app_repo=
 app_repo_commit='TODO'
 app_php=
 app_node=
@@ -75,6 +75,7 @@ function show_help {
     echo $'  -d --database [mariadb|postgresql|mongodb]  Type of database'
     echo $'  -w --web [yes|no]                           Whether there is a web user interface (default is yes)'
     echo $'     --dir [directory]                        Where to install to'
+    echo $'  -i --internalport [number]                  Internal port number for the daemon'
     echo ''
     exit 0
 }
@@ -114,6 +115,10 @@ do
             shift
             database_type="$1"
             ;;
+        -i|--internal|--internalport)
+            shift
+            app_port_internal="$1"
+            ;;
         -p|--php)
             shift
             app_php="$1"
@@ -263,8 +268,10 @@ if [ "$app_port" ]; then
     echo "${app_name_upper}_PORT=$app_port"
 fi
 echo "${app_name_upper}_ONION_PORT=$(( ( RANDOM % 1000 )  + 9010 ))"
-echo "${app_name_upper}_REPO=\"${app_repo}\""
-echo "${app_name_upper}_COMMIT='${app_repo_commit}'"
+if [ "$app_repo" ]; then
+    echo "${app_name_upper}_REPO=\"${app_repo}\""
+    echo "${app_name_upper}_COMMIT='${app_repo_commit}'"
+fi
 if [ $app_daemon ]; then
     if [ ! "$app_port_internal" ]; then
         echo "${app_name_upper}_PORT_INTERNAL=TODO"
@@ -391,27 +398,31 @@ echo '    done'
 echo '}'
 echo ''
 echo "function upgrade_${app_name} {"
-echo "    CURR_${app_name_upper}_COMMIT=\$(get_completion_param \"${app_name} commit\")"
-echo "    if [[ \"\$CURR_${app_name_upper}_COMMIT\" == \"\$${app_name_upper}_COMMIT\" ]]; then"
-echo '        return'
-echo '    fi'
-if [ $app_webui ]; then
-    echo ''
-    echo "    if grep -q \"${app_name} domain\" \"\$COMPLETION_FILE\"; then"
-    echo "        ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
-    echo '    fi'
-fi
-echo ''
-echo '    # update to the next commit'
-if [ ! "$app_dir" ]; then
-    echo "    set_repo_commit \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\" \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \"\$${app_name_upper}_REPO\""
-    echo "    chown -R www-data:www-data \"/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs\""
+if [ ! "$app_repo" ]; then
+    echo "echo -n ''"
 else
-    echo "    set_repo_commit \"${app_dir}\" \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \"\$${app_name_upper}_REPO\""
-    echo "    chown -R ${app_name}:${app_name} \"${app_dir}\""
-fi
-if [ $app_daemon ]; then
-    echo "    systemctl restart ${app_name}"
+    echo "    CURR_${app_name_upper}_COMMIT=\$(get_completion_param \"${app_name} commit\")"
+    echo "    if [[ \"\$CURR_${app_name_upper}_COMMIT\" == \"\$${app_name_upper}_COMMIT\" ]]; then"
+    echo '        return'
+    echo '    fi'
+    if [ $app_webui ]; then
+        echo ''
+        echo "    if grep -q \"${app_name} domain\" \"\$COMPLETION_FILE\"; then"
+        echo "        ${app_name_upper}_DOMAIN_NAME=\$(get_completion_param \"${app_name} domain\")"
+        echo '    fi'
+    fi
+    echo ''
+    echo '    # update to the next commit'
+    if [ ! "$app_dir" ]; then
+        echo "    set_repo_commit \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\" \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \"\$${app_name_upper}_REPO\""
+        echo "    chown -R www-data:www-data \"/var/www/\${${app_name_upper}_DOMAIN_NAME}/htdocs\""
+    else
+        echo "    set_repo_commit \"${app_dir}\" \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\" \"\$${app_name_upper}_REPO\""
+        echo "    chown -R ${app_name}:${app_name} \"${app_dir}\""
+    fi
+    if [ $app_daemon ]; then
+        echo "    systemctl restart ${app_name}"
+    fi
 fi
 echo '}'
 echo ''
@@ -775,42 +786,51 @@ if [ $app_webui ]; then
     echo '    fi'
 fi
 
-echo "    if [ -d /repos/${app_name} ]; then"
-if [ $app_webui ]; then
-    echo "        mkdir \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
-fi
-if [ ! "$app_dir" ]; then
-    echo "        cp -r -p /repos/${app_name}/. \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
-    echo "        cd \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\" || exit 324687356"
-else
-    echo "        cp -r -p /repos/${app_name}/. \"${app_dir}\""
-    echo "        cd \"${app_dir}\" || exit 36487365"
-fi
-echo '        git pull'
-echo '    else'
-if [ ! "$app_dir" ]; then
-    echo "        git_clone \"\$${app_name_upper}_REPO\" \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
-else
-    echo "        git_clone \"\$${app_name_upper}_REPO\" \"${app_dir}\""
-fi
-echo '    fi'
-echo ''
-if [ ! "$app_dir" ]; then
-    echo "    if [ ! -d \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\" ]; then"
+if [ "$app_repo" ]; then
+    echo "    if [ -d /repos/${app_name} ]; then"
+    if [ $app_webui ]; then
+        echo "        mkdir \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
+    fi
+    if [ ! "$app_dir" ]; then
+        echo "        cp -r -p /repos/${app_name}/. \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
+        echo "        cd \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\" || exit 324687356"
+    else
+        echo "        cp -r -p /repos/${app_name}/. \"${app_dir}\""
+        echo "        cd \"${app_dir}\" || exit 36487365"
+    fi
+    echo '        git pull'
+    echo '    else'
+    if [ ! "$app_dir" ]; then
+        echo "        git_clone \"\$${app_name_upper}_REPO\" \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
+    else
+        echo "        git_clone \"\$${app_name_upper}_REPO\" \"${app_dir}\""
+    fi
+    echo '    fi'
+    echo ''
+    if [ ! "$app_dir" ]; then
+        echo "    if [ ! -d \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\" ]; then"
+    else
+        echo "    if [ ! -d \"${app_dir}\" ]; then"
+    fi
+    echo "        echo \$'Unable to clone ${app_name} repo'"
+    echo '        exit 87525'
+    echo '    fi'
+    echo ''
 else
-    echo "    if [ ! -d \"${app_dir}\" ]; then"
+    echo "    mkdir -p \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
+    if [ "$app_dir" ]; then
+        echo "    mkdir \"${app_dir}\""
+    fi
 fi
-echo "        echo \$'Unable to clone ${app_name} repo'"
-echo '        exit 87525'
-echo '    fi'
-echo ''
 if [ ! "$app_dir" ]; then
     echo "    cd \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\" || exit 36587356"
 else
     echo "    cd \"${app_dir}\" || exit 3463754637"
 fi
-echo "    git checkout \"\$${app_name_upper}_COMMIT\" -b \"\$${app_name_upper}_COMMIT\""
-echo "    set_completion_param \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\""
+if [ "$app_repo" ]; then
+    echo "    git checkout \"\$${app_name_upper}_COMMIT\" -b \"\$${app_name_upper}_COMMIT\""
+    echo "    set_completion_param \"${app_name} commit\" \"\$${app_name_upper}_COMMIT\""
+fi
 if [ $app_webui ]; then
     echo ''
     echo "    chmod g+w \"/var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs\""
@@ -951,7 +971,7 @@ if [ $app_daemon ]; then
     echo "      echo 'Description=${app_name}';"
     echo "      echo 'After=syslog.target';"
     echo "      echo 'After=network.target';"
-    echo "      echo 'Documentation=${app_name_upper}_REPO";
+    echo "      echo \"Documentation=\$${app_name_upper}_REPO\";";
     echo "      echo '';"
     echo "      echo '[Service]';"
     echo "      echo 'Type=simple';"
-- 
GitLab