diff --git a/README.md b/README.md index e69de29..b13c56a 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,7 @@ + +Install: + +`sudo bash remote.sh SERVER_HOST` + +Install server-backup +`sudo bash remote.sh 5.252.21.50` \ No newline at end of file diff --git a/install.sh b/install.sh index ebcc5df..bc72255 100644 --- a/install.sh +++ b/install.sh @@ -1,54 +1,75 @@ -#!/bin/bash - -GIT_SSH_DOMAIN=rozenlab.com -GIT_USER=leo -#SSH_PORT=2525 - -if [ "$(id -u)" != "0" ]; then - echo -e "\033[31mThis script requires superuser rights.\033[0m" - exit 0 -fi - -if [ -z "$1" ]; then - echo "Please provide SERVER_NAME as argument" - exit 1 -fi - -SERVER_NAME=$1 - -trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT -set -e - -mkdir -p /data -#chown usradmin:usradmin /data -#chmod 770 /data - -#mkdir -p /backups -#chown usradmin:usradmin /backups -#chmod 770 /backups - - -if [ -f ~/.ssh/id_ed25519 ]; then - echo "SSH key already exists: ~/.ssh/id_ed25519" -else - ssh-keygen -t ed25519 -C "$SERVER_NAME" -f ~/.ssh/id_ed25519 -N "" -fi - -echo -e "\033[31mCopy this public key to Gitea:\033[0m" -cat ~/.ssh/id_ed25519.pub -read -n 1 -s -r -p "Press any key to continue..." - - -cd /data -git clone git@$GIT_SSH_DOMAIN:$GIT_USER/utils.git -cd /data/utils -bash init-server.sh - -bash /data/$SERVER_NAME/install.sh - -# SSH config: -#bash ssh-port.sh $SSH_PORT -#bash ssh-pw.sh n - -trap - EXIT +#!/bin/bash + +if [ "$(id -u)" != "0" ]; then + echo -e "\033[31mThis script requires superuser rights.\033[0m" + exit 0 +fi + +if [ -z "$1" ]; then + echo "Please provide SERVER_HOST as argument" + exit 1 +fi + +#SSH_PORT=2525 +REMOTE_USER="root" +SERVER_HOST=$1 +SECRETS_PATH=/data/secrets/$SERVER_HOST/$SERVER_HOST.env + +source $SECRETS_PATH + +trap 'echo -e "\033[31minstall.sh: Something went wrong\033[0m"; exit 1' ERR +set -e + +export DEBIAN_FRONTEND=noninteractive + +#mkdir -p /data +#chown usradmin:usradmin /data +#chmod 770 /data + +#mkdir -p /backups +#chown usradmin:usradmin /backups +#chmod 770 /backups + +#scp install.sh $REMOTE_USER@$BACKUP_SERVER_HOST:/tmp/install.sh + +if [ -f ~/.ssh/id_ed25519 ]; then + echo "SSH key already exists: ~/.ssh/id_ed25519" +else + ssh-keygen -t ed25519 -C "$SERVER_NAME" -f ~/.ssh/id_ed25519 -N "" +fi + +sshpass -p $SERVER_ORIGIN_PASSWORD ssh-copy-id -i ~/.ssh/id_ed25519.pub $REMOTE_USER@$SERVER_ORIGIN_DOMAIN + +SSH_PUBLIC_KEY=$(cat ~/.ssh/id_ed25519.pub) + +curl -X POST \ + "https://$GITEA_DOMAIN/api/v1/user/keys" \ + -H "Authorization: token $GITEA_API_ADD_SSH_KEY" \ + -H "Content-Type: application/json" \ + -d "{ + \"title\": \"$SERVER_NAME\", + \"key\": \"$SSH_PUBLIC_KEY\" + }" + +#echo -e "\033[31mCopy this public key to Gitea:\033[0m" +#cat ~/.ssh/id_ed25519.pub +#echo "Press Enter to continue..." +#read +#read -n 1 -s -r -p "Press any key to continue..." + + +cd /data +echo "Connect to git repository on host: $GIT_SSH_DOMAIN" +echo "On username: $GIT_USER" +git clone git@"$GIT_SSH_DOMAIN":"$GIT_USER"/utils.git +cd /data/utils + +bash init-server.sh +bash /data/$SERVER_NAME/install.sh $SERVER_HOST + +# SSH config: +#bash ssh-port.sh $SSH_PORT +#bash ssh-pw.sh n + +trap - ERR echo "Install complete. Please exit and login again on port $SSH_PORT with ssh key " \ No newline at end of file diff --git a/remote.sh b/remote.sh index 783be40..ba660f4 100644 --- a/remote.sh +++ b/remote.sh @@ -1,26 +1,31 @@ -#!/bin/bash - -REMOTE_USER="root" - -if [ "$(id -u)" != "0" ]; then - echo -e "\033[31mThis script requires superuser rights.\033[0m" - exit 0 -fi - -if [ -z "$1" ] || [ -z "$2" ]; then - echo "Please provide REMOTE_HOST and SERVER_NAME as arguments" - exit 1 -fi - -REMOTE_HOST=$1 -SERVER_NAME=$2 - -trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT -set -e - -ssh-copy-id -i ~/.ssh/id_ed25519.pub $REMOTE_USER@$REMOTE_HOST -scp install.sh $REMOTE_USER@$REMOTE_HOST:/tmp/install.sh -ssh $REMOTE_USER@$REMOTE_HOST "bash /tmp/install.sh $SERVER_NAME" - -trap - EXIT +#!/bin/bash + +if [ "$(id -u)" != "0" ]; then + echo -e "\033[31mThis script requires superuser rights.\033[0m" + exit 0 +fi + +if [ -z "$1" ]; then + echo "Please provide SERVER_HOST as argument" + exit 1 +fi + +REMOTE_USER="root" +SERVER_HOST=$1 +SECRETS_PATH=/data/secrets/$SERVER_HOST/$SERVER_HOST.env + +source $SECRETS_PATH + +trap 'echo -e "\033[31mremote.sh: Something went wrong\033[0m"; exit 1' ERR +set -e + +export DEBIAN_FRONTEND=noninteractive + +sshpass -p $SERVER_PASSWORD ssh-copy-id -i ~/.ssh/id_ed25519.pub $REMOTE_USER@$SERVER_HOST +scp install.sh $REMOTE_USER@$SERVER_HOST:/tmp/install.sh +ssh $REMOTE_USER@$SERVER_HOST 'mkdir -p /data/secrets' +scp $SECRETS_PATH $REMOTE_USER@$SERVER_HOST:$SECRETS_PATH +ssh $REMOTE_USER@$SERVER_HOST "bash /tmp/install.sh $SERVER_HOST" + +trap - ERR echo "Remote install complete" \ No newline at end of file