3.7 KiB
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?
- 🧠 Why DockerVault?
- ⚡ Quick Start
- 🛠 Tech Stack
- 🔍 Example
- 🧱 Current Features
- 🔥 Roadmap
- 🧠 Philosophy
- 🤝 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 running real systems — not toy setups.
🧠 Why DockerVault?
Most backup setups fail because:
- You forget a volume
- You miss an
.envfile - You back up cache instead of data
- You don’t know what actually matters
DockerVault solves this by thinking like an operator.
⚡ Quick Start
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
🛠 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
🔍 Example
dockervault scan ~/test-docker --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
- CLI
- Scan command
- 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
🔔 Phase 5 – Notifications & Monitoring
-
Email notifications
-
ntfy.sh integration
-
Webhook support
-
Alerts on:
- missing backups
- new volumes
- changed data paths
-
Daily/weekly reports
🧠 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 & NodeFox 🦊 Feel free to contribute, suggest improvements or fork the project.