Skip to content

About

If you need help or something contact with me this is my linkedin https://www.linkedin.com/in/michael-buritica/

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Docker Vault UI

A simple, self-hosted web UI to backup and restore Docker container volumes. No scripts, no CLI — just point, click, and protect your data.

alt text

Real Screenshot.

Disclaimer

This project was built entirely through AI-assisted "vibe coding". It is functional and covered by automated tests, but it is provided as is, without warranty of any kind.

  • Use it at your own risk. The authors and contributors are not responsible for any data loss, corruption, or damage resulting from the use of this software.
  • It mounts your Docker socket, which grants broad control over your host. Only run it on machines you control and trust.
  • Never rely on this tool as your only backup strategy. Always verify your backups independently and test your restores before you need them.

By using this software you accept these conditions. See LICENSE for the full terms.

Features

  • Automatic discovery — detects all Docker containers and their volumes
  • One-click backup — create compressed .tar.gz backups of any volume
  • Scheduled backups — cron-based automatic backups with retention policies
  • Instant restore — restore any backup to its original volume
  • Storage providers — configure local directories as backup destinations
  • Backup history — full audit trail with status, size, and duration
  • Clean UI — responsive dashboard built with Next.js and Tailwind CSS

Quickstart

# Clone the repository
git clone https://github.com/Revolutionnnn/docker-ultimate.git
cd docker-ultimate

# Start the application
docker compose up -d

The frontend will be available at http://localhost:3000 and the API at http://localhost:8080.

Authentication

By default, a random API token is generated on first run. Check your backend logs:

docker compose logs backend | grep VAULT_TOKEN

Set the token as a VAULT_TOKEN environment variable in .env to use a fixed token.

The frontend currently accepts the token in browser — paste it into localStorage:

localStorage.setItem("vault_token", "your-token-here");

Architecture

Layer Technology
Frontend Next.js 16 + TypeScript + TailwindCSS
Backend Go + Echo + GORM + SQLite
Backup Engine Docker containers (Alpine + tar)
Storage Local filesystem (S3/Cloudflare R2 planned)

Security

This application mounts the Docker socket (/var/run/docker.sock) and needs it to discover containers and run backups. The API is protected by a bearer token (see Authentication above).

  • The backend binds to 127.0.0.1 by default — only the frontend can reach it within the Docker network.
  • Do not expose the backend port directly to the internet.
  • Always set a strong VAULT_TOKEN in production.

Development

# Backend
cd backend && go run .

# Frontend
cd frontend && npm install && npm run dev

# Or with Docker Compose (dev mode with hot reload)
docker compose -f docker-compose.dev.yml up

Roadmap

  • Container & volume discovery
  • Manual backup (one click)
  • Backup history
  • Manual restore
  • Scheduled backups (cron)
  • Retention policies
  • S3 / MinIO / Cloudflare R2 upload
  • Encryption (Restic)
  • Multi-host support
  • Authentication UI (login page)
  • Slack / Webhook alerts

License

GNU General Public License v3.0 (GPL-3.0) — see LICENSE.

This is free software: you can redistribute it and/or modify it under the terms of the GNU GPL as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

About

If you need help or something contact with me this is my linkedin https://www.linkedin.com/in/michael-buritica/

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages