465570267d
Add slim docker-compose.dev-remote.yml (app+db+redis, no monitoring) for the remote dev VPS, and a deploy-dev job that auto-runs after a successful image build on main. Bump Dockerfile.dev's Rust image so edition2024 dependencies build. Stop tracking .env.dev (real secrets were committed) in favor of .env.dev.example / .env.dev-remote.example templates. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
35 lines
1.7 KiB
Bash
Executable File
35 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Разовая настройка чистого дев-VPS под авто-деплой из GitHub Actions.
|
|
# Запускать вручную по SSH на 45.76.161.137 (или через ssh root@IP 'bash -s' < этот файл).
|
|
#
|
|
# CI сам заливает docker-compose.dev-remote.yml через scp при каждом деплое —
|
|
# полный git-клон репозитория на сервере не нужен, docker берёт готовый образ из GHCR.
|
|
set -euo pipefail
|
|
|
|
DEPLOY_DIR="/root/netrunner-core"
|
|
|
|
echo "📦 Установка Docker..."
|
|
if ! command -v docker &> /dev/null; then
|
|
curl -fsSL https://get.docker.com | sh
|
|
fi
|
|
|
|
echo "📂 Подготовка ${DEPLOY_DIR}..."
|
|
mkdir -p "${DEPLOY_DIR}/keys"
|
|
cd "${DEPLOY_DIR}"
|
|
|
|
if [ ! -f ".env" ]; then
|
|
echo "⚠️ .env не найден — создай его вручную (пример структуры в .env.dev-remote.example в репозитории):"
|
|
echo " nano ${DEPLOY_DIR}/.env"
|
|
else
|
|
echo "✅ .env уже на месте."
|
|
fi
|
|
|
|
echo ""
|
|
echo "🔑 Добавь публичный ключ деплоя в authorized_keys (если ещё не добавлен):"
|
|
echo ' echo "PASTE_PUBLIC_KEY_HERE" >> ~/.ssh/authorized_keys'
|
|
echo ""
|
|
echo "Готово. После заполнения .env первый запуск (compose-файл появится после первого CI-деплоя,"
|
|
echo "либо скопируй docker-compose.dev-remote.yml вручную перед первым запуском):"
|
|
echo " docker compose -f docker-compose.dev-remote.yml pull"
|
|
echo " docker compose -f docker-compose.dev-remote.yml up -d"
|