Установка
Databasus можно установить несколькими способами: автоматическим скриптом (рекомендуется), простым docker run, через Docker Compose, Helm для Kubernetes или Docker Compose с Caddy для продакшена.
Системные требования
Минимальные ресурсы, которые нужны Databasus для работы:
- CPU: не меньше 1 ядра
- RAM: минимум 500 МБ
- Диск: 5 ГБ под установку плюс место под сами бекапы
- Docker: Docker Engine 20.10+ и Docker Compose v2.0+
Способ 1: скрипт установки (рекомендуется, только Linux)
Скрипт установки:
- ✅ Поставит Docker с Docker Compose (если они еще не установлены)
- ✅ Настроит Databasus
- ✅ Включит автозапуск после перезагрузки системы
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bashВ этом случае Databasus будет установлен в каталог /opt/databasus.
Способ 2: простой docker run
Самый быстрый способ запустить Databasus:
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latestЭта одна команда:
- ✅ Запустит Databasus
- ✅ Сохранит все данные в каталоге
./databasus-data - ✅ Автоматически перезапустит контейнер после перезагрузки
Способ 3: настройка через Docker Compose
Создайте файл docker-compose.yml со следующей конфигурацией:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
ports:
- "4005:4005"
volumes:
- ./databasus-data:/databasus-data
restart: unless-stoppedЗатем выполните:
docker compose up -dУчтите, что запуск может занять до 2-х минут.
Способ 4: Kubernetes с Helm
Для Kubernetes устанавливайте напрямую из OCI-реестра. Выберите способ доступа под свое окружение.
ClusterIP + port-forward (для разработки)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespaceДоступ через port-forward:
kubectl port-forward svc/databasus-service 4005:4005 -n databasus
# Access at http://localhost:4005LoadBalancer (облачные окружения)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set service.type=LoadBalancerПолучите внешний IP и откройте Databasus:
kubectl get svc databasus-service -n databasus
# Access at http://<EXTERNAL-IP>:4005Ingress (доступ по домену)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=backup.example.comДругие варианты (NodePort, TLS, HTTPRoute для Gateway API) описаны в документации Helm-чарта.
Запуск за reverse proxy Caddy
Для продакшена можно поставить Caddy как reverse proxy: он даст автоматические HTTPS-сертификаты и безопасный доступ к Databasus. Ниже полная конфигурация Docker Compose с Caddy.
Docker Compose с Caddy
Создайте файл docker-compose.yml:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
volumes:
- ./databasus-data:/databasus-data
restart: unless-stopped
# No port exposed - Caddy handles external access
caddy:
container_name: caddy
image: caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy-data:/data
- ./caddy-config:/config
restart: unless-stopped
depends_on:
- databasusСоздайте Caddyfile в том же каталоге:
backup.example.com {
reverse_proxy databasus:4005
}Затем запустите сервисы:
docker compose up -dЭта конфигурация дает:
- ✅ Автоматический HTTPS с сертификатами Let's Encrypt
- ✅ Редирект с HTTP на HTTPS
- ✅ Reverse proxy до Databasus
- ✅ Сохранение данных Caddy и Databasus на диске
Замените backup.example.com на свой домен и убедитесь, что DNS домена указывает на IP-адрес сервера, прежде чем запускать сервисы.
Первые шаги
После установки:
- Запустите и откройте Databasus: стартуйте Databasus и перейдите на
http://localhost:4005 - Создайте первую задачу бекапа: нажмите "New Backup" и настройте подключение к базе PostgreSQL
- Настройте расписание: задайте график бекапов (каждый час, день, неделю, месяц или cron)
- Выберите хранилище: укажите, куда складывать бекапы (локальный диск, S3, Google Drive и т.д.)
- Подключите уведомления: добавьте каналы (Slack, Telegram, Discord), чтобы получать статусы бекапов
- Запустите резервное копирование: сохраните настройки и наблюдайте за первым бекапом!
Health-чеки
Health-чек в Docker
Встроенный health-чек включается автоматически для docker run и Docker Compose. Контейнер получает статус healthy, как только Databasus начинает отвечать на запросы (после короткого периода на старт). Проверяется только то, что приложение отвечает, поэтому контейнер не перезапускается из-за некритичных состояний вроде заканчивающегося места на диске.
Эндпоинт мониторинга и статуса
Для аптайм-мониторинга и статус-дашбордов:
GET http://<host>:4005/api/v1/system/healthВозвращает 200, когда все в порядке, или 503 с причиной, когда что-то требует внимания: внутренняя база, кеш, диск (заполнен больше чем на 95%), клиентские утилиты баз данных, планировщик бекапов или агент проверки восстановления. Аутентификация не нужна, CORS открыт для браузерных мониторов.
⚠️ Важно: эндпоинт предназначен только для мониторинга и алертов, не для liveness probe контейнера или Kubernetes — он возвращает 503 и в состояниях «деградировал, но работает» (например, почти полный диск), а это перезапустило бы рабочий контейнер.
Kubernetes
Используйте liveness/readiness probe с командой databasus healthcheck, а эндпоинт /api/v1/system/health оставьте для внешнего мониторинга.
Как обновить Databasus?
Обновление установки в Docker
Чтобы обновить Databasus, запущенный в Docker, остановите его, очистите кеш Docker и перезапустите контейнер.
- Перейдите в каталог, где установлен Databasus (обычно
/opt/databasus) - Остановите контейнер:
docker compose stop - Очистите кеш Docker:
docker system prune -a - Перезапустите контейнер:
docker compose up -d
Docker скачает последнюю версию Databasus с Docker Hub (если вы не зафиксировали версию в файле docker-compose.yml).
Обновление установки через Helm
Чтобы обновить Databasus в Kubernetes через Helm, выполните команду upgrade:
helm upgrade databasus oci://ghcr.io/databasus/charts/databasus -n databasusЕсли у вас кастомные значения, добавьте -f values.yaml или флаги --set, чтобы сохранить свою конфигурацию. Helm выполнит rolling-обновление до новой версии.
Миграция с Postgresus
Databasus — новое имя Postgresus. Если вы сейчас используете Postgresus, можно продолжать им пользоваться или мигрировать на Databasus.
Важно: просто переименовать Docker-образ недостаточно: Postgresus и Databasus используют разные каталоги данных и разные имена внутренней базы.
Для миграции:
- Остановите контейнер Postgresus:
docker compose stop - Установите Databasus любым способом выше (с другим путем тома,
./databasus-data) - Вручную заново создайте базы, хранилища и уведомления в Databasus
На время миграции Postgresus и Databasus могут работать параллельно на разных портах и с разными путями томов.
Устранение неполадок
Контейнер не стартует
Если контейнер не запускается, посмотрите логи:
docker logs databasusПорт уже занят
Если порт 4005 занят, поменяйте его в docker-compose.yml:
ports:
- "8080:4005" # Change 8080 to any available portОшибки прав доступа
Если возникают проблемы с правами на каталог данных:
sudo chown -R $USER:$USER ./databasus-data
chmod -R 755 ./databasus-data