Repository navigation
Expand file tree
/
Copy pathdeploy.sh
More file actions
executable file
·84 lines (67 loc) · 2.03 KB
/
Copy pathdeploy.sh
File metadata and controls
executable file
·84 lines (67 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/bash
set -e
# Configuration
SERVER="root@89.167.8.47"
SSH_KEY="/home/fawaz/proxyStore/privateKey/id_ed25519"
DEPLOY_DIR="/opt/proxystore"
echo "🚀 Starting deployment to $SERVER..."
# Test SSH connection
echo "📡 Testing SSH connection..."
ssh -i "$SSH_KEY" -o StrictHostKeyChecking=no "$SERVER" "echo 'SSH connection successful'"
# Create deployment directory
echo "📁 Creating deployment directory..."
ssh -i "$SSH_KEY" "$SERVER" "mkdir -p $DEPLOY_DIR"
# Transfer files (excluding node_modules, .git, etc.)
echo "📤 Transferring files to server..."
rsync -avz --progress \
--exclude 'node_modules' \
--exclude '.git' \
--exclude '.next' \
--exclude 'lt.log' \
--exclude 'privateKey' \
-e "ssh -i $SSH_KEY" \
/home/fawaz/proxyStore/ \
"$SERVER:$DEPLOY_DIR/"
# Setup and run on server
echo "🛠️ Setting up Docker on server..."
ssh -i "$SSH_KEY" "$SERVER" << 'ENDSSH'
set -e
cd /opt/proxystore
# Update system
echo "Updating system packages..."
apt-get update -qq
# Install Docker if not installed
if ! command -v docker &> /dev/null; then
echo "Installing Docker..."
apt-get install -y docker.io docker-compose
systemctl enable docker
systemctl start docker
else
echo "Docker already installed"
fi
# Install Docker Compose v2 if needed
if ! docker compose version &> /dev/null; then
echo "Installing Docker Compose plugin..."
apt-get install -y docker-compose-plugin
fi
# Stop existing containers
echo "Stopping existing containers..."
docker compose down || true
# Build and start services
echo "Building and starting services..."
docker compose up -d --build
# Wait for services to be healthy
echo "Waiting for services to start..."
sleep 10
# Check status
echo "Checking container status..."
docker compose ps
echo "✅ Deployment complete!"
echo "Access your application at: http://89.167.8.47:3000"
ENDSSH
echo "🎉 Deployment successful!"
echo ""
echo "Next steps:"
echo "1. Visit http://89.167.8.47:3000"
echo "2. Login with PIN: 123456"
echo "3. Generate pairing tokens and onboard devices"