Files
site-portfolio/deploy.sh
T

41 lines
1.3 KiB
Bash

#!/usr/bin/env bash
set -e
HOST="root@155.212.186.39"
SSH_KEY="$HOME/.ssh/beget"
SRC_DIR="$(cd "$(dirname "$0")" && pwd)/public/"
echo "📦 Deploy mamadaevv.site..."
echo "Src: $SRC_DIR"
REMOTE_INFO=$(ssh -i "$SSH_KEY" -o StrictHostKeyChecking=no "$HOST" '
CONTAINER=$(docker ps --format "{{.Names}}" | grep "s9mrcps8xw02r1dak0fsznix" | head -1)
VOLUME_PATH=$(docker inspect "$CONTAINER" 2>/dev/null | python3 -c "
import sys,json
mounts=json.load(sys.stdin)[0].get(\"Mounts\",[])
print([m[\"Source\"] for m in mounts if m[\"Destination\"]==\"/usr/share/nginx/html\"][0])
")
echo "$CONTAINER|$VOLUME_PATH"
')
IFS='|' read -r CONTAINER VOLUME_PATH <<< "$REMOTE_INFO"
echo "Container: $CONTAINER"
echo "Volume: $VOLUME_PATH"
# Копируем файлы
cd "$SRC_DIR"
tar cf - . | ssh -i "$SSH_KEY" -o StrictHostKeyChecking=no "$HOST" \
"tar xf - -C $VOLUME_PATH"
# Фикс MIME для .mjs (plyr.min.mjs модуль)
ssh -i "$SSH_KEY" -o StrictHostKeyChecking=no "$HOST" \
"docker exec $CONTAINER sh -c \"
if ! grep -q 'application/javascript mjs' /etc/nginx/mime.types 2>/dev/null; then
sed -i 's|application/wasm|application/javascript mjs;\\n application/wasm|' /etc/nginx/mime.types
nginx -s reload && echo 'MIME fix applied'
fi
\"" 2>/dev/null || true
echo ""
echo "✅ Done! https://mamadaevv.site"