Files
vps-server-01/VPS/OPERATIONS_RUNBOOK.md
administrator e7667fe801 First
2026-06-21 20:30:44 +03:00

74 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OPERATIONS RUNBOOK — операционные процедуры
## Вход
`ssh root@45.91.8.169` (ed25519-ключ с passphrase; локальный ключ — Manjaro `~/.ssh/id_ed25519`).
## Управление стеком
```bash
cd /opt/docker/core
docker compose ps # статус
docker compose logs -f caddy # логи
docker compose up -d # применить правки compose/Caddyfile
docker compose restart <сервис>
docker compose exec caddy caddy reload --config /etc/caddy/Caddyfile # горячая перезагрузка Caddy
```
## Бэкап
```bash
sudo /usr/local/bin/vw-backup.sh # ручной запуск
journalctl -u vw-backup.service -n 20 # логи
systemctl list-timers vw-backup.timer # когда следующий
rclone lsf gdrive:vaultwarden-backups/ # проверить копии
rclone lsf "homesmb:TOSHIBA EXT/vaultwarden-backups/"
ls -1t /opt/backups/vaultwarden/
```
## Восстановление Vaultwarden
1. `mkdir -p /opt/restore && tar -xzf <архив> -C /opt/restore`
2. Боевой способ: смонтировать `/opt/restore` как `/data` в новый Vaultwarden **за Caddy (по HTTPS)** и войти мастер-паролем. Веб-вход по голому http не работает.
3. Быстрая проверка целостности без UI:
```bash
sqlite3 /opt/restore/db.sqlite3 "PRAGMA integrity_check;"
sqlite3 /opt/restore/db.sqlite3 "SELECT email FROM users;"
sqlite3 /opt/restore/db.sqlite3 "SELECT count(*) FROM ciphers;"
```
## WireGuard (туннель к дому для SMB)
```bash
sudo wg show # статус, latest handshake
sudo systemctl status wg-quick@wg0
sudo systemctl restart wg-quick@wg0
ping -c3 10.0.0.1 # Keenetic в туннеле
```
## TLS
Caddy продлевает сертификаты сам. Проверка: `docker compose logs caddy | grep -i certificate`.
## Сброс пароля Portainer (если потерян)
```bash
docker stop core-portainer-1
docker run --rm -v core_portainer_data:/data portainer/helper-reset-password
docker start core-portainer-1
# войти временным паролем (basic-auth -> логин Portainer), сразу сменить, записать в Vaultwarden
```
## Сменить пароль basic-auth (Caddy)
```bash
read -rsp 'новый пароль: ' P; echo
docker compose exec caddy caddy hash-password --plaintext "$P" # получить bcrypt-хеш
# заменить хеш в /opt/docker/core/caddy/Caddyfile (сниппет protected), затем:
docker compose exec caddy caddy reload --config /etc/caddy/Caddyfile
```
## Файрвол / fail2ban
```bash
sudo ufw status verbose
sudo fail2ban-client status sshd
```
## Обновления
```bash
sudo apt update && apt list --upgradable
sudo apt upgrade -y # обновление docker-* перезапустит демон; контейнеры поднимутся сами (restart: unless-stopped)
```