--- layout: page title: VolumeVault permalink: / toc: false ---

VolumeVault

# Docker Volume Backups With Safer Restores VolumeVault is a self-hosted Laravel application for managing Docker volume backups and safe restores to storage backends supported by [`offen/docker-volume-backup`](https://github.com/offen/docker-volume-backup). It provides a guided web UI around scheduled backups, encrypted destinations, notifications, restore runs, run history, onboarding, and API-driven automation while keeping operational risks explicit.

VolumeVault dashboard preview VolumeVault backup jobs preview

## Highlights - Discover Docker volumes through the Docker CLI and keep missing volumes visible only while backup jobs still reference them. - Review backup coverage by volume or Docker Compose/Swarm stack, including the latest known backup size when available. - Configure AWS S3, Cloudflare R2, custom S3-compatible storage, WebDAV, SSH/SFTP, Azure Blob Storage, Dropbox, Google Drive, and local filesystem destinations. - Store destination credentials and notification URLs encrypted at rest with Laravel `Crypt`. - Create hourly, daily, weekly, or cron-based backup schedules. - Group several volumes into one scheduled backup that reports a single start and success/failure notification, ideal for a single dead man's switch monitor. - Run manual backups, pause or resume jobs, inspect logs, and view backup and restore history. - Restore selected archives into new Docker volumes by default. - Configure Shoutrrr notification channels per backup job, with a default channel for new jobs and backup size available in messages when it is known. - Create API tokens for integrations, automation scripts, dashboards, and AI agents. - Export encrypted installation saves and import them during onboarding. ## Quick Start Generate an application key first: ```bash docker run --rm ghcr.io/darkdragon14/volumevault:latest php artisan key:generate --show ``` Paste the generated key into the recommended Compose file from the installation guide, then start VolumeVault: ```bash docker compose up -d ``` Open `http://localhost:8080`, then create the first administrator account from onboarding or import an existing installation save. ## Security Warning Mounting `/var/run/docker.sock` gives VolumeVault high privileges on the Docker host. Only run it in a trusted environment, and treat access to the web UI and write-capable API tokens like access to the Docker host. ## Documentation - [Installation]({{ '/installation/' | relative_url }}): Docker Compose setup, environment variables, `APP_KEY`, onboarding, and users. - [Destinations]({{ '/destinations/' | relative_url }}): supported storage providers and destination behavior. - [Backup & Restore]({{ '/backup-restore/' | relative_url }}): jobs, scheduling, backup engine details, restore behavior, and notifications. - [Security]({{ '/security/' | relative_url }}): Docker socket risk, encrypted secrets, installation saves, password recovery, and safety notes. - [API]({{ '/api/' | relative_url }}): Sanctum tokens, API abilities, and useful endpoints. - [Development & Roadmap]({{ '/development-roadmap/' | relative_url }}): local development, tests, limitations, and roadmap. ## Credits VolumeVault relies on [`offen/docker-volume-backup`](https://github.com/offen/docker-volume-backup) for the actual Docker volume backup engine and destination support. Huge thanks to Offen and the maintainers of `offen/docker-volume-backup` for their work. VolumeVault exists as an orchestration and management UI around that project, not as a replacement for it.