108 lines
4.0 KiB
Markdown
108 lines
4.0 KiB
Markdown
# Vaultwarden Backuper
|
||
|
||
Удобный скрипт для создания резервной копии Vaultwarden, архивации данных и отправки бэкапа в Telegram.
|
||
|
||
---
|
||
|
||
## Возможности
|
||
|
||
- Запускает `/vaultwarden backup`
|
||
- Архивирует каталог `/data`
|
||
- Отправляет архив в Telegram пользователю по `user_id`
|
||
- Очищает временный архив и файлы `/data/db_*`
|
||
- Проверяет и при необходимости устанавливает зависимости (`curl`, `tar`, `date`)
|
||
- Поддержка установки зависимостей: автоматическая (в Docker режиме всегда, на обычной системе — если запущен с правами root)
|
||
- Гибкий режим запуска: обычная система (`host`) или контейнер (`docker`)
|
||
|
||
---
|
||
|
||
## Использование
|
||
|
||
### Обычный сервер (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
|
||
```
|
||
|
||
**Параметр `--mode host` по умолчанию**, можно не указывать.
|
||
|
||
---
|
||
|
||
### 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 |