This commit is contained in:
leo 2024-07-30 05:19:18 +05:00
parent 85b095f4e0
commit 95694e4dfb
3 changed files with 111 additions and 78 deletions

View File

@ -0,0 +1,7 @@
Install:
`sudo bash remote.sh SERVER_HOST`
Install server-backup
`sudo bash remote.sh 5.252.21.50`

View File

@ -1,25 +1,28 @@
#!/bin/bash #!/bin/bash
GIT_SSH_DOMAIN=rozenlab.com
GIT_USER=leo
#SSH_PORT=2525
if [ "$(id -u)" != "0" ]; then if [ "$(id -u)" != "0" ]; then
echo -e "\033[31mThis script requires superuser rights.\033[0m" echo -e "\033[31mThis script requires superuser rights.\033[0m"
exit 0 exit 0
fi fi
if [ -z "$1" ]; then if [ -z "$1" ]; then
echo "Please provide SERVER_NAME as argument" echo "Please provide SERVER_HOST as argument"
exit 1 exit 1
fi fi
SERVER_NAME=$1 #SSH_PORT=2525
REMOTE_USER="root"
SERVER_HOST=$1
SECRETS_PATH=/data/secrets/$SERVER_HOST/$SERVER_HOST.env
trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT source $SECRETS_PATH
trap 'echo -e "\033[31minstall.sh: Something went wrong\033[0m"; exit 1' ERR
set -e set -e
mkdir -p /data export DEBIAN_FRONTEND=noninteractive
#mkdir -p /data
#chown usradmin:usradmin /data #chown usradmin:usradmin /data
#chmod 770 /data #chmod 770 /data
@ -27,6 +30,7 @@ mkdir -p /data
#chown usradmin:usradmin /backups #chown usradmin:usradmin /backups
#chmod 770 /backups #chmod 770 /backups
#scp install.sh $REMOTE_USER@$BACKUP_SERVER_HOST:/tmp/install.sh
if [ -f ~/.ssh/id_ed25519 ]; then if [ -f ~/.ssh/id_ed25519 ]; then
echo "SSH key already exists: ~/.ssh/id_ed25519" echo "SSH key already exists: ~/.ssh/id_ed25519"
@ -34,21 +38,38 @@ else
ssh-keygen -t ed25519 -C "$SERVER_NAME" -f ~/.ssh/id_ed25519 -N "" ssh-keygen -t ed25519 -C "$SERVER_NAME" -f ~/.ssh/id_ed25519 -N ""
fi fi
echo -e "\033[31mCopy this public key to Gitea:\033[0m" sshpass -p $SERVER_ORIGIN_PASSWORD ssh-copy-id -i ~/.ssh/id_ed25519.pub $REMOTE_USER@$SERVER_ORIGIN_DOMAIN
cat ~/.ssh/id_ed25519.pub
read -n 1 -s -r -p "Press any key to continue..." 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 cd /data
git clone git@$GIT_SSH_DOMAIN:$GIT_USER/utils.git 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 cd /data/utils
bash init-server.sh
bash /data/$SERVER_NAME/install.sh bash init-server.sh
bash /data/$SERVER_NAME/install.sh $SERVER_HOST
# SSH config: # SSH config:
#bash ssh-port.sh $SSH_PORT #bash ssh-port.sh $SSH_PORT
#bash ssh-pw.sh n #bash ssh-pw.sh n
trap - EXIT trap - ERR
echo "Install complete. Please exit and login again on port $SSH_PORT with ssh key " echo "Install complete. Please exit and login again on port $SSH_PORT with ssh key "

View File

@ -1,26 +1,31 @@
#!/bin/bash #!/bin/bash
REMOTE_USER="root"
if [ "$(id -u)" != "0" ]; then if [ "$(id -u)" != "0" ]; then
echo -e "\033[31mThis script requires superuser rights.\033[0m" echo -e "\033[31mThis script requires superuser rights.\033[0m"
exit 0 exit 0
fi fi
if [ -z "$1" ] || [ -z "$2" ]; then if [ -z "$1" ]; then
echo "Please provide REMOTE_HOST and SERVER_NAME as arguments" echo "Please provide SERVER_HOST as argument"
exit 1 exit 1
fi fi
REMOTE_HOST=$1 REMOTE_USER="root"
SERVER_NAME=$2 SERVER_HOST=$1
SECRETS_PATH=/data/secrets/$SERVER_HOST/$SERVER_HOST.env
trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT source $SECRETS_PATH
trap 'echo -e "\033[31mremote.sh: Something went wrong\033[0m"; exit 1' ERR
set -e set -e
ssh-copy-id -i ~/.ssh/id_ed25519.pub $REMOTE_USER@$REMOTE_HOST export DEBIAN_FRONTEND=noninteractive
scp install.sh $REMOTE_USER@$REMOTE_HOST:/tmp/install.sh
ssh $REMOTE_USER@$REMOTE_HOST "bash /tmp/install.sh $SERVER_NAME"
trap - EXIT 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" echo "Remote install complete"