Vanguard is an open-source backup platform designed for system administrators and DevOps teams managing Ubuntu and Debian servers. It solves the challenge of unreliable, manual backup processes by providing an automated, web-based interface to schedule and monitor file and database backups to cloud storage like S3. Built with Laravel and Livewire, it combines enterprise-grade features with community-driven development.
The application leverages PHP8, Laravel, and Livewire to deliver a responsive UI, with integrations for S3, OAuth authentication, and REST APIs. It supports deployment via Docker or direct server installation and includes a PHP SDK for custom automation workflows, making it ideal for teams seeking transparent, self-hosted backup infrastructure.
What You Get
- File and Database Backup Support - Vanguard backs up both filesystem files and SQL databases (MySQL, PostgreSQL) with configurable retention policies and compression.
- S3 Cloud Storage Integration - Direct, encrypted uploads to Amazon S3-compatible storage with configurable buckets and credentials.
- Multi-Channel Notifications - Real-time alerts via Email, Discord, Slack, and Pushover for backup success, failure, or warnings.
- OAuth Login & 2FA - Secure authentication using GitHub, GitLab, or Bitbucket accounts with optional two-factor authentication.
- REST API for Automation - Full-featured REST API to trigger backups, retrieve status, and integrate with CI/CD pipelines or monitoring tools.
- Encrypted Data Storage - Sensitive backup metadata and credentials are encrypted at rest using Laravel’s built-in encryption layer.
- Backup Statistics & Reporting - Visual dashboards showing backup history, success rates, storage usage, and performance metrics.
- Multi-Language Support - UI localized for multiple languages with translation-ready templates and configuration.
Common Use Cases
- Running a WordPress site on Ubuntu - A web developer uses Vanguard to automatically back up WordPress files and MySQL database daily to S3, with Slack alerts for failures.
- Managing multiple client servers - A managed service provider deploys Vanguard on each client’s Ubuntu server to centralize backup monitoring and reporting via the REST API.
- Automating backups in a CI/CD pipeline - A DevOps engineer triggers Vanguard backups via its REST API after a successful deployment to ensure rollback-ready snapshots.
- Complying with data retention policies - A compliance officer configures Vanguard to retain 90 days of encrypted backups on S3 with audit-ready reporting logs.
Under The Hood
Architecture
- Laravel-based monolithic structure with clear separation between HTTP controllers, Livewire components, and service layers, enforcing single responsibility through well-defined namespaces like
App\Services\Backup\Tasks
- Strategy pattern implemented via abstract base classes and dependency injection, enabling polymorphic backup behaviors while maintaining testability
- Livewire components integrate stateful UI logic with Eloquent models and validation, reducing boilerplate through property binding and event-driven reactivity
- Deprecation of procedural helpers in favor of service-based abstractions like
ServerConnectionManager demonstrates a deliberate move toward maintainable, testable code
- Modular asset pipeline using Vite and Tailwind CSS supports component-driven frontend development, with clean separation across models, services, and API resources
Tech Stack
- Laravel 11.9 backend with Livewire 3, Volt, and Breeze for cohesive UI and authentication scaffolding
- PHP 8.3 powered by Horizon, Pulse, and Reverb for queue management, real-time monitoring, and WebSocket communication
- Vite 6.3 with Tailwind CSS and Blade plugins enables modern, component-based styling and asset bundling
- JavaScript frontend leverages Axios, Pusher-js, and Tippy.js for real-time updates and enhanced user interactions
- Pest PHP 2.0 and Larastan provide comprehensive testing and static analysis, while Husky and Prettier enforce consistent formatting
Code Quality
- Extensive test coverage spanning unit, feature, and integration scenarios with robust mocking and database state validation
- Strong adherence to Laravel conventions, including dependency injection, policy-based authorization, and factory-based test data generation
- Explicit error handling with descriptive messages and appropriate HTTP status codes, though custom exception classes are not utilized
- Consistent, domain-aligned naming across all layers, enhancing readability and maintainability
- Type safety is prioritized through strict typing, PHPDoc annotations, and type-hinted request classes, minimizing runtime failures
What Makes It Unique
- Native SSH key management with dynamic injection into remote sessions eliminates reliance on external tools like ssh-agent
- Built-in Year-in-Review analytics dynamically generates personalized backup summaries using contextual date-based configurations
- Livewire Volt-based UI with integrated SVG icons and stateful wizards unifies form logic and reactive UI in a seamless workflow
- Custom tag system with hex-color persistence enables visual organization of workflows beyond basic categorization
- Event-driven backup logging with real-time Livewire UI updates creates a desktop-like experience within a web interface