Обновить vaultwarden/README.backuper.md
This commit is contained in:
@@ -1,72 +1,108 @@
|
|||||||
# Vaultwarden Backuper
|
# Vaultwarden Backuper
|
||||||
|
|
||||||
Автоматический скрипт для резервного копирования Vaultwarden, архивации данных и отправки бэкапа в Telegram.
|
Удобный скрипт для создания резервной копии Vaultwarden, архивации данных и отправки бэкапа в Telegram.
|
||||||
|
|
||||||
## Возможности
|
|
||||||
|
|
||||||
- Запускает резервное копирование через `/vaultwarden backup`
|
|
||||||
- Архивирует каталог `/data`
|
|
||||||
- Отправляет архив** в Telegram через бота по ID пользователя
|
|
||||||
- Автоматически удаляет архив и старые файлы `/data/db_*`
|
|
||||||
- Проверяет зависимости (`curl`, `tar`, `date`) и при необходимости устанавливает их (поддерживаются все популярные дистрибутивы, если запущено от root)
|
|
||||||
|
|
||||||
## Использование
|
|
||||||
|
|
||||||
1. **Создайте Telegram-бота и получите токен**
|
|
||||||
Создайте бота через [@BotFather](https://t.me/BotFather), получите ваш `"token"`.
|
|
||||||
|
|
||||||
2. **Узнайте свой user_id**
|
|
||||||
Получить свой user_id можно с помощью бота [@userinfobot](https://t.me/userinfobot) или аналогичного.
|
|
||||||
|
|
||||||
3. **Запустите скрипт:**
|
|
||||||
|
|
||||||
```sh
|
|
||||||
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID>
|
|
||||||
```
|
|
||||||
|
|
||||||
**Пример:**
|
|
||||||
```sh
|
|
||||||
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 --user_id 987654321
|
|
||||||
```
|
|
||||||
|
|
||||||
## Параметры
|
|
||||||
|
|
||||||
- `--token` — токен Telegram-бота
|
|
||||||
- `--user_id` — ваш Telegram `user_id`, куда отправлять резервные копии
|
|
||||||
|
|
||||||
## Требования
|
|
||||||
|
|
||||||
- Скрипт должен запускаться с root-правами (или через `sudo`), чтобы при необходимости автоматически устанавливать зависимости.
|
|
||||||
- Требуются установленные бинарники: `curl`, `tar`, `date`
|
|
||||||
- Vaultwarden должен уметь выполнять резервное копирование командой `/vaultwarden backup`
|
|
||||||
- Каталог `/data` должен содержать резервируемую базу и быть доступен для архивации
|
|
||||||
|
|
||||||
## Автоматическая установка утилит
|
|
||||||
|
|
||||||
Скрипт самостоятельно определяет используемый пакетный менеджер (`apk`, `apt`, `dnf`, `yum`, `zypper`, `pacman`) и устанавливает недостающ��е утилиты, если запущен от root.
|
|
||||||
|
|
||||||
## Важно
|
|
||||||
|
|
||||||
- Для Docker-контейнеров рекомендуется включить необходимые утилиты (`curl`, `tar`, `date`) в образ при сборке.
|
|
||||||
- Скрипт удаляет архив бэкапа и файлы `/data/db_*` сразу после успешного завершения всех операций.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## English (short)
|
## Возможности
|
||||||
|
|
||||||
**Vaultwarden automatic backup script with Telegram delivery.**
|
- Запускает `/vaultwarden backup`
|
||||||
Run as root or with `sudo`:
|
- Архивирует каталог `/data`
|
||||||
|
- Отправляет архив в Telegram пользователю по `user_id`
|
||||||
|
- Очищает временный архив и файлы `/data/db_*`
|
||||||
|
- Проверяет и при необходимости устанавливает зависимости (`curl`, `tar`, `date`)
|
||||||
|
- Поддержка установки зависимостей: автоматическая (в Docker режиме всегда, на обычной системе — если запущен с правами root)
|
||||||
|
- Гибкий режим запуска: обычная система (`host`) или контейнер (`docker`)
|
||||||
|
|
||||||
```
|
---
|
||||||
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID>
|
|
||||||
|
## Использование
|
||||||
|
|
||||||
|
### Обычный сервер (host)
|
||||||
|
|
||||||
|
- **Запуск с правами `root` (рекомендуется использовать `sudo`):**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID> --mode host
|
||||||
```
|
```
|
||||||
|
|
||||||
- Performs vaultwarden backup, archive and send to Telegram.
|
**Параметр `--mode host` по умолчанию**, можно не указывать.
|
||||||
- Installs required utilities if needed (if root).
|
|
||||||
- Cleans up backup archive and `/data/db_*`.
|
---
|
||||||
|
|
||||||
|
### Docker-контейнер
|
||||||
|
|
||||||
|
- **В Docker-контейнере (обычно уже root, `sudo` не нужен):**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | bash -s -- --token <TOKEN> --user_id <USER_ID> --mode docker
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Параметры скрипта
|
||||||
|
|
||||||
|
- `--token` — токен Telegram-бота (узнайте у [@BotFather](https://t.me/BotFather))
|
||||||
|
- `--user_id` — ваш Telegram `user_id` (узнайте через [@userinfobot](https://t.me/userinfobot))
|
||||||
|
- `--mode` — режим запуска:
|
||||||
|
- `host` — обычный сервер (с root или sudo), по умолчанию
|
||||||
|
- `docker` — контейнер Docker, чтобы гарантировать отсутствие вызова sudo и немедленную установку утилит
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Требования
|
||||||
|
|
||||||
|
- Vaultwarden должен поддерживать команду `/vaultwarden backup`
|
||||||
|
- Каталог `/data` должен содержать данные для архивации
|
||||||
|
- Необходимы утилиты: `curl`, `tar`, `date` — скрипт установит их автоматически, если возможно и нужные права есть
|
||||||
|
|
||||||
|
### В случае Docker
|
||||||
|
|
||||||
|
Рекомендуется при сборке container-образа явно включить зависимости, например, для Alpine:
|
||||||
|
|
||||||
|
```dockerfile
|
||||||
|
RUN apk add --no-cache curl tar
|
||||||
|
```
|
||||||
|
|
||||||
|
Для Debian/Ubuntu:
|
||||||
|
|
||||||
|
```dockerfile
|
||||||
|
RUN apt-get update && apt-get install -y curl tar
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Пример использования
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Host (server)
|
||||||
|
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token 123:ABC --user_id 987 --mode host
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | bash -s -- --token 123:ABC --user_id 987 --mode docker
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## English
|
||||||
|
|
||||||
|
**Vaultwarden backup script with archive and Telegram delivery.**
|
||||||
|
|
||||||
|
- Launch on server as root/sudo (`--mode host`) or inside Docker as root (`--mode docker`)
|
||||||
|
- Installs dependencies automatically if needed
|
||||||
|
|
||||||
|
**Usage:**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Host (with sudo)
|
||||||
|
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID> --mode host
|
||||||
|
|
||||||
|
# Docker (no sudo)
|
||||||
|
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | bash -s -- --token <TOKEN> --user_id <USER_ID> --mode docker
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
MIT (или укажите свою)
|
MIT
|
||||||
Reference in New Issue
Block a user