diff --git a/conf/zamba.conf.example b/conf/zamba.conf.example index 1e20320..5e62dc1 100644 --- a/conf/zamba.conf.example +++ b/conf/zamba.conf.example @@ -34,7 +34,7 @@ LXC_MEM="1024" LXC_SWAP="1024" # Defines the hostname of your LXC container -LXC_HOSTNAME="zamba" +LXC_HOSTNAME="${service}.zmbrocks" # Defines the domain name / search domain of your LXC container LXC_DOMAIN="zmb.rocks" diff --git a/install.sh b/install.sh index acb71ba..245cf78 100644 --- a/install.sh +++ b/install.sh @@ -53,6 +53,27 @@ shift $((OPTIND-1)) echo "Loading config file '$config'..." source $config +# Check config Settings +echo "Check Setting 'Timezone'" +if [[ $LXC_TIMEZONE != $(timedatectl list-timezones | grep $LXC_TIMEZONE) ]]; then + echo "Unknown LXC_TIMEZONE setting (list available Timezones 'timedatectl list-timezones')"; exit 0 +fi +echo "Check Setting 'Template Storage'" +pvstorage=$(pvesh get storage --noborder --noheader); +if [[ $LXC_TEMPLATE_STORAGE != $(echo "$pvstorage" | grep $LXC_TEMPLATE_STORAGE$) ]]; then + echo "Unknown LXC_TEMPLATE_STORAGE, please check your storage name"; exit 0 +fi +echo "Check Setting 'Rootfs Storage'" +if [[ $LXC_ROOTFS_STORAGE != $(echo "$pvstorage" | grep $LXC_ROOTFS_STORAGE$) ]]; then + echo "Unknown LXC_ROOTFS_STORAGE, please check your storage name"; exit 0 +fi +echo "Check Setting 'Sharefs Storage'" +if [[ $LXC_SHAREFS_STORAGE != $(echo "$pvstorage" | grep $LXC_SHAREFS_STORAGE$) ]]; then + echo "Unknown LXC_SHAREFS_STORAGE, please check your storage name"; exit 0 +fi +echo -e "Settings \e[0;92mOK\e[0m" + + OPTS=$(ls -d $PWD/src/*/ | grep -v __ | xargs basename -a) valid=0 @@ -90,9 +111,11 @@ if [[ "$valid" != "1" ]]; then usage 1 fi +source $config source $PWD/src/$service/constants-service.conf +LXC_HOSTNAME="${LXC_HOSTNAME/-/}" -# CHeck is the newest template available, else download it. +# Check is the newest template available, else download it. DEB_LOC=$(pveam list $LXC_TEMPLATE_STORAGE | grep debian-10-standard | cut -d'_' -f2) DEB_REP=$(pveam available --section system | grep debian-10-standard | cut -d'_' -f2) @@ -124,13 +147,12 @@ pct create $LXC_NBR -unprivileged $LXC_UNPRIVILEGED $LXC_TEMPLATE_STORAGE:vztmpl sleep 2; # Check vlan configuration -if [[ $LXC_VLAN != "" ]];then - VLAN=",tag=$LXC_VLAN" -else - VLAN="" -fi +if [[ $LXC_VLAN != "" ]];then VLAN=",tag=$LXC_VLAN"; else VLAN=""; fi # Reconfigure conatiner -pct set $LXC_NBR -memory $LXC_MEM -swap $LXC_SWAP -hostname $LXC_HOSTNAME -onboot 1 -timezone $LXC_TIMEZONE -features nesting=$LXC_NESTING; +PVE_VER=$(pveversion | grep 'pve-manager' | cut -d'/' -f2 | sed 's/[^0-9]//g') +pct set $LXC_NBR -memory $LXC_MEM -swap $LXC_SWAP -hostname $LXC_HOSTNAME -onboot 1 -features nesting=$LXC_NESTING; +# timezone switch added in Version 6.3 +if [ $PVE_VER -gt 630 ];then pct set $LXC_NBR -timezone $LXC_TIMEZONE;fi if [ $LXC_DHCP == true ]; then pct set $LXC_NBR -net0 name=eth0,bridge=$LXC_BRIDGE,ip=dhcp,type=veth$VLAN; else @@ -163,8 +185,14 @@ lxc-attach -n$LXC_NBR bash /root/lxc-base.sh echo "Install '$service'!" lxc-attach -n$LXC_NBR bash /root/install-service.sh +summary=$(pct exec $LXC_NBR -- bash -c '[ -f /root/summary ] && cat /root/summary') +if [[ $summary != "" ]];then pct set $LXC_NBR --description="$(echo -e "$summary")"; fi + if [[ $service == "zmb-ad" ]]; then pct stop $LXC_NBR pct set $LXC_NBR \-nameserver $(echo $LXC_IP | cut -d'/' -f 1) pct start $LXC_NBR fi + +# timezone switch added in Version 6.3 +if [ $PVE_VER -lt 630 ]; then echo "echo "$LXC_TIMEZONE" > /etc/timezone" | pct enter $LXC_NBR; fi \ No newline at end of file diff --git a/src/matrix/constants-service.conf b/src/matrix/constants-service.conf index a8136ea..57a6fe2 100644 --- a/src/matrix/constants-service.conf +++ b/src/matrix/constants-service.conf @@ -17,4 +17,4 @@ LXC_UNPRIVILEGED="1" LXC_NESTING="0" # Define the version of Element Web -MATRIX_ELEMENT_VERSION="v1.7.25" +MATRIX_ELEMENT_VERSION="v1.7.34" diff --git a/src/nextcloud/install-service.sh b/src/nextcloud/install-service.sh index 870263c..fd9ab14 100644 --- a/src/nextcloud/install-service.sh +++ b/src/nextcloud/install-service.sh @@ -410,7 +410,10 @@ bash /$LXC_SHAREFS_MOUNTPOINT/$NEXTCLOUD_DATA/config_nextcloud.sh EOF echo "*/5 * * * * www-data /usr/bin/php -f /var/www/nextcloud/cron.php > /dev/null 2>&1" > /etc/cron.d/nextcloud -echo -e "\n######################################################################\n\n Please note this user and password for the nextcloud login:\n '$NEXTCLOUD_ADMIN_USR' / '$NEXTCLOUD_ADMIN_PWD'\n Enjoy your Nextcloud intallation.\n\n######################################################################" +echo "\n\n" +echo "######################################################################\n\n Please note this user and password for the nextcloud login:\n '$NEXTCLOUD_ADMIN_USR' / '$NEXTCLOUD_ADMIN_PWD'\n Enjoy your Nextcloud intallation.\n\n######################################################################" > /root/summary +echo -e "$(cat /root/summary)" + systemctl stop nginx php$NEXTCLOUD_PHP_VERSION-fpm systemctl restart postgresql php$NEXTCLOUD_PHP_VERSION-fpm redis-server nginx diff --git a/src/open3a/install-service.sh b/src/open3a/install-service.sh index 00c5cc8..39bced0 100644 --- a/src/open3a/install-service.sh +++ b/src/open3a/install-service.sh @@ -52,4 +52,7 @@ chmod +x /etc/cron.daily/open3a-backup systemctl enable --now php7.3-fpm systemctl restart nginx -echo -e "Your open3a installation is now complete. Please continue with setup in your Browser:\nURL:\t\thttp://$LXC_IP\nLogin:\t\tAdmin\nPassword:\tAdmin\n\nMysql-Settings:\nServer:\t\tlocalhost\nUser:\t\topen3a\nPassword:\t$MYSQL_PASSWORD\nDatabase:\topen3a" \ No newline at end of file +echo "Your open3a installation is now complete. Please continue with setup in your Browser:\nURL:\t\thttp://$LXC_IP\nLogin:\t\tAdmin\nPassword:\tAdmin\n\nMysql-Settings:\nServer:\t\tlocalhost\nUser:\t\topen3a\nPassword:\t$MYSQL_PASSWORD\nDatabase:\topen3a" > /root/summary +echo -e "$(cat /root/summary)" + +exit 0 \ No newline at end of file