infra/@dev-pro.server/infrastructure/SERVER.md

Сервер @infra-dev-pro

Hostname: xirfbwpmvt
IP: 91.218.142.168
Роль: Control Plane (управление инфраструктурой)


Характеристики

CPU: 2 cores (AMD EPYC 7763)
RAM: 1.9 GB
Disk: ~30 GB
OS: Ubuntu 22.04.5 LTS
Kernel: 5.15.x
Architecture: x86_64


SSH доступ

К этому серверу

ssh root@91.218.142.168

Порт: 22
Аутентификация: SSH key only (пароль отключён)

К управляемым серверам

# SSH ключ
~/.ssh/id_ed25519

# Подключение к DEV-PROD-RF
ssh root@45.144.177.147

# Тест подключения
ssh root@45.144.177.147 "hostname"
# Ожидается: leruepecie

Установленное ПО

Используется

Установлено, но НЕ используется

Причина: Control Plane не для хостинга, все контейнеры на DEV-PROD-RF.


Безопасность

Firewall (UFW)

Статус: Активен

Правила:

Port 22 (SSH) — ALLOW

Команды:

# Статус
ufw status

# Открытые порты
ufw status numbered

fail2ban

Статус: Running

Назначение: Защита SSH от брутфорса

Команды:

# Статус
systemctl status fail2ban

# Статус защиты SSH
fail2ban-client status sshd

# Список заблокированных IP
fail2ban-client status sshd | grep "Banned IP"

# Разблокировать IP
fail2ban-client set sshd unbanip <IP>

SSH ключи

Расположение: ~/.ssh/

Ключи:
- id_ed25519 — для доступа к DEV-PROD-RF
- id_ed25519.pub — публичный ключ

Права:

# Должны быть 600
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

Директории

Системные

/root/                        # Home directory
├── .ssh/                     # SSH ключи
   ├── id_ed25519           # Ключ для DEV-PROD-RF
   ├── id_ed25519.pub
   ├── authorized_keys      # Входящий доступ
   └── known_hosts

$WORKSPACE/        # Claude Code workspace
├── platform/                 # Ядро системы
   ├── CLAUDE.md
   ├── MIGRATION-STATUS.md
   └── .claude/
├── templates/                # Шаблоны
├── projects/
   ├── @infra-dev-pro/      # Этот проект
   ├── @infra-dev-prod-rf/  # Управляемый сервер
   └── marketplace/
└── archive/

/var/log/                     # Логи
├── auth.log                  # SSH логи
├── dev-pro-backup.log       # Логи backup
└── ...

/var/backups/dev-pro/         # Backup архивы
├── ssh-keys/
├── workspace/
└── configs/

Мониторинг

Ресурсы

# Интерактивный мониторинг
htop

# Память
free -h

# Диск
df -h

# Аптайм и нагрузка
uptime

Логи

# SSH логи (реальное время)
tail -f /var/log/auth.log

# Системные логи
journalctl -f

# Неудачные попытки входа
grep "Failed password" /var/log/auth.log | tail -20

# Успешные входы
grep "Accepted publickey" /var/log/auth.log | tail -20

Сервисы

# Docker
systemctl status docker

# fail2ban
systemctl status fail2ban

# SSH
systemctl status ssh

Backup

Что бэкапится

  1. SSH ключи (~/.ssh/)
  2. Claude workspace ($WORKSPACE/)
  3. Системные конфиги:
    - /etc/ssh/
    - /etc/ufw/
    - /etc/fail2ban/

Где хранится

Локально: /var/backups/dev-pro/

Структура:

/var/backups/dev-pro/
├── ssh-keys-YYYY-MM-DD.tar.gz
├── workspace-YYYY-MM-DD.tar.gz
└── configs-YYYY-MM-DD.tar.gz

Ротация: Старше 30 дней автоматически удаляются

Запуск backup

# Вручную
$WORKSPACE/infra/@infra-dev-pro/solution/scripts/backup.sh

# Автоматически (cron)
# Каждое воскресенье в 03:00

Логи: /var/log/dev-pro-backup.log


Maintenance

Регулярные задачи

# Обновление системы
apt update && apt upgrade

# Проверка обновлений
apt list --upgradable

# Очистка логов (старше 7 дней)
journalctl --vacuum-time=7d

# Очистка apt cache
apt clean
apt autoremove

# Проверка места на диске
df -h
du -sh /var/* | sort -h

Проверка безопасности

# Неудачные попытки входа
grep "Failed password" /var/log/auth.log | tail -50

# Статус fail2ban
fail2ban-client status sshd

# Открытые порты
ufw status
netstat -tulpn | grep LISTEN

Troubleshooting

SSH не работает

# Статус службы
systemctl status ssh

# Проверка конфига
sshd -t

# Логи
tail -50 /var/log/auth.log

# Перезапуск (осторожно!)
systemctl restart ssh

Нет места на диске

# Проверка использования
df -h
du -sh /* | sort -h

# Очистка логов
journalctl --vacuum-time=7d

# Очистка apt
apt clean
apt autoremove

# Очистка старых backup
find /var/backups/dev-pro/ -mtime +30 -delete

Высокая нагрузка

# Процессы
htop
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10

# Нагрузка
uptime

# Статус Docker (должно быть 0 контейнеров)
docker ps

Управляемые серверы

DEV-PROD-RF

IP: 45.144.177.147
Hostname: leruepecie
SSH: ssh root@45.144.177.147
SSH Key: ~/.ssh/id_ed25519

Роль: Dev+Prod Platform
- 34 Docker контейнера
- 7 Docker стеков
- seller1.ru 🔴 PRODUCTION

Проверка подключения:

ssh root@45.144.177.147 "hostname && uptime"

Документация: $WORKSPACE/infra/@infra-dev-prod-rf/


Дата создания: 2025-10-26
Последнее обновление: 2025-11-09
Статус: ✅ Производственная система