Go to file
2026-02-06 13:23:31 +01:00
containers/backupchecks Auto-commit local changes before build (2026-02-03 17:16:24) 2026-02-03 17:16:24 +01:00
deploy Auto-commit local changes before build (2026-01-01 16:09:56) 2026-01-01 16:09:56 +01:00
docs Add README documentation and Claude changelog 2026-02-04 21:30:53 +01:00
.gitignore Auto-commit local changes before build (2026-01-01 16:09:56) 2026-01-01 16:09:56 +01:00
.last-branch Auto-commit local changes before build (2026-02-03 17:16:24) 2026-02-03 17:16:24 +01:00
build-and-push.sh Auto-commit local changes before build (2026-01-01 16:40:37) 2026-01-01 16:40:37 +01:00
LICENSE Auto-commit local changes before build (2026-01-01 16:09:56) 2026-01-01 16:09:56 +01:00
README.md Add README documentation and Claude changelog 2026-02-04 21:30:53 +01:00
version.txt Release v0.1.20 on branch v20260113-08-vspc-object-linking-normalize (bump type 1) 2026-01-13 16:43:25 +01:00

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.