168 lines
7.9 KiB
Bash
Executable File
168 lines
7.9 KiB
Bash
Executable File
#!/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/roundcube/domain-roundcube.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;
|
|
|
|
|
|
|
|
|