feat: add fast-deploy.sh for quick frontend-only deploys (~20s)
This commit is contained in:
Executable
+50
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
# Fast deploy for LeoCRM.
|
||||
# Usage:
|
||||
# bash scripts/fast-deploy.sh frontend # Frontend-only: build + copy (~20s)
|
||||
# bash scripts/fast-deploy.sh full # Full: Coolify rebuild (~2min)
|
||||
# Default: frontend
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SERVER="root@46.225.91.159"
|
||||
SSH_KEY="${SSH_KEY:-/a0/usr/workdir/.ssh/coolify-01-root}"
|
||||
SSH_OPTS="-o StrictHostKeyChecking=no -i $SSH_KEY"
|
||||
MODE="${1:-frontend}"
|
||||
|
||||
cd /a0/usr/workdir/leocrm-fix
|
||||
|
||||
if [ "$MODE" = "full" ]; then
|
||||
echo "[Full Deploy] Triggering Coolify rebuild..."
|
||||
COOLIFY_API_TOKEN='2|UnMMp2WYbXFJCrOuZ1yqSK96hMooPTAfAJPIXiQc1e47154e' \
|
||||
COOLIFY_APP_UUID='stvabl4vaqru7jclx4ittzr3' \
|
||||
COOLIFY_BASE_URL='https://server.media-on.de' \
|
||||
SSH_KEY="$SSH_KEY" \
|
||||
SERVER_IP='46.225.91.159' \
|
||||
/opt/venv/bin/python scripts/deploy.py
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Frontend-only fast deploy
|
||||
echo "[1/5] Building frontend..."
|
||||
cd frontend
|
||||
npm run build 2>&1 | tail -3
|
||||
|
||||
echo "[2/5] Finding container..."
|
||||
CONTAINER=$(ssh $SSH_OPTS $SERVER 'docker ps --format "{{.Names}}" | grep "^stvabl4vaqru7jclx4ittzr3-" | head -1')
|
||||
if [ -z "$CONTAINER" ]; then
|
||||
echo "ERROR: Could not find app container"
|
||||
exit 1
|
||||
fi
|
||||
echo " Container: $CONTAINER"
|
||||
|
||||
echo "[3/5] Packaging & uploading..."
|
||||
tar czf /tmp/frontend-dist.tar.gz -C dist .
|
||||
scp $SSH_OPTS /tmp/frontend-dist.tar.gz $SERVER:/tmp/frontend-dist.tar.gz
|
||||
|
||||
echo "[4/5] Copying into container..."
|
||||
ssh $SSH_OPTS $SERVER "docker cp /tmp/frontend-dist.tar.gz $CONTAINER:/tmp/ && docker exec $CONTAINER sh -c 'cd /app/frontend/dist && tar xzf /tmp/frontend-dist.tar.gz --overwrite && rm -f /tmp/frontend-dist.tar.gz 2>/dev/null || true' && rm -f /tmp/frontend-dist.tar.gz 2>/dev/null || true"
|
||||
|
||||
echo "[5/5] Done! Frontend deployed in ~20s."
|
||||
echo " No restart needed — static files served directly."
|
||||
echo " Browser: Strg+Shift+R for hard reload."
|
||||
Reference in New Issue
Block a user