An open API service indexing awesome lists of open source software.

https://github.com/darkdragon14/volumevault

Self-hosted Laravel app to manage Docker volume backups and safe restores using offen/docker-volume-backup.
https://github.com/darkdragon14/volumevault

backup docker docker-backup docker-volume docker-volume-backup homelab larevel restore s3 s3-compatible self-hosted sftp volume-backup webdav

Last synced: 28 days ago
JSON representation

Self-hosted Laravel app to manage Docker volume backups and safe restores using offen/docker-volume-backup.

Awesome Lists containing this project

README

          


VolumeVault

# VolumeVault

[![tests](https://github.com/Darkdragon14/VolumeVault/actions/workflows/tests.yml/badge.svg)](https://github.com/Darkdragon14/VolumeVault/actions/workflows/tests.yml)
[![Container image](https://github.com/darkdragon14/VolumeVault/actions/workflows/ghcr.yml/badge.svg?branch=main)](https://github.com/darkdragon14/VolumeVault/actions/workflows/ghcr.yml)
[![Latest release](https://img.shields.io/github/v/release/darkdragon14/VolumeVault?display_name=tag&sort=semver&label=release)](https://github.com/darkdragon14/VolumeVault/releases)
[![PHP](https://img.shields.io/badge/PHP-8.5%2B-777bb4?logo=php&logoColor=white)](https://www.php.net/)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](composer.json)

VolumeVault is a self-hosted Laravel application for managing Docker volume and host path backups with safe restores through [`offen/docker-volume-backup`](https://github.com/offen/docker-volume-backup).

It provides a clear web UI for scheduled backups, stack-level volume coverage, restore runs, encrypted destinations, notifications, run history, onboarding, and API-driven automation.



VolumeVault dashboard preview


VolumeVault backup jobs preview

## Get Started

Generate an application key first:

```bash
docker run --rm ghcr.io/darkdragon14/volumevault:latest php artisan key:generate --show
```

Create a `docker-compose.yml` file and paste the generated key in `APP_KEY`:

```yaml
services:
volumevault:
image: ghcr.io/darkdragon14/volumevault:latest
ports:
- "8080:8080"
volumes:
- volumevault_data:/app/storage
- /var/run/docker.sock:/var/run/docker.sock
environment:
APP_KEY: base64:paste-generated-key-here
restart: unless-stopped

volumes:
volumevault_data:
```

Start VolumeVault:

```bash
docker compose up -d
```

Open `http://localhost:8080` and create the first administrator account from the onboarding screen.

The container listens on port `8080`; change the host side of the mapping, for example `9090:8080`, if you want to expose VolumeVault on another port.

The single container runs nginx, PHP-FPM, database migrations, queue worker, and scheduler.

Defaults are built into the application for a production SQLite setup. Add environment variables only when you need to override them, for example `APP_URL`, `APP_TIMEZONE`, or SMTP settings.

You can also use `env_file: .env` for overrides, but do not reuse a development `.env` in production without review. Values such as `APP_ENV=local` or `APP_DEBUG=true` override the safe production defaults.

Host path backup jobs can be limited with `VOLUMEVAULT_HOST_PATH_ALLOWLIST`, a comma-separated list of allowed Docker host path prefixes such as `/srv,/mnt/data`. When set, host path jobs outside those prefixes are rejected when saved.

Keep your `APP_KEY` safe: it is required to decrypt destinations, notifications, and installation saves.

## Documentation

The full documentation is published with GitHub Pages and built from the [`docs`](docs) directory.

- Documentation URL: [https://darkdragon14.github.io/VolumeVault/](https://darkdragon14.github.io/VolumeVault/)
- Documentation source: [`docs/index.md`](docs/index.md)

## 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.

## Contributing

All contributions are welcome.