Download the PHP package nowo-tech/maintenance-mode-bundle without Composer
On this page you can find all versions of the php package nowo-tech/maintenance-mode-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nowo-tech/maintenance-mode-bundle
More information about nowo-tech/maintenance-mode-bundle
Files in nowo-tech/maintenance-mode-bundle
Package maintenance-mode-bundle
Short Description Symfony bundle to put a site into maintenance mode with configurable exclusions, panel CRUD, and pluggable storage.
License MIT
Homepage https://github.com/nowo-tech/MaintenanceModeBundle
Informations about the package maintenance-mode-bundle
Maintenance Mode Bundle
⭐ Found this useful? Install from Packagist · Give it a star on GitHub so more developers can find it.
Maintenance Mode Bundle — Put a Symfony site into maintenance mode (HTTP 503) with configurable exclusions, a Twig admin panel, scheduled windows, append-only history, and pluggable storage / access gates. Tested on Symfony 7.4, 8.0, and 8.1 · PHP 8.2+ (Symfony 8.x requires PHP 8.4+).
This bundle is FrankenPHP worker mode friendly.
Features
- 503 listener — Configurable-priority
kernel.requestinterceptor (default after router), HTML or JSON, dynamicRetry-After,Cache-Control: no-store. - Exclusions — Exact paths, prefixes, route names, globs,
#regex#/~regex~, IPs/CIDR,#[ExcludeFromMaintenance], soft bypass token. - Admin panel — Enable / disable / schedule / clear schedule / history under a configurable prefix (default
/_maintenance). - CLI —
nowo:maintenance-mode:enable(--until,--message,--actor),nowo:maintenance-mode:disable,nowo:maintenance-mode:status,nowo:maintenance-mode:hash-password. - Events & Twig — Domain events on state changes;
nowo_maintenance_is_enabled()/nowo_maintenance_state(). - Password gate — Optional
password_hash(bcrypt / argon2id); replaceable viaMaintenanceAccessGateInterface. - Pluggable storage — Filesystem JSON/JSONL by default; swap for Doctrine or anything else via DI.
Installation
With Symfony Flex, the recipe registers the bundle and adds config. Without Flex, see docs/INSTALLATION.md.
Requirements
- PHP
>=8.2(<8.6); Symfony 8.0 and 8.1 require PHP 8.4+ - Symfony 7.4, 8.0, or 8.1 (
^7.4 || ^8.0) - Twig for the maintenance page and panel templates
Configuration
Usage
Open /_maintenance to toggle maintenance. Visitors hit the public page with HTTP 503; excluded routes and the panel keep working. In dev, preview the configured page at /_maintenance_preview (like /_error/503). Demo gallery: /examples.
See docs/USAGE.md.
Demo
| Demo | Symfony | PHP | Default port |
|---|---|---|---|
demo/symfony8 |
8.1 | 8.5 | 8055 |
Runs FrankenPHP + Caddy (FRANKENPHP_MODE=worker by default). Panel password: maintenance. See docs/DEMO-FRANKENPHP.md.
Development
Documentation
- Installation
- Configuration
- PSR evaluation (REQ-CS-007)
- Usage
- Contributing
- Code of Conduct
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
- GitHub Spec Kit
Additional documentation
- Demo (FrankenPHP)
- Maintenance page examples
- GitHub Actions CI requirements
Tests and coverage
- Tests: PHPUnit (PHP)
- PHP: 100% Lines (run
make coverage-check)
License and author
MIT · Nowo.tech · Héctor Franco Aceituno
All versions of maintenance-mode-bundle with dependencies
nowo-tech/ui-kit-bundle Version ^1.4
symfony/config Version ^7.4 || ^8.0
symfony/console Version ^7.4 || ^8.0
symfony/dependency-injection Version ^7.4 || ^8.0
symfony/event-dispatcher Version ^7.4 || ^8.0
symfony/form Version ^7.4 || ^8.0
symfony/http-foundation Version ^7.4 || ^8.0
symfony/http-kernel Version ^7.4 || ^8.0
symfony/routing Version ^7.4 || ^8.0
symfony/security-core Version ^7.4 || ^8.0
symfony/security-csrf Version ^7.4 || ^8.0
symfony/yaml Version ^7.4 || ^8.0
twig/extra-bundle Version ^3.12
twig/string-extra Version ^3.12