Один бинарник 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>
26 lines
578 B
Desktop File
26 lines
578 B
Desktop File
[Unit]
|
|
Description=backup-master server
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
User=backup-master
|
|
Group=backup-master
|
|
Environment=BM_LISTEN=127.0.0.1:8080
|
|
Environment=BM_DATA=/var/lib/backup-master
|
|
Environment=BM_PUBLIC_URL=https://backup.example.com
|
|
Environment=BM_DIST=/opt/backup-master/dist
|
|
Environment=BM_TRUST_PROXY=1
|
|
ExecStart=/usr/local/bin/backupctl server
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
|
|
NoNewPrivileges=true
|
|
ProtectSystem=strict
|
|
ProtectHome=true
|
|
PrivateTmp=true
|
|
ReadWritePaths=/var/lib/backup-master
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|