#!/bin/sh if [ "$SERVICE_DIR" == "" ]; then SERVICE_DIR="/etc/user/config/services"; fi; GIT_REPO=$GIT_REPO if [ "$GIT_REPO" == "" ]; then GIT_REPO=git.format.hu fi ORGANIZATION=$ORGANIZATION if [ "$ORGANIZATION" == "" ]; then ORGANIZATION=format fi if [[ "$NEXTCLOUD" == "yes" ]]; then echo "Nextcloud install has started from ssh://$GIT_REPO/$ORGANIZATION/nextcloud.git"; DB_MYSQL="$(echo $RANDOM | md5sum | head -c 8)"; DB_USER="$(echo $RANDOM | md5sum | head -c 8)"; DB_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; DB_ROOT_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; git clone ssh://$GIT_REPO/$ORGANIZATION/nextcloud.git /tmp/nextcloud; sed -i "s/DOMAIN_NAME/$NEXTCLOUD_DOMAIN/g" /tmp/nextcloud/nextcloud-secret.json; sed -i "s/USERNAME/$NEXTCLOUD_USERNAME/g" /tmp/nextcloud/nextcloud-secret.json; sed -i "s/USER_PASSWORD/$NEXTCLOUD_PASSWORD/g" /tmp/nextcloud/nextcloud-secret.json; sed -i "s/DB_MYSQL/$DB_MYSQL/g" /tmp/nextcloud/nextcloud-secret.json; sed -i "s/DB_USER/$DB_USER/g" /tmp/nextcloud/nextcloud-secret.json; sed -i "s/DB_PASSWORD/$DB_PASSWORD/g" /tmp/nextcloud/nextcloud-secret.json; sed -i "s/DB_ROOT_PASSWORD/$DB_ROOT_PASSWORD/g" /tmp/nextcloud/nextcloud-secret.json; sed -i "s/DOMAIN_NAME/$NEXTCLOUD_DOMAIN/g" /tmp/nextcloud/domain-nextcloud.json cp -rv /tmp/nextcloud/nextcloud-secret.json /etc/user/secret/nextcloud.json; cp -rv /tmp/nextcloud/nextcloud.json $SERVICE_DIR/nextcloud.json; cp -rv /tmp/nextcloud/domain-nextcloud.json $SERVICE_DIR/domain-nextcloud.json; cp -rv /tmp/nextcloud/firewall-nextcloud.json $SERVICE_DIR/firewall-nextcloud.json; cp -rv /tmp/nextcloud/firewall-nextcloud-server-dns.json $SERVICE_DIR/firewall-nextcloud-server-dns.json; cp -rv /tmp/nextcloud/firewall-nextcloud-server-smtp.json $SERVICE_DIR/firewall-nextcloud-server-smtp.json; fi; if [[ "$BITWARDEN" == "yes" ]]; then echo "Bitwarden install has started from ssh://$GIT_REPO/$ORGANIZATION/bitwarden.git"; git clone ssh://$GIT_REPO/$ORGANIZATION/bitwarden.git /tmp/bitwarden sed -i "s/DOMAIN_NAME/$BITWARDEN_DOMAIN/g" /tmp/bitwarden/domain-bitwarden.json BITWARDEN_TOKEN=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' |head -c 48); DB_MYSQL="$(echo $RANDOM | md5sum | head -c 8)"; DB_USER="$(echo $RANDOM | md5sum | head -c 8)"; DB_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; DB_ROOT_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; BITWARDEN_DOMAIN="https://$BITWARDEN_DOMAIN"; echo "Your admin token is: $ADMIN_TOKEN"; sed -i "s/DB_MYSQL/$DB_MYSQL/g" /tmp/bitwarden/bitwarden-secret.json; sed -i "s/DB_USER/$DB_USER/g" /tmp/bitwarden/bitwarden-secret.json; sed -i "s/DB_PASSWORD/$DB_PASSWORD/g" /tmp/bitwarden/bitwarden-secret.json; sed -i "s/DB_ROOT_PASSWORD/$DB_ROOT_PASSWORD/g" /tmp/bitwarden/bitwarden-secret.json; sed -i "s#DOMAIN_NAME#$BITWARDEN_DOMAIN#g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/BITWARDEN_TOKEN/$BITWARDEN_TOKEN/g" /tmp/bitwarden/bitwarden-secret.json if [ "$SMTP_SERVER" == "1" ]; then SMTP_HOST="smtp.gmail.com"; SMTP_PORT="587"; SMTP_SECURITY="starttls"; elif [ "$SMTP_SERVER" == "2" ]; then SMTP_HOST="smtp-mail.outlook.com"; SMTP_PORT="587"; SMTP_SECURITY="starttls"; SMTP_AUTH_MECHANISM="Login"; fi; sed -i "s/SMTPHOST/$SMTP_HOST/g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/SMTPPORT/$SMTP_PORT/g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/SMTPSECURITY/$SMTP_SECURITY/g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/SMTPFROM/$SMTP_FROM/g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/SMTPUSERNAME/$SMTP_USERNAME/g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/SMTPPASSWORD/$SMTP_PASSWORD/g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/SMTPAUTHMECHANISM/$SMTP_AUTH_MECHANISM/g" /tmp/bitwarden/bitwarden-secret.json sed -i "s/DOMAINSWHITELIST/$DOMAINS_WHITELIST/g" /tmp/bitwarden/bitwarden-secret.json cp -rv /tmp/bitwarden/bitwarden-secret.json /etc/user/secret/bitwarden.json; cp -rv /tmp/bitwarden/bitwarden.json $SERVICE_DIR/bitwarden.json; cp -rv /tmp/bitwarden/domain-bitwarden.json $SERVICE_DIR/domain-bitwarden.json; cp -rv /tmp/bitwarden/firewall-bitwarden.json $SERVICE_DIR/firewall-bitwarden.json; #cp -rv /tmp/bitwarden/firewall-bitwarden-dns.json $SERVICE_DIR/firewall-bitwarden-dns.json; #cp -rv /tmp/bitwarden/firewall-bitwarden-smtp.json $SERVICE_DIR/firewall-bitwarden-smtp.json; fi; if [[ "$GUACAMOLE" == "yes" ]]; then echo "Guacamole install has started from ssh://$GIT_REPO/$ORGANIZATION/guacamole.git"; DB_MYSQL="$(echo $RANDOM | md5sum | head -c 8)"; DB_USER="$(echo $RANDOM | md5sum | head -c 8)"; DB_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; DB_ROOT_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; git clone ssh://$GIT_REPO/$ORGANIZATION/guacamole.git /tmp/guacamole; sed -i "s/DOMAIN_NAME/$GUACAMOLE_DOMAIN/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/GUACAMOLE_ADMIN_NAME/$GUACAMOLE_ADMIN_NAME/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/GUACAMOLE_ADMIN_PASSWORD/$GUACAMOLE_ADMIN_PASSWORD/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/TOTP_USE/$TOTP_USE/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/BAN_DURATION/$BAN_DURATION/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/DB_MYSQL/$DB_MYSQL/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/DB_USER/$DB_USER/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/DB_PASSWORD/$DB_PASSWORD/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/DB_ROOT_PASSWORD/$DB_ROOT_PASSWORD/g" /tmp/guacamole/guacamole-secret.json; sed -i "s/DOMAIN_NAME/$GUACAMOLE_DOMAIN/g" /tmp/guacamole/domain-guacamole.json cp -rv /tmp/guacamole/guacamole-secret.json /etc/user/secret/guacamole.json; cp -rv /tmp/guacamole/guacamole.json $SERVICE_DIR/guacamole.json; cp -rv /tmp/guacamole/domain-guacamole.json $SERVICE_DIR/domain-guacamole.json; cp -rv /tmp/guacamole/firewall-guacamole.json $SERVICE_DIR/firewall-guacamole.json; fi; if [[ "$SMTP" == "yes" ]]; then echo "SMTP service install has started from ssh://$GIT_REPO/$ORGANIZATION/smtp.git"; git clone ssh://$GIT_REPO/$ORGANIZATION/smtp.git /tmp/smtp cp -rv /tmp/smtp/smtp-secret.json /etc/user/secret/smtp.json; cp -rv /tmp/smtp/smtp.json $SERVICE_DIR/smtp.json; cp -rv /tmp/smtp/firewall-smtp.json $SERVICE_DIR/firewall-smtp.json; fi; if [[ "$ROUNDCUBE" == "yes" ]]; then DB_MYSQL="$(echo $RANDOM | md5sum | head -c 8)"; DB_USER="$(echo $RANDOM | md5sum | head -c 8)"; DB_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; DB_ROOT_PASSWORD="$(echo $RANDOM | md5sum | head -c 10)"; git clone ssh://$GIT_REPO/$ORGANIZATION/roundcube.git /tmp/roundcube; sed -i "s/DOMAIN_NAME/$ROUNDCUBE_DOMAIN/g" /tmp/roundcubde/domain-roundcubde.json sed -i "s/RC_DEFAULT_HOST/$ROUNDCUBE_IMAP_HOST/g" /tmp/roundcube/roundcube-secret.json sed -i "s/RC_DEFAULT_PORT/$ROUNDCUBE_IMAP_PORT/g" /tmp/roundcube/roundcube-secret.json sed -i "s/RC_SMTP_SERVER/$ROUNDCUBE_SMTP_HOST/g" /tmp/roundcube/roundcube-secret.json sed -i "s/RC_SMTP_PORT/$ROUNDCUBE_SMTP_PORT/g" /tmp/roundcube/roundcube-secret.json #sed -i "s/SMTP_SECURITY/$SMTP_SECURITY/g" /tmp/roundcube/roundcube-secret.json #sed -i "s/SMTP_AUTHMECHANISM/$SMTP_AUTH_MECHANISM/g" /tmp/roundcube/roundcube-secret.json sed -i "s/RC_UPLOAD_MAX_FILESIZE/$ROUNDCUBE_UPLOAD_MAX_FILESIZE/g" /tmp/roundcube/roundcube-secret.json sed -i "s/RC_DB_MYSQL/$DB_MYSQL/g" /tmp/roundcube/roundcube-secret.json; sed -i "s/RC_DB_USER/$DB_USER/g" /tmp/roundcube/roundcube-secret.json; sed -i "s/RC_DB_PASSWORD/$DB_PASSWORD/g" /tmp/roundcube/roundcube-secret.json; #sed -i "s/RC_DB_ROOT_PASSWORD/$DB_ROOT_PASSWORD/g" /tmp/roundcube/roundcube-secret.json; cp -rv /tmp/roundcube/roundcube-secret.json /etc/user/secret/roundcube.json; cp -rv /tmp/roundcube/roundcube-service.json $SERVICE_DIR/roundcube.json; cp -rv /tmp/roundcube/domain-roundcube.json $SERVICE_DIR/domain-roundcube.json; cp -rv /tmp/roundcube/firewall-roundcube.json $SERVICE_DIR/firewall-roundcube.json; fi;