docs: rewrite README to match project direction

This commit is contained in:
Eddie Nielsen 2026-03-22 12:07:34 +00:00
parent 6c79fcc20b
commit 0dd971b004

157
README.md
View file

@ -1,57 +1,146 @@
<p align="center">
<img src="images/dockervault_logo.png" width="200">
</p>
# DockerVault # DockerVault
Early CLI foundation for DockerVault. > Intelligent Docker backup discovery for real systems
## Current scope DockerVault scans your Docker environments and figures out **what actually matters to back up** — automatically.
- Python CLI project skeleton No guesswork. No forgotten volumes. No broken restores.
- `scan` command
- Recursive discovery of Docker Compose projects
- YAML parsing with `PyYAML`
- Detection of:
- services
- images
- restart policies
- bind mounts
- named volumes
- `env_file`
- JSON or human-readable output
## Quick start ---
## 🚀 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.
---
## 🧠 Why DockerVault?
Most backup setups fail because:
* You forget a volume
* You miss an `.env` file
* You back up cache instead of data
* You dont know what actually matters
DockerVault solves this by **thinking like an operator**.
---
## ⚡ Quick Start
```bash ```bash
git clone https://git.lanx.dk/ed/dockervault.git
cd dockervault
python3 -m venv .venv python3 -m venv .venv
source .venv/bin/activate source .venv/bin/activate
pip install -e . pip install -e .
dockervault scan /path/to/docker
``` ```
Run a scan: ---
## 🔍 Example
```bash ```bash
dockervault scan /path/to/docker/projects dockervault scan ~/test-docker --json
``` ```
JSON output: ```json
[
```bash {
dockervault scan /path/to/docker/projects --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"]
}
]
``` ```
## What v0.2 adds ---
DockerVault no longer just finds compose files. ## 🧱 Current Features
It now builds a first inventory layer that can be used for backup logic later:
- project name and root path * CLI interface
- compose files found in the project * Recursive project scanning
- service metadata * Docker Compose parsing (YAML)
- backup candidate paths from bind mounts and env files * Service detection
- named volumes defined in compose * Volume + bind mount detection
* Environment file detection
## Example direction ---
This is meant as the next brick in a bigger flow: ## 🔥 Roadmap
1. Discover Docker app folders ### ✅ Phase 1 Discovery
2. Learn what services and data paths exist
3. Later attach backup rules, Borg targets, retention, notifications, and restore metadata * [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
---
## 🧠 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.
---
<p align="center">
Built with ❤️ for Lanx by NodeFox 🦊
Maintained by Eddie Nielsen
</p>