Sign inSign up

mistekdev/backupster-dashboard

By mistekdev

•Updated 4 months ago

Image
0

607

mistekdev/backupster-dashboard repository overview

⁠Backupster Dashboard (self-hosted)

Language / Язык: English⁠ · Русский⁠


⁠English

Control panel for Backupster — a system for automated backups of databases and file sets. Self-hosted build for running inside your own infrastructure.

UI and HTTP API: port 8080. Configuration and license state are stored in /app/config — this path must be mounted to a volume.

⁠Run with docker-compose
services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: backupster
    volumes:
      - db-data:/var/lib/postgresql/data

  dashboard:
    image: mistekdev/backupster-dashboard:latest
    depends_on: [db]
    ports:
      - "8080:8080"
    environment:
      ConnectionStrings__Default: Host=db;Port=5432;Database=backupster;Username=postgres;Password=postgres
    volumes:
      - config:/app/config

volumes:
  db-data:
  config:

After startup: http://localhost:8080⁠

⁠Run with plain docker
docker run -d \
  --name backupster-dashboard \
  -p 8080:8080 \
  -e ConnectionStrings__Default="Host=db;Port=5432;Database=backupster;Username=postgres;Password=postgres" \
  -v backupster-config:/app/config \
  mistekdev/backupster-dashboard:latest

An external PostgreSQL instance is required for the dashboard's metadata.

⁠Supported databases
DatabaseLogicalPhysicalPhysical Differential
PostgreSQLpg_dumppg_basebackuppg_basebackup --incremental (PG 17+)
MS SQL.bacpac (DacFx)BACKUP DATABASEBACKUP DATABASE ... WITH DIFFERENTIAL
MySQLmysqldump——
⁠Supported storage backends

S3 (including MinIO, Yandex Object Storage, Cloudflare R2), SFTP, Azure Blob, WebDAV, LocalFs (local directory / NFS / CIFS / SMB).

⁠Features
  • Manage agents, schedules and storages through the web UI
  • Logical, physical and physical differential backups for PostgreSQL, MS SQL Server, MySQL
  • File sets (FileSets) — scheduled backups of arbitrary directories without being tied to a database, with chunk deduplication
  • Multiple independent schedules per database or file set — with different modes and storages
  • AES-256-GCM encryption on the agent side — the key never leaves the database host
  • Database and file restore, chunk deduplication (FastCDC, sha256), retention policies
  • Notifications: email, Telegram, webhook
⁠Agent

The dashboard works alongside the backupster-agent, which is installed on the database host and pushes metadata to the dashboard over HTTPS. Database credentials and the encryption key stay on the agent side.

Agent on GitHub: https://github.com/mistek131995/backupster-agent⁠

⁠License

The self-hosted build requires a license key. Details are on the "License" page in the dashboard after the first launch.


⁠Russian

Панель управления для Backupster — системы автоматических бэкапов баз данных и файловых наборов. Self-hosted сборка для запуска внутри вашей инфраструктуры.

UI и HTTP API: порт 8080. Конфиг и состояние лицензии хранятся в /app/config — обязательно смонтировать на volume.

⁠Запуск через docker-compose
services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: backupster
    volumes:
      - db-data:/var/lib/postgresql/data

  dashboard:
    image: mistekdev/backupster-dashboard:latest
    depends_on: [db]
    ports:
      - "8080:8080"
    environment:
      ConnectionStrings__Default: Host=db;Port=5432;Database=backupster;Username=postgres;Password=postgres
    volumes:
      - config:/app/config

volumes:
  db-data:
  config:

После старта: http://localhost:8080⁠

⁠Запуск через docker run
docker run -d \
  --name backupster-dashboard \
  -p 8080:8080 \
  -e ConnectionStrings__Default="Host=db;Port=5432;Database=backupster;Username=postgres;Password=postgres" \
  -v backupster-config:/app/config \
  mistekdev/backupster-dashboard:latest

Нужен внешний PostgreSQL для метаданных дашборда.

⁠Поддерживаемые СУБД
СУБДLogicalPhysicalPhysical Differential
PostgreSQLpg_dumppg_basebackuppg_basebackup --incremental (PG 17+)
MS SQL.bacpac (DacFx)BACKUP DATABASEBACKUP DATABASE ... WITH DIFFERENTIAL
MySQLmysqldump——
⁠Поддерживаемые хранилища

S3 (включая MinIO, Yandex Object Storage, Cloudflare R2), SFTP, Azure Blob, WebDAV, LocalFs (локальная папка / NFS / CIFS / SMB).

⁠Возможности
  • Управление агентами, расписаниями и хранилищами через веб-интерфейс
  • Logical, physical и physical differential бэкапы PostgreSQL, MS SQL Server, MySQL
  • Файловые наборы (FileSets) — бэкап произвольных каталогов по расписанию без привязки к БД, с дедупликацией чанков
  • Несколько независимых расписаний на одну базу данных или файловый набор — с разными режимами и хранилищами
  • Шифрование AES-256-GCM на стороне агента — ключ никогда не покидает хост с БД
  • Восстановление БД и файлов, дедупликация чанков (FastCDC, sha256), retention-политики
  • Уведомления: email, Telegram, webhook
⁠Агент

Дашборд работает в паре с агентом backupster-agent, который устанавливается на хост с БД и пушит метаданные в дашборд по HTTPS. Креды БД и ключ шифрования остаются на стороне агента.

GitHub агента: https://github.com/mistek131995/backupster-agent⁠

⁠Лицензия

Self-hosted сборка требует лицензионный ключ. Подробности — на странице «Лицензия» в дашборде после первого запуска.

Tag summary

Content type

Image

Digest

sha256:84a7e0335…

Size

100.9 MB

Last updated

4 months ago

docker pull mistekdev/backupster-dashboard