Compare commits

..

No commits in common. "443e48e051e2a789a35354df07eee779c40da19b" and "2b8ccd768866ed918f024cb6616338a250bfd95d" have entirely different histories.

6 changed files with 19 additions and 251 deletions

View File

@ -179,24 +179,6 @@ xread(){
&& echo "$2=${!2}" && echo "$2=${!2}"
} }
#
# xreadpass VAR
#
xreadpass(){
local PASS1
local PASS2
read -sep "password (Enter to skip): " PASS1
echo
if [ $PASS1 ] ; then
read -sep "retype password: " PASS2
echo
if [[ $PASS1 != $PASS2 ]] ; then
echo "ERR: passwords do not match."
return 1
fi
eval ''$1'='${PASS1}''
fi
}
# #
# readVars # readVars
@ -231,11 +213,6 @@ readVars(){
xread "ID: " ID xread "ID: " ID
xread "Hostname: " CTHOSTNAME xread "Hostname: " CTHOSTNAME
# hardware...
xread "RAM (MB): " RAM
xread "SWAP (MB): " SWAP
xread "DRIVE (GB): " DRIVE
# bridge config... # bridge config...
xread "WAN bridge: vmbr" WAN_BRIDGE xread "WAN bridge: vmbr" WAN_BRIDGE
xread "LAN bridge: vmbr" LAN_BRIDGE xread "LAN bridge: vmbr" LAN_BRIDGE
@ -258,8 +235,17 @@ readVars(){
# root password... # root password...
if [ -z $ROOTPASS ] ; then if [ -z $ROOTPASS ] ; then
xreadpass PASS \ read -sep "root password (Enter to skip): " PASS1
|| exit 1 echo
if [ $PASS1 ] ; then
read -sep "retype root password: " PASS2
echo
if [[ $PASS1 != $PASS2 ]] ; then
echo "ERR: passwords do not match."
exit 1
fi
PASS=$PASS1
fi
else else
PASS=$ROOTPASS PASS=$ROOTPASS
fi fi
@ -335,7 +321,7 @@ pctCreate(){
} }
# #
# pctCreate<distro> ID ARGS [PASS] # pctCreate ID ARGS [PASS]
# #
pctCreateAlpine(){ pctCreateAlpine(){
local TEMPLATE local TEMPLATE
@ -343,33 +329,9 @@ pctCreateAlpine(){
pctCreate $1 "$TEMPLATE" "$2" "$3" pctCreate $1 "$TEMPLATE" "$2" "$3"
sleep ${TIMEOUT:=5}
@ lxc-attach $1 apk update @ lxc-attach $1 apk update
@ lxc-attach $1 apk upgrade @ lxc-attach $1 apk upgrade
} }
pctCreateDebian(){
local TEMPLATE
getLatestTemplate 'debian-12-standard' TEMPLATE
pctCreate $1 "$TEMPLATE" "$2" "$3"
sleep ${TIMEOUT:=5}
@ lxc-attach $1 apt update
@ lxc-attach $1 -- apt upgrade -y
}
pctCreateUbuntu(){
local TEMPLATE
getLatestTemplate ubuntu TEMPLATE
pctCreate $1 "$TEMPLATE" "$2" "$3"
sleep ${TIMEOUT:=5}
@ lxc-attach $1 apt update
@ lxc-attach $1 -- apt upgrade -y
}
# #

View File

@ -17,17 +17,9 @@ gate: ./gate-traefik
ns: ns:
$@/make.sh $@/make.sh
.PHONY: ssh
ssh:
$@/make.sh
.PHONY: syncthing
syncthing:
$@/make.sh
.PHONY: all .PHONY: all
all: config gate ns ssh syncthing all: config gate dns

View File

@ -24,10 +24,6 @@ source ../.pct-helpers
DFL_ID=${DFL_ID:=101} DFL_ID=${DFL_ID:=101}
DFL_CTHOSTNAME=${GATE_HOSTNAME:=${DFL_CTHOSTNAME:=gate}} DFL_CTHOSTNAME=${GATE_HOSTNAME:=${DFL_CTHOSTNAME:=gate}}
RAM=128
SWAP=$RAM
DRIVE=0.5
DFL_WAN_IP=${DFL_WAN_IP} DFL_WAN_IP=${DFL_WAN_IP}
DFL_WAN_GATE=${DFL_WAN_GATE} DFL_WAN_GATE=${DFL_WAN_GATE}
@ -45,13 +41,13 @@ readVars
OPTS_STAGE_1="\ OPTS_STAGE_1="\
--hostname $CTHOSTNAME \ --hostname $CTHOSTNAME \
--memory $RAM \ --memory 128 \
--swap $SWAP \ --swap 128 \
--net0 name=wan,bridge=vmbr${WAN_BRIDGE},firewall=1${WAN_GATE:+,gw=${WAN_GATE}}${WAN_IP:+,ip=${WAN_IP}},type=veth \ --net0 name=wan,bridge=vmbr${WAN_BRIDGE},firewall=1${WAN_GATE:+,gw=${WAN_GATE}}${WAN_IP:+,ip=${WAN_IP}},type=veth \
--net1 name=admin,bridge=vmbr${ADMIN_BRIDGE},firewall=1${ADMIN_IP:+,ip=${ADMIN_IP}},type=veth \ --net1 name=admin,bridge=vmbr${ADMIN_BRIDGE},firewall=1${ADMIN_IP:+,ip=${ADMIN_IP}},type=veth \
--net2 name=lan,bridge=vmbr${LAN_BRIDGE},firewall=1${LAN_IP:+,ip=${LAN_IP}},type=veth \ --net2 name=lan,bridge=vmbr${LAN_BRIDGE},firewall=1${LAN_IP:+,ip=${LAN_IP}},type=veth \
--storage local-lvm \ --storage local-lvm \
--rootfs local-lvm:$DRIVE \ --rootfs local-lvm:0.5 \
--unprivileged 1 \ --unprivileged 1 \
${PCT_EXTRA} \ ${PCT_EXTRA} \
" "

View File

@ -24,10 +24,6 @@ source ../.pct-helpers
DFL_ID=${DFL_ID:=100} DFL_ID=${DFL_ID:=100}
DFL_CTHOSTNAME=${NS_HOSTNAME:=${DFL_CTHOSTNAME:=ns}} DFL_CTHOSTNAME=${NS_HOSTNAME:=${DFL_CTHOSTNAME:=ns}}
RAM=128
SWAP=$RAM
DRIVE=0.5
WAN_IP=- WAN_IP=-
WAN_GATE=- WAN_GATE=-
DFL_ADMIN_IP=${DFL_ADMIN_IP:=10.0.0.1/24} DFL_ADMIN_IP=${DFL_ADMIN_IP:=10.0.0.1/24}
@ -45,12 +41,12 @@ readVars
OPTS_STAGE_1="\ OPTS_STAGE_1="\
--hostname $CTHOSTNAME \ --hostname $CTHOSTNAME \
--memory $RAM \ --memory 128 \
--swap $SWAP \ --swap 128 \
--net0 name=lan,bridge=vmbr0,firewall=1${LAN_GATE:+,gw=$LAN_GATE}${LAN_IP:+,ip=$LAN_IP},type=veth \ --net0 name=lan,bridge=vmbr0,firewall=1${LAN_GATE:+,gw=$LAN_GATE}${LAN_IP:+,ip=$LAN_IP},type=veth \
--net1 name=admin,bridge=vmbr1,firewall=1${ADMIN_IP:+,ip=$ADMIN_IP},type=veth \ --net1 name=admin,bridge=vmbr1,firewall=1${ADMIN_IP:+,ip=$ADMIN_IP},type=veth \
--storage local-lvm \ --storage local-lvm \
--rootfs local-lvm:$DRIVE \ --rootfs local-lvm:0.5 \
--unprivileged 1 \ --unprivileged 1 \
${PCT_EXTRA} \ ${PCT_EXTRA} \
" "

View File

@ -1,87 +0,0 @@
#!/usr/bin/bash
#----------------------------------------------------------------------
cd $(dirname $0)
PATH=$PATH:$(dirname "$(pwd)")
#----------------------------------------------------------------------
source ../.pct-helpers
#----------------------------------------------------------------------
[ -e ../config.global ] \
&& source ../config.global
[ -e ./config ] \
&& source ./config
#----------------------------------------------------------------------
DFL_ID=${DFL_ID:=102}
DFL_CTHOSTNAME=${DFL_CTHOSTNAME:=ssh}
DFL_RAM=${DFL_RAM:=1024}
DFL_SWAP=${DFL_SWAP:=${DFL_RAM:=1024}}
DFL_DRIVE=${DFL_DRIVE:=16}
WAN_IP=-
WAN_GATE=-
ADMIN_IP=-
ADMIN_GATE=-
LAN_IP=-
LAN_GATE=-
REBOOT=${REBOOT:=1}
readVars
#----------------------------------------------------------------------
OPTS_STAGE_1="\
--hostname $CTHOSTNAME \
--memory $RAM \
--swap $SWAP \
--net0 name=lan,bridge=vmbr0,firewall=1,ip=dhcp,type=veth \
--net1 name=admin,bridge=vmbr1,firewall=1,ip=dhcp,type=veth \
--storage local-lvm \
--rootfs local-lvm:$DRIVE \
--unprivileged 1 \
${PCT_EXTRA} \
"
OPTS_STAGE_2="\
--startup order=90,up=10 \
--onboot 1 \
"
#----------------------------------------------------------------------
echo "# Creating CT..."
pctCreateDebian $ID "${OPTS_STAGE_1}" "$PASS"
echo "# Installing dependencies..."
@ lxc-attach $ID apt install vim htop iftop iotop tmux mc
echo "# Setup: user..."
xread "user name for ssh: " SSH_USER
[ -z $SSH_USER ] \
|| @ lxc-attach $ID -- adduser $SSH_USER
echo "# Post config..."
pctSet $ID "${OPTS_STAGE_2}" $REBOOT
echo "# Done."
#----------------------------------------------------------------------
# vim:set ts=4 sw=4 :

View File

@ -1,91 +0,0 @@
#!/usr/bin/bash
#----------------------------------------------------------------------
cd $(dirname $0)
PATH=$PATH:$(dirname "$(pwd)")
#----------------------------------------------------------------------
source ../.pct-helpers
#----------------------------------------------------------------------
[ -e ../config.global ] \
&& source ../config.global
[ -e ./config ] \
&& source ./config
#----------------------------------------------------------------------
DFL_ID=${DFL_ID:=301}
DFL_CTHOSTNAME=${DFL_CTHOSTNAME:=syncthing}
DFL_RAM=${DFL_RAM:=1024}
DFL_SWAP=${DFL_SWAP:=${DFL_RAM:=1024}}
DFL_DRIVE=${DFL_DRIVE:=8}
WAN_IP=-
WAN_GATE=-
ADMIN_IP=-
ADMIN_GATE=-
LAN_IP=-
LAN_GATE=-
REBOOT=${REBOOT:=1}
readVars
#----------------------------------------------------------------------
OPTS_STAGE_1="\
--hostname $CTHOSTNAME \
--memory $RAM \
--swap $SWAP \
--net0 name=lan,bridge=vmbr0,firewall=1,ip=dhcp,type=veth \
--net1 name=admin,bridge=vmbr1,firewall=1,ip=dhcp,type=veth \
--storage local-lvm \
--rootfs local-lvm:$DRIVE \
--unprivileged 1 \
${PCT_EXTRA} \
"
OPTS_STAGE_2="\
--startup order=90,up=10 \
--onboot 1 \
"
#----------------------------------------------------------------------
echo "# Creating CT..."
pctCreateAlpine $ID "${OPTS_STAGE_1}" "$PASS"
echo "# Installing dependencies..."
@ lxc-attach $ID apk add bash syncthing
echo "# Setup: syncthing..."
@ lxc-attach $ID rc-update add syncthing
@ lxc-attach $ID rc-service syncthing start
echo "# Setup: dashboard..."
sleep ${TIMEOUT:=5}
@ lxc-attach $ID -- \
sed \
-e 's/127\.0\.0\.1:8384/0.0.0.0:8384/g' \
-i /var/lib/syncthing/.config/syncthing/config.xml
echo "# Post config..."
pctSet $ID "${OPTS_STAGE_2}" $REBOOT
echo "# Done."
#----------------------------------------------------------------------
# vim:set ts=4 sw=4 :