diff --git a/conf/README.md b/conf/README.md
index 4a821a3..889863c 100644
--- a/conf/README.md
+++ b/conf/README.md
@@ -1 +1,239 @@
-# USE THIS FOLDER TO STORE YOUR OWN ZMB CONFIGS
\ No newline at end of file
+# USE THIS FOLDER TO STORE YOUR OWN ZMB CONFIGS
+# `zamba.conf` options reference
+This is the reference of all config options you can set in `zamba.conf`
+
+
+## Linux Container Section
+In this section all settings relevant for the LXC container.
+
+
+### LXC_TEMPLATE_STORAGE
+Defines the Proxmox storage where your LXC container template are stored (default: local)
+```bash
+LXC_TEMPLATE_STORAGE="local"
+```
+### LXC_ROOTFS_SIZE
+Defines the size in GB of the LXC container's root filesystem (default: 32)
+```bash
+LXC_ROOTFS_SIZE="32"
+```
+Depending on your environment, you should consider increasing the size for use of `mailpiler` or `matrix`.
+### LXC_ROOTFS_STORAGE
+Defines the Proxmox storage where your LXC container's root filesystem will be generated (default: local-zfs)
+```bash
+LXC_ROOTFS_STORAGE="local-zfs"
+```
+### LXC_SHAREFS_SIZE
+Defines the size in GB your LXC container's filesystem shared by Zamba (AD member & standalone) (default: 100)
+```bash
+LXC_SHAREFS_SIZE="100"
+```
+### LXC_SHAREFS_STORAGE
+Defines the Proxmox storage where your LXC container's filesystem shared by Zamba will be generated (default: local-zfs)
+```bash
+LXC_SHAREFS_STORAGE="local-zfs"
+```
+### LXC_SHAREFS_MOUNTPOINT
+Defines the mountpoint of the filesystem shared by Zamba inside your LXC container (default: tank)
+```bash
+LXC_SHAREFS_MOUNTPOINT="tank"
+```
+### LXC_MEM
+Defines the amount of RAM in MB your LXC container is allowed to use (default: 1024)
+```bash
+LXC_MEM="1024"
+```
+### LXC_SWAP
+Defines the amount of swap space in MB your LXC container is allowed to use (default: 1024)
+```bash
+LXC_SWAP="1024"
+```
+### LXC_HOSTNAME
+Defines the hostname of your LXC container
+```bash
+LXC_HOSTNAME="${service}.zmbrocks"
+```
+### LXC_DOMAIN
+Defines the domain name / search domain of your LXC container
+```bash
+LXC_DOMAIN="zmb.rocks"
+```
+### LXC_DHCP
+Enable DHCP on LAN (eth0) - (Obtain an IP address automatically) [true/false]
+```bash
+LXC_DHCP=false
+```
+### LXC_IP
+Defines the local IP address and subnet of your LXC container in CIDR format
+```bash
+LXC_IP="10.10.80.20/24"
+```
+### LXC_GW
+Defines the default gateway IP address of your LXC container
+```bash
+LXC_GW="10.10.80.254"
+```
+### LXC_DNS
+Defines the DNS server ip address of your LXC container
+```bash
+LXC_DNS="10.10.80.254"
+```
+`zmb-ad` used this DNS server for installation, after installation and domain provisioning it will be used as forwarding DNS
+For other services this should be your active directory domain controller (if present, else a DNS server of your choice)
+### LXC_BRIDGE
+Defines the network bridge to bind the network adapter of your LXC container
+```bash
+LXC_BRIDGE="vmbr0"
+```
+### LXC_VLAN
+Defines the vlan id of the LXC container's network interface, if the network adapter should be connected untagged, just leave the value empty.
+```bash
+LXC_VLAN="80"
+```
+### LXC_PWD
+Defines the `root` password of your LXC container. Please use 'single quotation marks' to avoid unexpected behaviour.
+```bash
+LXC_PWD="S3cr3tp@ssw0rd"
+```
+### LXC_AUTHORIZED_KEY
+Defines an authorized_keys file to push into the LXC container.
+By default the authorized_keys will be inherited from your proxmox host.
+```bash
+LXC_AUTHORIZED_KEY="/root/.ssh/authorized_keys"
+```
+### LXC_TOOLSET
+Define your (administrative) tools, you always want to have installed into your LXC container
+```bash
+LXC_TOOLSET="vim htop net-tools dnsutils sysstat mc"
+```
+### LXC_TIMEZONE
+Define the local timezone of your LXC container (default: Euroe/Berlin)
+```bash
+LXC_TIMEZONE="Europe/Berlin"
+```
+### LXC_LOCALE
+Define system language on LXC container (locales)
+With this paramater you can generate additional locales, the default language will be inherited from proxmox host.
+```bash
+LXC_LOCALE="en_US.UTF-8""
+```
+### Set dark background for vim syntax highlighting (0 or 1)
+```bash
+LXC_VIM_BG_DARK=1
+```
+
+## Zamba Server Section
+This section configures the Zamba server (AD DC, AD member and standalone)
+
+
+### ZMB_REALM
+Defines the REALM for the Active Directory (AD DC, AD member)
+```bash
+ZMB_REALM="ZMB.ROCKS"
+```
+### ZMB_DOMAIN
+Defines the domain name in your Active Directory or Workgroup (AD DC, AD member, standalone)
+```bash
+ZMB_DOMAIN="ZMB"
+```
+### ZMB_ADMIN_USER
+Defines the name of your domain administrator account (AD DC, AD member, standalone)
+```bash
+ZMB_ADMIN_USER="Administrator"
+```
+### ZMB_ADMIN_PASS
+Defines the domain administrator's password (AD DC, AD member).
+```bash
+ZMB_ADMIN_PASS='1c@nd0@nyth1n9'
+```
+Please use 'single quotation marks' to avoid unexpected behaviour.
+`zmb-ad` domain administrator has to meet the password complexity policy, if password is too weak, domain provisioning will fail.
+### ZMB_SHARE
+Defines the name of your Zamba share
+```bash
+ZMB_SHARE="share"
+```
+
+
+## Mailpiler section
+This section configures the mailpiler email archive
+
+
+### PILER_FQDN
+Defines the (public) FQDN of your piler mail archive
+```bash
+PILER_FQDN="piler.zmb.rocks"
+```
+### PILER_SMARTHOST
+Defines the smarthost for piler mail archive
+```bash
+PILER_SMARTHOST="10.10.80.20"
+```
+
+
+## Matrix section
+This section configures the matrix chat server
+
+
+### MATRIX_FQDN
+Define the FQDN of your Matrix server
+```bash
+MATRIX_FQDN="matrix.zmb.rocks"
+```
+
+### MATRIX_ELEMENT_FQDN
+Define the FQDN for the Element Web virtual host
+```bash
+MATRIX_ELEMENT_FQDN="element.zmb.rocks"
+```
+### MATRIX_ELEMENT_VERSION
+Define the version of Element Web
+```bash
+MATRIX_ELEMENT_VERSION="v1.7.24"
+```
+
+## Nextcloud Section
+This section configures the nextcloud server
+
+
+### Define the FQDN of your Nextcloud server
+```bash
+NEXTCLOUD_FQDN="nc1.zmb.rocks"
+```
+
+### The initial admin-user which will be configured
+```bash
+NEXTCLOUD_ADMIN_USR="zmb-admin"
+```
+
+### Build a strong password for this user. Username and password will shown at the end of the instalation.
+```bash
+NEXTCLOUD_ADMIN_PWD="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"
+```
+### Defines the data directory, which will be createt under LXC_SHAREFS_MOUNTPOINT
+```bash
+NEXTCLOUD_DATA="nc_data"
+```
+### Defines the trusted reverse proxy, which will enable the detection of source ip to fail2ban
+```bash
+NEXTCLOUD_REVPROX="192.168.100.254"
+```
+## Check_MK Section
+This section configures the checkmk server
+
+
+### Define the name of your checkmk instance
+```bash
+CMK_INSTANCE=zmbrocks
+```
+
+### Define the password of user 'cmkadmin'
+```bash
+CMK_ADMIN_PW='Ju5t@n0thers3cur3p@ssw0rd'
+```
+### checkmk edition (raw or free)
+#### raw = completely free
+#### free = limited version of the enterprise edition (25 hosts, 1 instance)
+```bash
+CMK_EDITION=raw
+```
diff --git a/conf/zamba.conf.example b/conf/zamba.conf.example
index 9bd2691..2885a7e 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}"
# Defines the domain name / search domain of your LXC container
LXC_DOMAIN="zmb.rocks"
@@ -73,8 +73,10 @@ LXC_TOOLSET="vim htop net-tools dnsutils sysstat mc"
LXC_TIMEZONE="Europe/Berlin"
# Define system language on LXC container (locales)
-# With thi paramater you can generate additional locales, the default language will be inherited from proxmox host.
-LXC_LOCALE="en_US.UTF-8"
+# With this paramater you can generate additional locales, the default language will be inherited from proxmox host.
+# en_US.UTF-8 english
+# de_DE.UTF-8 german (default)
+LXC_LOCALE="de_DE.UTF-8"
# Set dark background for vim syntax highlighting (0 or 1)
LXC_VIM_BG_DARK=1
@@ -112,7 +114,7 @@ MATRIX_ELEMENT_FQDN="element.zmb.rocks"
############### Nextcloud-Section ###############
-# Define the FQDN of your Matrix server
+# Define the FQDN of your Nextcloud server
NEXTCLOUD_FQDN="nc1.zmb.rocks"
# The initial admin-user which will be configured
diff --git a/install.sh b/install.sh
index a903d14..b0b58e6 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)
@@ -126,7 +149,10 @@ sleep 2;
# Check vlan configuration
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 -ge 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
@@ -159,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
diff --git a/zamba.conf.md b/zamba.conf.md
deleted file mode 100644
index a4c3114..0000000
--- a/zamba.conf.md
+++ /dev/null
@@ -1,214 +0,0 @@
-# `zamba.conf` options reference
-This is the reference of all config options you can set in `zamba.conf`
-
-
-## Linux Container Section
-In this section all settings relevant for the LXC container.
-
-
-### LXC_TEMPLATE_STORAGE
-Defines the Proxmox storage where your LXC container template are stored (default: local)
-```bash
-LXC_TEMPLATE_STORAGE="local"
-```
-### LXC_ROOTFS_SIZE
-Defines the size in GB of the LXC container's root filesystem (default: 32)
-```bash
-LXC_ROOTFS_SIZE="32"
-```
-Depending on your environment, you should consider increasing the size for use of `mailpiler` or `matrix`.
-### LXC_ROOTFS_STORAGE
-Defines the Proxmox storage where your LXC container's root filesystem will be generated (default: local-zfs)
-```bash
-LXC_ROOTFS_STORAGE="local-zfs"
-```
-### LXC_SHAREFS_SIZE
-Defines the size in GB your LXC container's filesystem shared by Zamba (AD member & standalone) (default: 100)
-```bash
-LXC_SHAREFS_SIZE="100"
-```
-### LXC_SHAREFS_STORAGE
-Defines the Proxmox storage where your LXC container's filesystem shared by Zamba will be generated (default: local-zfs)
-```bash
-LXC_SHAREFS_STORAGE="local-zfs"
-```
-### LXC_SHAREFS_MOUNTPOINT
-Defines the mountpoint of the filesystem shared by Zamba inside your LXC container (default: tank)
-```bash
-LXC_SHAREFS_MOUNTPOINT="tank"
-```
-### LXC_MEM
-Defines the amount of RAM in MB your LXC container is allowed to use (default: 1024)
-```bash
-LXC_MEM="1024"
-```
-### LXC_SWAP
-Defines the amount of swap space in MB your LXC container is allowed to use (default: 1024)
-```bash
-LXC_SWAP="1024"
-```
-### LXC_HOSTNAME
-Defines the hostname of your LXC container
-```bash
-LXC_SWAP="zamba"
-```
-### LXC_DOMAIN
-Defines the domain name / search domain of your LXC container
-```bash
-LXC_DOMAIN="zmb.rocks"
-```
-### LXC_DHCP
-Enable DHCP on LAN (eth0) - (Obtain an IP address automatically) [true/false]
-```bash
-LXC_DHCP=false
-```
-### LXC_IP
-Defines the local IP address and subnet of your LXC container in CIDR format
-```bash
-LXC_IP="10.10.80.20/24"
-```
-### LXC_GW
-Defines the default gateway IP address of your LXC container
-```bash
-LXC_GW="10.10.80.254"
-```
-### LXC_DNS
-Defines the DNS server ip address of your LXC container
-```bash
-LXC_DNS="10.10.80.254"
-```
-`zmb-ad` used this DNS server for installation, after installation and domain provisioning it will be used as forwarding DNS
-For other services this should be your active directory domain controller (if present, else a DNS server of your choice)
-### LXC_BRIDGE
-Defines the network bridge to bind the network adapter of your LXC container
-```bash
-LXC_BRIDGE="vmbr0"
-```
-### LXC_VLAN
-Defines the vlan id of the LXC container's network interface, if the network adapter should be connected untagged, just leave the value empty.
-```bash
-LXC_VLAN="80"
-```
-### LXC_PWD
-Defines the `root` password of your LXC container. Please use 'single quotation marks' to avoid unexpected behaviour.
-```bash
-LXC_PWD="S3cr3tp@ssw0rd"
-```
-### LXC_AUTHORIZED_KEY
-Defines an authorized_keys file to push into the LXC container.
-By default the authorized_keys will be inherited from your proxmox host.
-```bash
-LXC_AUTHORIZED_KEY="/root/.ssh/authorized_keys"
-```
-### LXC_TOOLSET
-Define your (administrative) tools, you always want to have installed into your LXC container
-```bash
-LXC_TOOLSET="vim htop net-tools dnsutils mc sysstat lsb-release curl git gnupg2 apt-transport-https"
-```
-### LXC_TIMEZONE
-Define the local timezone of your LXC container (default: Euroe/Berlin)
-```bash
-LXC_TIMEZONE="Europe/Berlin"
-```
-### LXC_LOCALE
-Define system language on LXC container (locales)
-```bash
-LXC_LOCALE="de_DE.utf8"
-```
-This parameter is not used yet, but will be integrated in future releases.
-
-
-## Zamba Server Section
-This section configures the Zamba server (AD DC, AD member and standalone)
-
-
-### ZMB_REALM
-Defines the REALM for the Active Directory (AD DC, AD member)
-```bash
-ZMB_REALM="ZMB.ROCKS"
-```
-### ZMB_DOMAIN
-Defines the domain name in your Active Directory or Workgroup (AD DC, AD member, standalone)
-```bash
-ZMB_DOMAIN="ZMB"
-```
-### ZMB_DNS_BACKEND
-Defines the desired DNS server backend, supported are `SAMBA_INTERNAL` and `BIND9_DLZ` for more advanced usage
-```bash
-ZMB_DNS_BACKEND="SAMBA_INTERNAL"
-```
-### ZMB_ADMIN_USER
-Defines the name of your domain administrator account (AD DC, AD member, standalone)
-```bash
-ZMB_ADMIN_USER="Administrator"
-```
-### ZMB_ADMIN_PASS
-Defines the domain administrator's password (AD DC, AD member).
-```bash
-ZMB_ADMIN_PASS='1c@nd0@nyth1n9'
-```
-Please use 'single quotation marks' to avoid unexpected behaviour.
-`zmb-ad` domain administrator has to meet the password complexity policy, if password is too weak, domain provisioning will fail.
-### ZMB_SHARE
-Defines the name of your Zamba share
-```bash
-ZMB_SHARE="share"
-```
-
-
-## Mailpiler section
-This section configures the mailpiler email archive
-
-
-### PILER_FQDN
-Defines the (public) FQDN of your piler mail archive
-```bash
-PILER_FQDN="piler.zmb.rocks"
-```
-### PILER_SMARTHOST
-Defines the smarthost for piler mail archive
-```bash
-PILER_SMARTHOST="10.10.80.20"
-```
-### PILER_VERSION
-Defines the version number of piler mail archive to install
-```bash
-PILER_VERSION="1.3.10"
-```
-### PILER_SPHINX_VERSION
-Defines the version of sphinx to install
-```bash
-PILER_SPHINX_VERSION="3.3.1"
-```
-### PILER_PHP_VERSION
-Defines the php version to install
-```bash
-PILER_PHP_VERSION="7.4"
-```
-
-
-## Matrix section
-This section configures the matrix chat server
-
-
-### MATRIX_FQDN
-Define the FQDN of your Matrix server
-```bash
-MATRIX_FQDN="matrix.zmb.rocks"
-```
-
-### MATRIX_ELEMENT_FQDN
-Define the FQDN for the Element Web virtual host
-```bash
-MATRIX_ELEMENT_FQDN="element.zmb.rocks"
-```
-### MATRIX_ELEMENT_VERSION
-Define the version of Element Web
-```bash
-MATRIX_ELEMENT_VERSION="v1.7.24"
-```
-### MATRIX_JITSI_FQDN
-Define the FQDN for the Jitsi Meet virtual host
-```bash
-MATRIX_JITSI_FQDN="meet.zmb.rocks"
-```
\ No newline at end of file