- 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>
3.3 KiB
3.3 KiB
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 file.