СкиллДеплой

vps-quick-setup

Быстрая настройка VPS: безопасность, Docker, Nginx, SSL, файрвол, fail2ban — за одну сессию.

Закинь в Claude, Cursor или любой AI

Описание

Простым языком

Купил сервер — и перед тобой пустая машина. Нужно настроить безопасность, установить нужные программы и подготовить место для сайтов. Раньше это занимало день и кучу гугла. Этот скилл делает всё за 15 минут.

Дай Claude адрес сервера и свой ключ для входа — он сам настроит защиту, установит всё нужное и подготовит сервер к работе. Потом просто деплоишь проекты.


Что делает

Скилл vps-quick-setup настраивает свежий VPS с нуля: создаёт пользователя, настраивает SSH-ключи, firewall, fail2ban, устанавливает Docker, nginx, certbot. Сервер готов к деплою за 15 минут.

Один промпт вместо часа поиска гайдов и бесконечного copy-paste из StackOverflow.


Когда использовать

  • Новый VPS только что куплен (Beget, DigitalOcean, Hetzner, etc.)
  • Переустановка ОС на существующем сервере
  • Настройка тестового сервера для нового проекта
  • Клонирование конфигурации с одного сервера на другой
  • После взлома — полная пересборка с нуля

Как работает — пошагово

  1. Создаёт пользователя deploy без root-доступа, добавляет в sudoers
  2. Настраивает SSH: копирует публичный ключ, отключает password auth и root login
  3. Настраивает UFW firewall: разрешает 22/SSH, 80/HTTP, 443/HTTPS — всё остальное блокирует
  4. Устанавливает fail2ban: блокирует IP после 3 неудачных попыток SSH
  5. Устанавливает Docker + Docker Compose v2 через официальный скрипт
  6. Устанавливает nginx + certbot (snap) для SSL
  7. Настраивает автообновление certbot через cron
  8. Создаёт структуру директорий под проекты: ~/projects/, ~/backups/

Промпты для Claude

Настрой новый VPS:
IP: 109.172.36.108
ОС: Ubuntu 22.04
Пользователь деплоя: claude
Мой публичный ключ SSH: ssh-ed25519 AAAA... ivan@mac
Проекты: stackovervibe (порт 3000), один домен stackovervibe.ru
Добавь на существующий сервер:
- Второй проект на порту 3001
- nginx upstream для нового проекта
- SSL для домена newproject.ru

Пример скрипта настройки

#!/bin/bash
# setup-vps.sh — запускается от root на свежем сервере
set -e

# Создаём пользователя
useradd -m -s /bin/bash claude
usermod -aG sudo claude

# SSH-ключ
mkdir -p /home/claude/.ssh
echo "ssh-ed25519 AAAA... ivan@mac" >> /home/claude/.ssh/authorized_keys
chmod 700 /home/claude/.ssh
chmod 600 /home/claude/.ssh/authorized_keys
chown -R claude:claude /home/claude/.ssh

# Отключаем password auth
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl restart sshd

# Firewall
ufw default deny incoming
ufw allow ssh
ufw allow http
ufw allow https
ufw --force enable

echo "✅ VPS готов к деплою"

Автоматизация

Сохрани скрипт настройки в приватный репозиторий для повторного использования:

# Быстрая настройка нового сервера
ssh root@NEW_IP "bash -s" < ~/setup-vps.sh

# Или через curl из приватного gist
ssh root@NEW_IP "curl -s https://gist.../setup.sh | bash"

Частые вопросы

Нужен ли root для первоначальной настройки?

Да, только для первого подключения. После настройки пользователя claude и отключения root-логина — работаешь только через claude. sudo доступен для административных задач.

Как добавить второй домен на тот же сервер?

Claude создаёт отдельный nginx конфиг в /etc/nginx/sites-available/newdomain.ru и получает SSL через certbot --nginx -d newdomain.ru. Порты 80/443 один nginx, разные upstream по доменам.

#Skills#Docker#Nginx#SSL
TG

> Пока нет комментариев

Связанный контент

Похожие инструменты