Files
netrunner-backend/scripts/bootstrap-dev-server.sh
T
nineap 465570267d ci: split deploy pipeline into dev (auto) and prod (manual) jobs
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>
2026-07-03 15:56:16 +07:00

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"