diff --git a/additional_install.sh b/additional_install.sh new file mode 100644 index 0000000..340b106 --- /dev/null +++ b/additional_install.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [[ "$NEXTCLOUD" == "YES" ]]; then + git clone ssh://$GIT_REPO/$ORGANIZATION/nextcloud.git /tmp/nextcloud + sed -i "s/DOMAIN_URL/$NEXTCLOUD_DOMAIN/g" /tmp/nextcloud/nextcloud-secret.json + sed -i "s/USERNAME/$NEXTCLOUD_USERNAME/g" /tmp/nextcloud/nextcloud-secret.json + sed -i "s/PASSWORD/$NEXTCLOUD_PASSWORD/g" /tmp/nextcloud/nextcloud-secret.json + cp -rv /tmp/nextcloud/nextcloud-secret.json /etc/user/secret/nextcloud-secret.json; +fi; + +if [[ "$BITWARDEN" == "YES" ]]; then + git clone ssh://$GIT_REPO/$ORGANIZATION/bitwarden.git /tmp/bitwarden + sed -i "s/DOMAIN_URL/$BITWARDEN_DOMAIN/g" /tmp/bitwarden/bitwarden-secret.json + sed -i "s/USERNAME/$BITWARDEN_USERNAME/g" /tmp/bitwarden/bitwarden-secret.json + cp -rv /tmp/bitwarden/bitwarden-secret.json /etc/user/secret/bitwarden-secret.json; +fi; + diff --git a/deploy.sh b/deploy.sh index c7b8af7..8da51b4 100755 --- a/deploy.sh +++ b/deploy.sh @@ -140,7 +140,6 @@ install_additionals() { fi; fi - cp -av /tmp/$SERVICE_EXEC_REPO/scripts/additional_install.sh $DISCOVERY_DIR } git clone ssh://$GIT_REPO/$ORGANIZATION/$CORE_DNS.git /tmp/$CORE_DNS diff --git a/entrypoint.sh b/entrypoint.sh index 4b60a3a..0614164 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -37,15 +37,20 @@ sed -i "s/PORT/$PORT/g" /root/.ssh/config; # Check git repository permissions" -if [[ "$SMARTHOST_PROXY" == "YES" || "$SMARTHOST_PROXY" == "TRUE" ]]; then - PROXY_TYPE=smarthost-proxy" "$PROXY_TYPE; -fi +if [ "$ADDITIONALS" == "true" ]; then + sh /additional_install.sh +else + if [[ "$SMARTHOST_PROXY" == "YES" || "$SMARTHOST_PROXY" == "TRUE" ]]; then + PROXY_TYPE=smarthost-proxy" "$PROXY_TYPE; + fi -if [ "$PROXY_TYPE" == "" ] ; then - echo "No proxy type deployment defined, exiting." - exit; + if [ "$PROXY_TYPE" == "" ] ; then + echo "No proxy type deployment defined, exiting." + exit; + fi + + sh /deploy.sh + + echo "Successfully deployed $PROXY_TYPE" fi -sh /deploy.sh - -echo "Successfully deployed $PROXY_TYPE" diff --git a/install.sh b/install.sh index 4526dd5..107d808 100755 --- a/install.sh +++ b/install.sh @@ -107,6 +107,9 @@ check_dirs_and_files() { if [ ! -d "/etc/system" ]; then $SUDO_CMD mkdir "/etc/system" fi; + if [ ! -d "/etc/user/secret" ]; then + $SUDO_CMD mkdir -p "/etc/user/secret" + fi; if [ ! -f "/etc/user/config/system.json" ]; then { @@ -269,6 +272,49 @@ install_docker_deb() { } +ask_additionals() { + + echo "Do you want to install nextcloud? (Y/n)"; + read -r ANSWER; + if [ "$ANSWER" == "y" ] || [ "$ANSWER" == "Y" ] || [ "$ANSWER" == "" ]; then + NEXTCLOUD="true"; + + echo "Please add nextcloud domain: "; + while read -r NEXTCLOUD_DOMAIN; do + if [ "$NEXTCLOUD_DOMAIN" != "" ]; then + break; + fi; + done + echo "Please add nextcloud username: "; + while read -r NEXTCLOUD_USERNAME; do + if [ "$NEXTCLOUD_USERNAME" != "" ]; then + break; + fi; + done + echo "Please add nextcloud password: "; + while read -r NEXTCLOUD_PASSWORD; do + if [ "$NEXTCLOUD_PASSWORD" != "" ]; then + break; + fi; + done + fi + + echo "Do you want to install bitwarden? (Y/n)"; + read -r ANSWER; + if [ "$ANSWER" == "y" ] || [ "$ANSWER" == "Y" ] || [ "$ANSWER" == "" ]; then + BITWARDEN="true"; + + echo "Please add bitwarden domain: "; + while read -r BITWARDEN_DOMAIN; do + if [ "$BITWARDEN_DOMAIN" != "" ]; then + break; + fi; + done + fi + +} + + SUDO_CMD=""; if [ "$USER" != "root" ] ; then @@ -469,12 +515,35 @@ fi; rm $PWD/.init_services +# install additionals - run installer-tool again but additional_install.sh instead of deploy.sh echo "Would you like to install additional applications? (Y/n)"; read -r ANSWER; -if [ "$ANSWER" == "y" ] || [ "$ANSWER" == "Y" ]; then - $SUDO_CMD chmod a+x $DISCOVERY_DIR/additional_install.sh - $DISCOVERY_DIR/additional_install.sh +if [ "$ANSWER" == "y" ] || [ "$ANSWER" == "Y" ] || [ "$ANSWER" == "" ]; then + + ask_additionals; + + if [ "$NEXTCLOUD" != "" ]; then + VAR_NEXTCLOUD="--env NEXTCLOUD=$NEXTCLOUD"; + VAR_NEXTCLOUD="$VAR_NEXTCLOUD --env NEXTCLOUD_DOMAIN=$NEXTCLOUD_DOMAIN"; + VAR_NEXTCLOUD="$VAR_NEXTCLOUD --env NEXTCLOUD_USERNAME=$NEXTCLOUD_USERNAME"; + VAR_NEXTCLOUD="$VAR_NEXTCLOUD --env NEXTCLOUD_PASSWORD=$NEXTCLOUD_PASSWORD"; + fi + if [ "$BITWARDEN" != "" ]; then + VAR_BITWARDEN="--env BITWARDEN=$BITWARDEN"; + VAR_BITWARDEN="$VAR_BITWARDEN --env BITWARDEN_DOMAIN=$BITWARDEN_DOMAIN"; + VAR_BITWARDEN="$VAR_BITWARDEN --env BITWARDEN_TOKEN=$BITWARDEN_TOKEN"; + fi + + # Run installer tool + $SUDO_CMD docker run \ + --env ADDITIONALS=true \ + $VAR_NEXTCLOUD \ + $VAR_BITWARDEN \ + --volume $HOME/.ssh/installer:/root/.ssh/id_rsa \ + --volume /etc/user/:/etc/user/ \ + --volume /etc/system/:/etc/system/ \ + registry.format.hu/installer-tool + fi -