backup-master: сервер бэкапов, агент и восстановление VPS
Один бинарник backupctl: - server: API для агентов и restore, веб-морда (один админ), SQLite, ретеншн GFS, heavy-части, уведомления ntfy, раздача agent.sh/restore.sh; - backup/plan: сбор по каталогу категорий (files/systemd/xui/compose), горячие дампы Postgres/Mongo/MySQL, снимок x-ui.db, docker-тома, digest образов, проверка crontab, потоковая отправка tar.zst; - restore: провижининг на основе vps_installer с теми же версиями пакетов, recipes 3x-ui/nebula/sing-box нужных версий, восстановление compose с заливкой дампов и закреплением образов по digest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
1d44d067e9
53 files changed
+7278
No files matched your search
@@ -0,0 +1,12 @@
|
||||
{{define "title"}}Новый клиент — backup-master{{end}}
|
||||
{{define "content"}}
|
||||
<h1>Новый клиент</h1>
|
||||
{{with .Error}}<p class="error">{{.}}</p>{{end}}
|
||||
<form method="post" action="/clients" class="card narrow">
|
||||
<input type="hidden" name="csrf" value="{{.CSRF}}">
|
||||
<label>Домен <input name="domain" value="{{.Domain}}" placeholder="nl1.example.com" required autofocus></label>
|
||||
<p class="hint">По домену бэкап находится при восстановлении. Он же станет hostname нового сервера, если на старом hostname не задан.</p>
|
||||
<label>Название (необязательно) <input name="name" value="{{.Name}}"></label>
|
||||
<button class="primary">Создать и получить токен</button>
|
||||
</form>
|
||||
{{end}}
|
||||
Reference in new issue
Block a user