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

3.1 KiB
Raw Permalink Blame History

OPERATIONS RUNBOOK — операционные процедуры

Вход

ssh root@45.91.8.169 (ed25519-ключ с passphrase; локальный ключ — Manjaro ~/.ssh/id_ed25519).

Управление стеком

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

Бэкап

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:
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)

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 (если потерян)

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)

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

sudo ufw status verbose
sudo fail2ban-client status sshd

Обновления

sudo apt update && apt list --upgradable
sudo apt upgrade -y     # обновление docker-* перезапустит демон; контейнеры поднимутся сами (restart: unless-stopped)