# DockerVault
> Intelligent Docker backup discovery for real systems
DockerVault scans your Docker environments and figures out **what actually matters to back up** β automatically.
No guesswork. No forgotten volumes. No broken restores.
---
## π Contents
- [π What is DockerVault?](#-what-is-dockervault)
- [β‘ Quick Start](#-quick-start)
- [π Tech Stack](#-tech-stack)
- [π Example](#-example)
- [π§± Current Features](#-current-features)
- [π₯ Roadmap](#-roadmap)
- [π§ Philosophy](#-philosophy)
- [π€ Contributing](#-contributing)
---
## π What is DockerVault?
DockerVault is a CLI tool that:
* Scans Docker Compose projects
* Parses services, volumes, env files
* Identifies **real data vs noise**
* Builds a structured backup understanding
Built for people who run real systems β not toy setups.
---
## π Tech Stack
DockerVault is built using simple, reliable components:
- **Python 3.10+** β core language
- **PyYAML** β parsing Docker Compose files
- **argparse** β CLI interface
- **pip / venv** β environment management
---
### π§ Designed for
- Linux systems (Ubuntu, Debian, Unraid environments)
- Docker Compose based setups
- CLI-first workflows
---
## π§ Why DockerVault?
Most backup setups fail because:
* You forget a volume
* You miss an `.env` file
* You back up cache instead of data
* You donβt know what actually matters
DockerVault solves this by **thinking like an operator**.
---
## β‘ Quick Start
```bash
git clone https://git.lanx.dk/ed/dockervault.git
cd dockervault
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
dockervault scan /path/to/docker
```
---
## π Example
```bash
dockervault scan ~/test-docker --json
```
```json
[
{
"name": "app2",
"services": [
{
"name": "app",
"image": "ghcr.io/example/app:latest",
"env_files": [".env"],
"mounts": [
"./data:/app/data",
"./config:/app/config"
]
}
],
"named_volumes": ["app_cache"]
}
]
```
---
## π§± Current Features
* CLI interface
* Recursive project scanning
* Docker Compose parsing (YAML)
* Service detection
* Volume + bind mount detection
* Environment file detection
---
## π₯ Roadmap
### β
Phase 1 β Discovery
* [x] CLI
* [x] Scan command
* [x] YAML parsing
### π§ Phase 2 β Intelligence
* [ ] Classify mounts (data / config / cache)
* [ ] Detect backup candidates
* [ ] Generate backup plan
### π Phase 3 β Storage
* [ ] SQLite inventory
* [ ] Historical tracking
* [ ] Change detection
### π Phase 4 β Execution
* [ ] Borg integration
* [ ] Backup automation
* [ ] Restore validation
### π§ Future Ideas
- [ ] Auto-detect Docker hosts on network
- [ ] Multi-node backup coordination (Lanx-style)
- [ ] Backup simulation ("what would be backed up?")
- [ ] Restore dry-run validation
- [ ] Tagging system (critical / optional / ignore
---
## π§ Philosophy
DockerVault is built on a simple idea:
> Backups should be **correct by default**
Not configurable chaos.
Not guesswork.
But **system understanding**.
---
## π€ Contributing
Feel free to contribute, suggest improvements or fork the project.
---
Built with β€οΈ for Lanx by NodeFox π¦
Maintained by Eddie Nielsen