From a488d2ea08f8c20027aed35476ab2e0d84b12cc2 Mon Sep 17 00:00:00 2001 From: mrleo1nid <43583385+mrleo1nid@users.noreply.github.com> Date: Tue, 6 Oct 2026 22:18:01 +0300 Subject: [PATCH] =?UTF-8?q?README:=20=D1=81=D1=85=D0=B5=D0=BC=D0=B0=20?= =?UTF-8?q?=D1=81=20Caddy=20=D0=BD=D0=B0=20=D0=B4=D1=80=D1=83=D0=B3=D0=BE?= =?UTF-8?q?=D0=BC=20=D1=85=D0=BE=D1=81=D1=82=D0=B5=20=D0=B8=20=D1=81=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/README.md b/README.md index 2bda2d8..3c9c29b 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,56 @@ sudo systemctl reload caddy Агентам сервер раздаёт бинарники из `BM_DIST` (`/opt/backup-master/dist`). +### Caddy на другом хосте (например, сервер в VM Proxmox, Caddy на хосте) + +Здесь Caddy проксирует не на `127.0.0.1`, а на IP виртуалки. В примере VM — `10.0.0.10`, хост Proxmox — `10.0.0.1`. + +На VM сервис должен слушать сеть, а порт должен быть открыт только хосту с Caddy: + +```bash +sudo sed -i 's|BM_LISTEN=127.0.0.1:8080|BM_LISTEN=0.0.0.0:8080|' /etc/systemd/system/backup-master.service +sudo systemctl daemon-reload && sudo systemctl restart backup-master +sudo ufw allow from 10.0.0.1 to any port 8080 proto tcp # если на VM включён UFW +``` + +На хосте с Caddy сначала проверьте доступ — должно вернуться `ok`: + +```bash +curl -s http://10.0.0.10:8080/healthz +``` + +Затем укажите в Caddyfile адрес VM: + +``` +backup.example.com { + request_body { + max_size 200GB + } + reverse_proxy 10.0.0.10:8080 { + transport http { + read_timeout 6h + write_timeout 6h + } + } +} +``` + +```bash +sudo systemctl reload caddy +``` + +`BM_TRUST_PROXY=1` (включён в юните) говорит серверу брать IP клиента из `X-Forwarded-For` от Caddy — по нему ограничивается перебор пароля. Поэтому порт 8080 должен быть доступен **только** с хоста Caddy, иначе заголовок можно подделать. Если включён файрвол Proxmox для VM, разрешите 8080 и там. + +Если Caddy с хоста получает 502, а на VM `curl http://127.0.0.1:8080/healthz` отвечает `ok`, проблема в `BM_LISTEN` или в файрволе. + +### Администратор + +Логин и пароль задаёт одна команда. Её же используют, чтобы сменить логин, пароль или оба сразу. Перезапуск сервиса не нужен, все открытые сессии сбрасываются: + +```bash +sudo -u backup-master BM_DATA=/var/lib/backup-master backupctl admin-passwd новый_логин +``` + **Обновление сервера:** снова выполните блок «бинарники», затем `sudo systemctl restart backup-master`. Агенты обновляются командой `curl -fsSL https://backup.ВАШ-ДОМЕН/agent.sh | sudo bash` без `--token`, конфиг при этом сохраняется. В «Настройках» укажите топик ntfy. Уведомления приходят: