Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
fa1817e614
commit
a488d2ea08
1 file changed
+50
@@ -47,6 +47,56 @@ sudo systemctl reload caddy
|
|||||||
|
|
||||||
Агентам сервер раздаёт бинарники из `BM_DIST` (`/opt/backup-master/dist`).
|
Агентам сервер раздаёт бинарники из `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`, конфиг при этом сохраняется.
|
**Обновление сервера:** снова выполните блок «бинарники», затем `sudo systemctl restart backup-master`. Агенты обновляются командой `curl -fsSL https://backup.ВАШ-ДОМЕН/agent.sh | sudo bash` без `--token`, конфиг при этом сохраняется.
|
||||||
|
|
||||||
В «Настройках» укажите топик ntfy. Уведомления приходят:
|
В «Настройках» укажите топик ntfy. Уведомления приходят:
|
||||||
|
|||||||
Reference in new issue
Block a user