Files
for-servers/vaultwarden/README.backuper.md

108 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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