Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
32 lines
941 B
Bash
32 lines
941 B
Bash
#!/bin/bash
|
|
# Deploy Autobase HA Cluster to Hetzner servers
|
|
|
|
set -e
|
|
|
|
SERVER1_IP="10.0.0.1"
|
|
SERVER2_IP="10.0.0.2"
|
|
SERVER3_IP="10.0.0.3"
|
|
DEPLOY_PATH="/opt/madbase"
|
|
|
|
echo "🚀 Deploying Autobase HA Cluster..."
|
|
|
|
deploy_to_server() {
|
|
local server_ip=$1
|
|
local env_file=$2
|
|
|
|
echo "📦 Deploying to $server_ip..."
|
|
ssh root@$server_ip "mkdir -p $DEPLOY_PATH"
|
|
scp docker-compose.autobase.yml autobase-haproxy.cfg root@$server_ip:$DEPLOY_PATH/
|
|
scp $env_file root@$server_ip:$DEPLOY_PATH/.env
|
|
ssh root@$server_ip "cd $DEPLOY_PATH && podman-compose -f docker-compose.autobase.yml up -d"
|
|
echo "✅ Deployed to $server_ip"
|
|
}
|
|
|
|
deploy_to_server $SERVER1_IP "env/autobase.server1.env"
|
|
deploy_to_server $SERVER2_IP "env/autobase.server2.env"
|
|
deploy_to_server $SERVER3_IP "env/autobase.server3.env"
|
|
|
|
echo ""
|
|
echo "🎉 Autobase cluster deployed!"
|
|
echo "📊 Monitor: curl http://$SERVER1_IP:8008/patroni/info | jq '.state'"
|