mirror of
https://github.com/flynx/proxmox-utils.git
synced 2025-12-25 04:42:04 +00:00
Compare commits
18 Commits
90a142ad3c
...
74c1fdf519
| Author | SHA1 | Date | |
|---|---|---|---|
| 74c1fdf519 | |||
| a6f5094152 | |||
| 8d9df935b3 | |||
| 7dda3a28e7 | |||
| dfccbb0819 | |||
| 5bf2dfa893 | |||
| 9c2fe378f7 | |||
| 50885e50bc | |||
| 03bbfdf821 | |||
| 0a8ca779ef | |||
| cf76f419ab | |||
| d889b76b72 | |||
| 5bb1359676 | |||
| b77b5944d8 | |||
| 5454a5ab2b | |||
| 29c236c134 | |||
| 526e9f4ab7 | |||
| 49d4560ddf |
49
.pct-helpers
49
.pct-helpers
@ -18,7 +18,7 @@ ECHO_PREFIX="### "
|
|||||||
if [ -z $DRY_RUN ] ; then
|
if [ -z $DRY_RUN ] ; then
|
||||||
! [ $QUIET ] \
|
! [ $QUIET ] \
|
||||||
&& echo "${ECHO_PREFIX}$@"
|
&& echo "${ECHO_PREFIX}$@"
|
||||||
$@
|
"$@"
|
||||||
else
|
else
|
||||||
echo $@
|
echo $@
|
||||||
fi
|
fi
|
||||||
@ -186,19 +186,52 @@ xread(){
|
|||||||
xreadpass(){
|
xreadpass(){
|
||||||
local PASS1
|
local PASS1
|
||||||
local PASS2
|
local PASS2
|
||||||
read -sep "password (Enter to skip): " PASS1
|
for attempt in 1 2 3 ; do
|
||||||
echo
|
read -sep "password (Enter to skip): " PASS1
|
||||||
if [ $PASS1 ] ; then
|
echo
|
||||||
|
if [ -z $PASS1 ] ; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
read -sep "retype password: " PASS2
|
read -sep "retype password: " PASS2
|
||||||
echo
|
echo
|
||||||
if [[ $PASS1 != $PASS2 ]] ; then
|
if [[ $PASS1 != $PASS2 ]] ; then
|
||||||
echo "ERR: passwords do not match."
|
echo "ERR: passwords do not match."
|
||||||
return 1
|
continue
|
||||||
fi
|
fi
|
||||||
eval ''$1'='${PASS1}''
|
eval ''$1'='${PASS1}''
|
||||||
fi
|
return
|
||||||
|
done
|
||||||
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Wait for /etc/inithooks.conf to be generated then cleared
|
||||||
|
#
|
||||||
|
# tklWaitForSetup
|
||||||
|
#
|
||||||
|
# for tkl inithooks doc see:
|
||||||
|
# https://www.turnkeylinux.org/docs/inithooks
|
||||||
|
tklWaitForSetup(){
|
||||||
|
printf "# TKL setup, this may take a while"
|
||||||
|
if [ -z $DRY_RUN ] ; then
|
||||||
|
while ! $(lxc-attach $ID -- test -e /etc/inithooks.conf) ; do
|
||||||
|
printf '.'
|
||||||
|
sleep ${TIMEOUT:=5}
|
||||||
|
done
|
||||||
|
printf '+'
|
||||||
|
sleep ${TIMEOUT:=5}
|
||||||
|
while ! [[ $(lxc-attach $ID -- cat /etc/inithooks.conf | wc -c) < 2 ]] ; do
|
||||||
|
printf '.'
|
||||||
|
sleep ${TIMEOUT:=5}
|
||||||
|
done
|
||||||
|
else
|
||||||
|
printf '.+..'
|
||||||
|
fi
|
||||||
|
printf 'ready.\n'
|
||||||
|
sleep ${TIMEOUT:=5}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# readConfig
|
# readConfig
|
||||||
#
|
#
|
||||||
@ -292,6 +325,10 @@ buildAssets(){
|
|||||||
local ASSETS_DIR=$2
|
local ASSETS_DIR=$2
|
||||||
ASSETS_DIR=${ASSETS_DIR:=assets}
|
ASSETS_DIR=${ASSETS_DIR:=assets}
|
||||||
|
|
||||||
|
if ! [ -e $TEMPLATE_DIR ] ; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
local TEMPLATES=($(find "$TEMPLATE_DIR" -type f))
|
local TEMPLATES=($(find "$TEMPLATE_DIR" -type f))
|
||||||
for file in "${TEMPLATES[@]}" ; do
|
for file in "${TEMPLATES[@]}" ; do
|
||||||
file=${file#${TEMPLATE_DIR}}
|
file=${file#${TEMPLATE_DIR}}
|
||||||
|
|||||||
@ -51,6 +51,7 @@ OPTS_STAGE_1="\
|
|||||||
--storage local-lvm \
|
--storage local-lvm \
|
||||||
--rootfs local-lvm:$DRIVE \
|
--rootfs local-lvm:$DRIVE \
|
||||||
--unprivileged 1 \
|
--unprivileged 1 \
|
||||||
|
--features nesting=1 \
|
||||||
${PCT_EXTRA} \
|
${PCT_EXTRA} \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|||||||
@ -39,7 +39,7 @@ readVars
|
|||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
# XXX cores...
|
# NOTE: TKL gui will not function correctly without nesting enabled...
|
||||||
OPTS_STAGE_1="\
|
OPTS_STAGE_1="\
|
||||||
--hostname $CTHOSTNAME \
|
--hostname $CTHOSTNAME \
|
||||||
--cores $CORES \
|
--cores $CORES \
|
||||||
@ -49,11 +49,11 @@ OPTS_STAGE_1="\
|
|||||||
--storage local-lvm \
|
--storage local-lvm \
|
||||||
--rootfs local-lvm:$DRIVE \
|
--rootfs local-lvm:$DRIVE \
|
||||||
--unprivileged 1 \
|
--unprivileged 1 \
|
||||||
|
--features nesting=1 \
|
||||||
${PCT_EXTRA} \
|
${PCT_EXTRA} \
|
||||||
"
|
"
|
||||||
|
|
||||||
OPTS_STAGE_2="\
|
OPTS_STAGE_2="\
|
||||||
--startup order=90,up=10 \
|
|
||||||
--onboot 1 \
|
--onboot 1 \
|
||||||
"
|
"
|
||||||
|
|
||||||
@ -68,18 +68,27 @@ getLatestTemplate '.*-turnkey-nextcloud' TEMPLATE
|
|||||||
pctCreate $ID "$TEMPLATE" "$OPTS_STAGE_1" "$PASS"
|
pctCreate $ID "$TEMPLATE" "$OPTS_STAGE_1" "$PASS"
|
||||||
sleep ${TIMEOUT:=5}
|
sleep ${TIMEOUT:=5}
|
||||||
|
|
||||||
#echo "# Starting TKL Setup (this may take a few minutes to start)..."
|
tklWaitForSetup
|
||||||
#@ lxc-attach $ID -- bash --login -i
|
|
||||||
##@ lxc-attach $ID -- /usr/sbin/trunkey-init
|
|
||||||
#
|
# XXX this breaks the rest of this script...
|
||||||
#echo "# Updating config..."
|
echo "# Starting TKL UI..."
|
||||||
## XXX update /var/www/nextcloud/config/config.php
|
@ lxc-attach $ID -- bash -c 'HUB_APIKEY=SKIP SEC_UPDATES=SKIP /usr/sbin/turnkey-init'
|
||||||
## - trusted_domains
|
sleep 5
|
||||||
## - trusted_proxies
|
|
||||||
#@ lxc-attach $ID -- \
|
|
||||||
# sed \
|
echo "# Updating config..."
|
||||||
# -e 's/^\(\s*\)\('\''trusted_domains\)/\1'\''trusted_proxies'\'' =>\n\1array (\n\1\1'${GATE_LAN_IP}'\/32\n\1)\n\1\2/' \
|
# add gate IP to trusted_proxies...
|
||||||
# -i /var/www/nextcloud/config/config.php
|
@ lxc-attach $ID -- bash -c "\
|
||||||
|
sed -i \
|
||||||
|
-e \"/trusted_domains/i\\ 'trusted_proxies' =>\\n array (\\n '${GATE_LAN_IP/\/*}\\/32',\\n ),\" \
|
||||||
|
/var/www/nextcloud/config/config.php"
|
||||||
|
# add self IP to trusted_domains -- enable setup from local network...
|
||||||
|
IP=${DRY_RUN:=$(lxc-attach $ID -- hostname -I)}
|
||||||
|
@ lxc-attach $ID -- bash -c "\
|
||||||
|
sed -z -i \
|
||||||
|
-e \"s/\\(trusted_domains[^)]*\\)/\\1 2 => '${IP/ *}',\\n /\" \
|
||||||
|
/var/www/nextcloud/config/config.php"
|
||||||
|
|
||||||
echo "# Copying assets..."
|
echo "# Copying assets..."
|
||||||
@ pct-push-r $ID ./assets /
|
@ pct-push-r $ID ./assets /
|
||||||
@ -89,6 +98,10 @@ echo "# Disabling fail2ban..."
|
|||||||
@ lxc-attach $ID systemctl stop fail2ban
|
@ lxc-attach $ID systemctl stop fail2ban
|
||||||
@ lxc-attach $ID systemctl disable fail2ban
|
@ lxc-attach $ID systemctl disable fail2ban
|
||||||
|
|
||||||
|
echo "# Updating system..."
|
||||||
|
@ lxc-attach $ID apt update
|
||||||
|
@ lxc-attach $ID apt upgrade
|
||||||
|
|
||||||
echo "# Post config..."
|
echo "# Post config..."
|
||||||
pctSet $ID "${OPTS_STAGE_2}" $REBOOT
|
pctSet $ID "${OPTS_STAGE_2}" $REBOOT
|
||||||
|
|
||||||
|
|||||||
@ -50,6 +50,7 @@ OPTS_STAGE_1="\
|
|||||||
--storage local-lvm \
|
--storage local-lvm \
|
||||||
--rootfs local-lvm:$DRIVE \
|
--rootfs local-lvm:$DRIVE \
|
||||||
--unprivileged 1 \
|
--unprivileged 1 \
|
||||||
|
--features nesting=1 \
|
||||||
${PCT_EXTRA} \
|
${PCT_EXTRA} \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|||||||
@ -50,11 +50,11 @@ OPTS_STAGE_1="\
|
|||||||
--storage local-lvm \
|
--storage local-lvm \
|
||||||
--rootfs local-lvm:$DRIVE \
|
--rootfs local-lvm:$DRIVE \
|
||||||
--unprivileged 1 \
|
--unprivileged 1 \
|
||||||
|
--features nesting=1 \
|
||||||
${PCT_EXTRA} \
|
${PCT_EXTRA} \
|
||||||
"
|
"
|
||||||
|
|
||||||
OPTS_STAGE_2="\
|
OPTS_STAGE_2="\
|
||||||
--startup order=90,up=10 \
|
|
||||||
--onboot 1 \
|
--onboot 1 \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|||||||
@ -49,11 +49,11 @@ OPTS_STAGE_1="\
|
|||||||
--storage local-lvm \
|
--storage local-lvm \
|
||||||
--rootfs local-lvm:$DRIVE \
|
--rootfs local-lvm:$DRIVE \
|
||||||
--unprivileged 1 \
|
--unprivileged 1 \
|
||||||
|
--features nesting=1 \
|
||||||
${PCT_EXTRA} \
|
${PCT_EXTRA} \
|
||||||
"
|
"
|
||||||
|
|
||||||
OPTS_STAGE_2="\
|
OPTS_STAGE_2="\
|
||||||
--startup order=90,up=10 \
|
|
||||||
--onboot 1 \
|
--onboot 1 \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user