From 05c16f737fee2bd6a9a87049d8a090c6ade6a2ce Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Fri, 5 Jan 2024 22:52:36 +0300 Subject: [PATCH] added syncthing... Signed-off-by: Alex A. Naanou --- .pct-helpers | 26 +++++++++++++- syncthing/make.sh | 89 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 syncthing/make.sh diff --git a/.pct-helpers b/.pct-helpers index 4ad6e65..1b5f203 100644 --- a/.pct-helpers +++ b/.pct-helpers @@ -321,7 +321,7 @@ pctCreate(){ } # -# pctCreate ID ARGS [PASS] +# pctCreate ID ARGS [PASS] # pctCreateAlpine(){ local TEMPLATE @@ -329,9 +329,33 @@ pctCreateAlpine(){ pctCreate $1 "$TEMPLATE" "$2" "$3" + sleep ${TIMEOUT:=5} + @ lxc-attach $1 apk update @ lxc-attach $1 apk upgrade } +pctCreateDebian(){ + local TEMPLATE + getLatestTemplate debian TEMPLATE + + pctCreate $1 "$TEMPLATE" "$2" "$3" + + sleep ${TIMEOUT:=5} + + @ lxc-attach $1 apt update + @ lxc-attach $1 apt upgrade +} +pctCreateUbuntu(){ + local TEMPLATE + getLatestTemplate ubuntu TEMPLATE + + pctCreate $1 "$TEMPLATE" "$2" "$3" + + sleep ${TIMEOUT:=5} + + @ lxc-attach $1 apt update + @ lxc-attach $1 apt upgrade +} # diff --git a/syncthing/make.sh b/syncthing/make.sh new file mode 100644 index 0000000..b0af81c --- /dev/null +++ b/syncthing/make.sh @@ -0,0 +1,89 @@ +#!/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:=100} +DFL_CTHOSTNAME=${NS_HOSTNAME:=${DFL_CTHOSTNAME:=ns}} + +WAN_IP=- +WAN_GATE=- +ADMIN_IP=- +ADMIN_GATE=- +DFL_LAN_IP=- +DFL_LAN_GATE=- + +REBOOT=${REBOOT:=1} + +readVars + + +#---------------------------------------------------------------------- + +OPTS_STAGE_1="\ + --hostname $CTHOSTNAME \ + --memory 512 \ + --swap 512 \ + --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:0.5 \ + --unprivileged 1 \ + ${PCT_EXTRA} \ +" + +OPTS_STAGE_2="\ + --startup order=90,up=10 \ + --onboot 1 \ +" + + +#---------------------------------------------------------------------- + +echo "# Building config..." +buildAssets "$TEMPLATE_DIR" "$ASSETS_DIR" + +echo "# Creating CT..." +pctCreateAlpine $ID "${OPTS_STAGE_1}" "$PASS" + +echo "# Installing dependencies..." +@ lxc-attach $ID apk add bash syncthing + +echo "# Copying assets..." +@ pct-push-r $ID ./assets / + +echo "# Setup: dnsmasq..." +@ lxc-attach $ID rc-update add syncthing +@ 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 +@ lxc-attach $ID rc-service syncthing start + +echo "# Post config..." +pctSet $ID "${OPTS_STAGE_2}" $REBOOT + +echo "# Done." + + + +#---------------------------------------------------------------------- +# vim:set ts=4 sw=4 : +