mirror of
https://github.com/flynx/proxmox-utils.git
synced 2025-12-25 21:02:04 +00:00
Compare commits
No commits in common. "443e48e051e2a789a35354df07eee779c40da19b" and "2b8ccd768866ed918f024cb6616338a250bfd95d" have entirely different histories.
443e48e051
...
2b8ccd7688
62
.pct-helpers
62
.pct-helpers
@ -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
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
10
Makefile
10
Makefile
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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} \
|
||||||
"
|
"
|
||||||
|
|||||||
10
ns/make.sh
10
ns/make.sh
@ -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} \
|
||||||
"
|
"
|
||||||
|
|||||||
87
ssh/make.sh
87
ssh/make.sh
@ -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 :
|
|
||||||
|
|
||||||
|
|
||||||
@ -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 :
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user