dockbare

docker backup & restore — a small self-hosted web UI

note — dockbare is now free to use. The container image is publicly available on Docker Hub — no license, no key. It's feature-complete and will no longer receive feature updates, but it keeps working and you're welcome to run it.

A self-hosted dashboard for scheduling Docker volume backups, syncing them off-site over FTP/FTPS, and restoring them when something goes wrong.

It's a small tool and it's free — no license, no account, no telemetry. Run the container, open the page, done.

[ volume ] ──tar──▶ [ backups/ ] ──ftps──▶ [ off-site ]

the dashboard, doing its thing

what it does

run it

docker-compose.yml
services:
  backup-service:
    image: fluttered/dockbare:latest
    container_name: dockbare
    ports:
      - "127.0.0.1:5000:5000"
    volumes:
      - ./backups:/backups
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - BACKUP_HOST_DIR=${PWD}/backups
    restart: unless-stopped

Create a backups folder next to it, run docker compose up -d, and open 127.0.0.1:5000.

important — dockbare mounts the Docker socket, and socket access is equivalent to root on the host. That's why the compose above binds the port to 127.0.0.1 only. Never expose dockbare to the internet without authentication — keep it on localhost, or put it behind a VPN, an SSH tunnel, or an authenticating reverse proxy.

api

Everything the UI does is plain HTTP underneath, so you can script it — kick off a backup before a deploy, check task status, change schedules.

POST /api/backup
{ "volume": "my_critical_data", "upload_to_ftp": true }

full api reference →

faq

How is this different from offen/docker-volume-backup?

That project is a great CLI tool. This one trades some of its flexibility for a web UI: scheduling, restores, remote sync, and notifications are point-and-click instead of cron jobs and scripts.

Where do my backups go?

Into the backups folder you mount into the container, as plain .tar.gz archives. If you configure an FTP/FTPS server they're mirrored there too. Nothing leaves your infrastructure otherwise.

Does it work with volumes from Compose or Portainer?

Yes. It talks to the Docker socket directly, so it sees every volume on the host, no matter what created it.

What happens to my containers during a backup?

Containers using the volume are stopped briefly so the snapshot is consistent, then restarted automatically. It usually takes a few seconds.