- Fill README.md with comprehensive project documentation - Add docs/changelog-claude.md for tracking Claude Code changes Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
122 lines
3.3 KiB
Markdown
122 lines
3.3 KiB
Markdown
# BackupChecks
|
|
|
|
A backup monitoring and compliance application designed for Managed Service Providers (MSPs) and IT departments.
|
|
|
|
## Features
|
|
|
|
### Mail Ingestion & Parsing
|
|
- Automated email import from Microsoft Graph API (Office 365)
|
|
- Supports 11 backup software platforms:
|
|
- Veeam (including SOBR capacity monitoring)
|
|
- Synology
|
|
- QNAP
|
|
- Nakivo
|
|
- Syncovery
|
|
- Boxafe
|
|
- R-Drive
|
|
- 3CX
|
|
- NTFS Auditing
|
|
- And more
|
|
- Intelligent email parsing extracts backup metadata
|
|
- Raw EML storage for debugging with configurable retention
|
|
|
|
### Backup Job Tracking
|
|
- Dashboard with daily backup job status summaries
|
|
- Expected vs. actual job runs based on schedules
|
|
- Missed backup detection
|
|
- Status tracking: Success, Warning, Error, Missed
|
|
- Timezone-aware calculations (defaults to Europe/Amsterdam)
|
|
|
|
### Run Checks & Review Workflow
|
|
- Manual review interface for backup failures
|
|
- Mark runs as "reviewed"
|
|
- Approval workflow for backup email processing
|
|
- Storage capacity monitoring
|
|
- Autotask PSA ticket integration
|
|
|
|
### Override Rules
|
|
- Exception rules at global or job-level
|
|
- Matching criteria: status, error message patterns
|
|
- Validity windows for temporary overrides
|
|
|
|
### Multi-Customer Management
|
|
- Organize jobs by customer
|
|
- Autotask company mapping
|
|
- Customer-scoped reporting and permissions
|
|
|
|
### Tickets & Remarks
|
|
- Internal ticket system for backup issues
|
|
- Automatic linking to affected job runs
|
|
- Scope-based ticket resolution
|
|
- Feedback/feature request board
|
|
|
|
### Reporting & Analytics
|
|
- Snapshot-based reporting with configurable periods
|
|
- Historical success rates and trend analysis
|
|
- CSV export functionality
|
|
|
|
### Autotask Integration
|
|
- Create PSA tickets from failed backup runs
|
|
- Link internal tickets to Autotask
|
|
- Deep links back to BackupChecks
|
|
|
|
### User Management
|
|
- Role-based access control (admin, viewer, custom roles)
|
|
- Theme preferences (light/dark/auto)
|
|
- In-app news/announcements
|
|
|
|
## Technology Stack
|
|
|
|
**Backend:**
|
|
- Flask 3.0.3 (Python)
|
|
- SQLAlchemy with PostgreSQL 16
|
|
- Flask-Login for authentication
|
|
- Gunicorn server
|
|
|
|
**Frontend:**
|
|
- Jinja2 templates (server-side rendering)
|
|
- Bootstrap-based responsive UI
|
|
- JavaScript/AJAX for dynamic interactions
|
|
|
|
**Infrastructure:**
|
|
- Docker containerized
|
|
- PostgreSQL database
|
|
- Adminer for database management
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
backupchecks/
|
|
├── containers/backupchecks/
|
|
│ ├── Dockerfile
|
|
│ ├── requirements.txt
|
|
│ └── src/
|
|
│ ├── backend/app/
|
|
│ │ ├── main.py # Entry point
|
|
│ │ ├── models.py # Database models
|
|
│ │ ├── parsers/ # Backup software parsers
|
|
│ │ ├── integrations/ # Autotask integration
|
|
│ │ └── main/ # Route handlers
|
|
│ ├── templates/ # Jinja2 templates
|
|
│ └── static/ # CSS, JS, assets
|
|
├── deploy/
|
|
│ └── backupchecks-stack.yml # Docker Compose
|
|
└── docs/ # Documentation
|
|
```
|
|
|
|
## Deployment
|
|
|
|
The application runs as a Docker stack in Portainer.
|
|
|
|
## Configuration
|
|
|
|
Key settings are managed via the web interface under Settings:
|
|
- Mail import configuration (Microsoft Graph API)
|
|
- Autotask integration credentials
|
|
- Timezone settings
|
|
- User management
|
|
|
|
## License
|
|
|
|
See [LICENSE](LICENSE) file.
|