mirror of
https://github.com/flynx/proxmox-utils.git
synced 2025-12-25 12:52: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}"
|
||||
}
|
||||
|
||||
#
|
||||
# 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
|
||||
@ -231,11 +213,6 @@ readVars(){
|
||||
xread "ID: " ID
|
||||
xread "Hostname: " CTHOSTNAME
|
||||
|
||||
# hardware...
|
||||
xread "RAM (MB): " RAM
|
||||
xread "SWAP (MB): " SWAP
|
||||
xread "DRIVE (GB): " DRIVE
|
||||
|
||||
# bridge config...
|
||||
xread "WAN bridge: vmbr" WAN_BRIDGE
|
||||
xread "LAN bridge: vmbr" LAN_BRIDGE
|
||||
@ -258,8 +235,17 @@ readVars(){
|
||||
|
||||
# root password...
|
||||
if [ -z $ROOTPASS ] ; then
|
||||
xreadpass PASS \
|
||||
|| exit 1
|
||||
read -sep "root password (Enter to skip): " PASS1
|
||||
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
|
||||
PASS=$ROOTPASS
|
||||
fi
|
||||
@ -335,7 +321,7 @@ pctCreate(){
|
||||
}
|
||||
|
||||
#
|
||||
# pctCreate<distro> ID ARGS [PASS]
|
||||
# pctCreate ID ARGS [PASS]
|
||||
#
|
||||
pctCreateAlpine(){
|
||||
local TEMPLATE
|
||||
@ -343,33 +329,9 @@ pctCreateAlpine(){
|
||||
|
||||
pctCreate $1 "$TEMPLATE" "$2" "$3"
|
||||
|
||||
sleep ${TIMEOUT:=5}
|
||||
|
||||
@ lxc-attach $1 apk update
|
||||
@ 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:
|
||||
$@/make.sh
|
||||
|
||||
.PHONY: ssh
|
||||
ssh:
|
||||
$@/make.sh
|
||||
|
||||
.PHONY: syncthing
|
||||
syncthing:
|
||||
$@/make.sh
|
||||
|
||||
|
||||
.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_CTHOSTNAME=${GATE_HOSTNAME:=${DFL_CTHOSTNAME:=gate}}
|
||||
|
||||
RAM=128
|
||||
SWAP=$RAM
|
||||
DRIVE=0.5
|
||||
|
||||
DFL_WAN_IP=${DFL_WAN_IP}
|
||||
DFL_WAN_GATE=${DFL_WAN_GATE}
|
||||
|
||||
@ -45,13 +41,13 @@ readVars
|
||||
|
||||
OPTS_STAGE_1="\
|
||||
--hostname $CTHOSTNAME \
|
||||
--memory $RAM \
|
||||
--swap $SWAP \
|
||||
--memory 128 \
|
||||
--swap 128 \
|
||||
--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 \
|
||||
--net2 name=lan,bridge=vmbr${LAN_BRIDGE},firewall=1${LAN_IP:+,ip=${LAN_IP}},type=veth \
|
||||
--storage local-lvm \
|
||||
--rootfs local-lvm:$DRIVE \
|
||||
--rootfs local-lvm:0.5 \
|
||||
--unprivileged 1 \
|
||||
${PCT_EXTRA} \
|
||||
"
|
||||
|
||||
10
ns/make.sh
10
ns/make.sh
@ -24,10 +24,6 @@ source ../.pct-helpers
|
||||
DFL_ID=${DFL_ID:=100}
|
||||
DFL_CTHOSTNAME=${NS_HOSTNAME:=${DFL_CTHOSTNAME:=ns}}
|
||||
|
||||
RAM=128
|
||||
SWAP=$RAM
|
||||
DRIVE=0.5
|
||||
|
||||
WAN_IP=-
|
||||
WAN_GATE=-
|
||||
DFL_ADMIN_IP=${DFL_ADMIN_IP:=10.0.0.1/24}
|
||||
@ -45,12 +41,12 @@ readVars
|
||||
|
||||
OPTS_STAGE_1="\
|
||||
--hostname $CTHOSTNAME \
|
||||
--memory $RAM \
|
||||
--swap $SWAP \
|
||||
--memory 128 \
|
||||
--swap 128 \
|
||||
--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 \
|
||||
--storage local-lvm \
|
||||
--rootfs local-lvm:$DRIVE \
|
||||
--rootfs local-lvm:0.5 \
|
||||
--unprivileged 1 \
|
||||
${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