PHPackages                             areia-lab/laravel-maintainer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. areia-lab/laravel-maintainer

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

areia-lab/laravel-maintainer
============================

Enhances Laravel maintenance mode with custom messages, countdowns, IP whitelisting, and an admin UI.

v1.0.4(8mo ago)04MITBladePHP &gt;=8.0

Since Oct 14Pushed 8mo agoCompare

[ Source](https://github.com/areia-lab/laravel-maintainer)[ Packagist](https://packagist.org/packages/areia-lab/laravel-maintainer)[ Docs](https://github.com/areia-lab/laravel-maintainer)[ RSS](/packages/areia-lab-laravel-maintainer/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (7)Used By (0)

AreiaLab Laravel Maintenance
============================

[](#areialab-laravel-maintenance)

Extend Laravel's maintenance mode with a **custom message, countdown timer, whitelist**, and **multi-server storage** (`file`, `redis`, `s3`). Includes a **modern admin UI** built with TailwindCSS.

---

Installation
------------

[](#installation)

```
composer require areia-lab/laravel-maintainer
```

Publish configuration and views:

```
php artisan vendor:publish --tag=maintainer-config
php artisan vendor:publish --tag=maintainer-views
```

---

Configuration
-------------

[](#configuration)

Edit `config/maintenance.php` to configure:

- **driver** — storage driver (`file`, `redis`, `s3`)
- **file\_path** — path for `file` driver (default: `storage/framework/maintenance.json`)
- **redis\_key** — key for `redis` driver
- **s3\_disk / s3\_key** — disk and key for `s3` driver
- **message** — default maintenance message
- **whitelist\_ips / whitelist\_users** — users or IPs allowed to bypass maintenance
- **admin\_path / admin\_middleware** — admin panel URL and middleware protection
- **preview\_path** — optional preview route

Example `.env`:

```
MAINTENANCE_DRIVER=file
MAINTENANCE_FILE_PATH=framework/maintenance.json
MAINTENANCE_MESSAGE="We’ll be back soon after scheduled maintenance."

MAINTENANCE_WHITELIST_USERS=1,2
MAINTENANCE_WHITELIST_IPS=127.0.0.1,192.168.1.10

MAINTENANCE_PREVIEW_PATH=maintenance/preview
MAINTENANCE_ADMIN_PATH=maintenance/admin
MAINTENANCE_ADMIN_MIDDLEWARE=web,auth

MAINTENANCE_LOAD_ROUTES_IN_PRODUCTION=true
```

---

Supported Drivers
-----------------

[](#supported-drivers)

- **file** — stores maintenance state locally (default)
- **redis** — shared across multiple servers
- **s3** — centralized state in S3

> For multi-server deployments, prefer `redis` or `s3`.

---

Commands
--------

[](#commands)

### Enable custom maintenance:

[](#enable-custom-maintenance)

```
php artisan maintenance:enable

php artisan maintenance:enable --message="Upgrading" --ends-at="2025-09-12 03:00" --whitelist-ips="127.0.0.1" --whitelist-users="1,admin@example.com"

php artisan maintenance:enable --force
```

### Disable maintenance:

[](#disable-maintenance)

```
php artisan maintenance:disable

php artisan maintenance:disable --force
```

---

Admin UI
--------

[](#admin-ui)

Visit the admin panel at:

```
/maintenance/admin

```

- Protect with `auth` middleware in production.
- Features:
    - Enable/disable maintenance mode
    - Set custom message
    - Set countdown (`ends_at`)
    - Manage whitelisted users/IPs
    - Real-time countdown display

---

Middleware Usage
----------------

[](#middleware-usage)

```
Route::get('/', function () {
    return view('welcome');
})->middleware(['maintenance.check']);

# Or as a group
Route::middleware(['maintenance.check'])->group(function () {
    Route::get('/', function () {
        return view('welcome');
    });
});
```

---

Preview Maintenance Page
------------------------

[](#preview-maintenance-page)

Visit `/maintenance/preview` to preview the maintenance page without enabling it. Shows message, countdown timer, and optional whitelist info.

---

Notes
-----

[](#notes)

- Multi-server deployments: use `redis` or `s3`.
- Security: always protect the admin panel routes with authentication.
- Customization: override views in `resources/areia/maintenance`.
- Preview in production: disable preview route if needed using `load_routes_in_production` in config.

---

License
-------

[](#license)

MIT

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance59

Moderate activity, may be stable

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

5

Last Release

262d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/142617586?v=4)[Areia Tech](/maintainers/areiatech)[@areiatech](https://github.com/areiatech)

---

Top Contributors

[![engr-akramulhoque](https://avatars.githubusercontent.com/u/116001734?v=4)](https://github.com/engr-akramulhoque "engr-akramulhoque (8 commits)")

---

Tags

laravellaravel-packagemaintenance maintenance modedowntimeareialabupkeeplaravel-maintainerareia-lab-maintainer

### Embed Badge

![Health badge](/badges/areia-lab-laravel-maintainer/health.svg)

```
[![Health](https://phpackages.com/badges/areia-lab-laravel-maintainer/health.svg)](https://phpackages.com/packages/areia-lab-laravel-maintainer)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[renatomarinho/laravel-page-speed

Laravel Page Speed

2.5k1.7M11](/packages/renatomarinho-laravel-page-speed)[vinkius-labs/laravel-page-speed

Laravel Page Speed

2.5k12.5k1](/packages/vinkius-labs-laravel-page-speed)[erag/laravel-pwa

A simple and easy-to-use PWA (Progressive Web App) package for Laravel applications.

180124.1k](/packages/erag-laravel-pwa)[emargareten/inertia-modal

Inertia Modal is a Laravel package that lets you implement backend-driven modal dialogs for Inertia apps.

90142.9k](/packages/emargareten-inertia-modal)[wearepixel/laravel-cart

A cart implementation for Laravel

1374.8k](/packages/wearepixel-laravel-cart)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
