feat: add Docker configuration and automated deployment workflows for VPS orchestration
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Configuration for CLI deployment
|
||||
VPS_HOST="45.127.35.244"
|
||||
VPS_USER="root"
|
||||
# Find first available private key in ~/.ssh or use specific one if you want to hardcode
|
||||
SSH_KEY_PATH=$(find ~/.ssh -name "id_rsa" -o -name "id_ed25519" | head -n 1)
|
||||
|
||||
echo "🚀 Starting CLI deployment to $VPS_USER@$VPS_HOST..."
|
||||
|
||||
if [ -z "$SSH_KEY_PATH" ]; then
|
||||
echo "⚠️ No SSH key found in ~/.ssh. Falling back to default SSH behavior."
|
||||
SSH_CMD="ssh -o StrictHostKeyChecking=no $VPS_USER@$VPS_HOST"
|
||||
RSYNC_CMD="rsync -avz --exclude-from='.dockerignore' -e 'ssh -o StrictHostKeyChecking=no'"
|
||||
else
|
||||
echo "🔑 Using SSH key: $SSH_KEY_PATH"
|
||||
SSH_CMD="ssh -i $SSH_KEY_PATH -o StrictHostKeyChecking=no $VPS_USER@$VPS_HOST"
|
||||
RSYNC_CMD="rsync -avz --exclude-from='.dockerignore' -e 'ssh -i $SSH_KEY_PATH -o StrictHostKeyChecking=no'"
|
||||
fi
|
||||
|
||||
# Directory on the VPS where the app will be deployed
|
||||
REMOTE_DIR="/opt/imphenbot"
|
||||
|
||||
echo "📦 Syncing files to VPS..."
|
||||
$SSH_CMD "mkdir -p $REMOTE_DIR"
|
||||
eval "$RSYNC_CMD ./ $VPS_USER@$VPS_HOST:$REMOTE_DIR"
|
||||
|
||||
echo "🔄 Rebuilding and restarting Docker containers..."
|
||||
$SSH_CMD << EOF
|
||||
cd $REMOTE_DIR
|
||||
docker-compose up -d --build
|
||||
EOF
|
||||
|
||||
echo "✅ Deployment complete!"
|
||||
Reference in New Issue
Block a user