🔧 Edgy

Edgy - Instant, on-demand maintenance mode for your site | Product Hunt Embed

The Skinny

Need a lightning-fast, on-demand maintenance page? You're in the right place. Edgy is a customizeable maintenance page that can be toggled on and off as needed. It can even be set up on a per-route basis if you only want to put some parts of your site in maintenance mode.

When Maintenance Mode is off:

graph LR A[Browser] --> |request| B{Edgy} style B fill:#FAC37E,stroke:#333,stroke-width:3px B --> C(GET yoursite.com) style C fill:#FFF,stroke:#333,stroke-width:1px B --> |response| A

When Maintenance Mode is on:

graph LR A[Browser] --> |request| B{Edgy} style B fill:#FAC37E,stroke:#333,stroke-width:3px B -- X --- C(GET yoursite.com) style C fill:#FFF,stroke:#333,stroke-width:1px B --> |Maintenance Page| A

Tutorial

Check out this tutorial to see it in action.

How to Install

Powered by Cloudflare

Edgy is powered by Cloudflare. If you're already using Cloudflare, click here to install Edgy.

Cloudflare offers DDoS protection, a global CDN, SSL certificates, and a lot more cool stuff for free. You should probably use it.

Configuration

Edgy is dirt simple to set up. You can get the gist of it from the installation page, but we'll dig into the nuts and bolts below.

Edgy is available in two plans — Plus and Pro. The Plus plan includes a configureable global maintenance page and Maintenance Templates and the Pro plan unlocks route-based maintenance pages and advanced features.

Configuration Options

The following Built-in Maintenance Page Options are available on all plans:

The following Maintenance Template Options are available on all plans:

The following Global Maintenance Options are available on all plans:

The following Always Up Mode Options are available on all plans:

The following Route Based Options are available on the Pro plan:

The following Advanced Options are available on the Pro plan:

Built-in Maintenance Page Options plus pro

The Built-in Maintenance Page is displayed during Maintenance Mode if

Site Name

The name of your site to be displayed in the <title> attribute of the Built-in Maintenance Page. The title of the page will be [Site Name] | Under Maintenance.

Heading Text

The Heading text to display in the Built-in Maintenance Page.

The Heading Text is "We're undergoing a bit of scheduled maintenance" in the Themes images below.

Subheading Text

The Subheading text to display in the Built-in Maintenance Page.

The Subheading Text is "We'll be back online" in the Themes images below.

Theme

Choose from one of the following themes for the Built-in Maintenance Page.

Black & White Theme

Black & White Theme

Rustic Theme

Rustic Theme

Modern Theme

Modern Theme

Surreal Theme

Surreal Theme

Maintenance Template Options plus pro

Maintenance Template

Template to display during Maintenance Mode. If this is unset, the Built-in Maintenance Page will be displayed. All media resources should be hosted remotely due to strict template size limitations. Refer to the following table for more information.

Image src attribute Result
../assets/my-image.png 🤮
https://somehost.com/my-image.png 🎉

Do not include base64 encoded images in your template due to strict template size restrictions.

Page Templates are displayed in rank order. Route Template has precedence over Maintenance Template, which has precendence over Built-in Maintenance Page. For example, A Pro user may use the Built-in Maintenance Page on selected routes by leaving Maintenance Template and Route Template blank.

Global Maintenance Options

Persistent Maintenance Mode plus pro

Persist maintenance mode sitewide if set inside Global Maintenance Options or on a Route if set on Route Based Options. An Edgy-Mode=maintenance response header is set when maintenance mode is active.

If Persistent Maintenance Mode is set both globally and on a route, the global option wins and maintenance mode will appear on your entire site.

Scheduled Maintenance Mode pro

Activate maintenance mode after this valid ISO 8601 instant. Remove this value to disable Scheduled Maintence Mode. An Edgy-Mode=maintenance response header is set when maintenance mode is active.

If Scheduled Maintenance Mode is set both globally and on a route, the global option wins and maintenance mode will appear on your entire site after the provided instant.

Always Up Mode Options

Enable Always Up Mode

Always Up Mode makes your site appear online even when your servers are unresponsive. Edgy renders the Always Up Template of your choice when requests fail if certain 500-level response errors are received from your servers. An Edgy-Mode=alwaysup response header is set when Always Up Mode is active.

Always Up Mode is activated by the following 500-level response errors from your server: 502 503 504 520 521 522 523 524 525 526 527 530.

Always Up Template

Edgy renders this HTML template if your servers become unresponsive.

If Always Up Template and Template Location are empty, Built-in Maintenance Page is rendered in Always Up Mode.

Template Location

Edgy renders the page at this remote URL when your servers become unresponsive. Template Location will be rendered if both Template Location and Always Up Template are set.

If Always Up Template and Template Location are empty, Built-in Maintenance Page is rendered in Always Up Mode.

Route Based Options pro

Route URL

The maintenance page will be displayed on this URL. This can be any URL on your domain and can include subdomains. It is important that a full URL is specified here. Edgy won't like it if you supply a path like /store here. It requires a URL like yoursite.com/store to work right. Here's some more examples in an informative table.

Route URL Result
/sad/path 🤮
yoursite.com/cool-beans 🎉
blog.yoursite.com 🎉

Edgy will automatically display Maintenace Mode for any requests to subfolders of Route URL. In the table above, traffic to blog.yoursite.com/topics will also enter maintenance mode.

Route Template

Template to display during Maintenance Mode on this route. If unset, Maintenance Template will be displayed instead. All media resources should be hosted remotely due to strict template size limitations. Refer to the following table for more information.

Image src attribute Result
../assets/my-image.png 🤮
https://somehost.com/my-image.png 🎉

Do not include base64 encoded images in your template due to strict template size restrictions.

Page Templates are displayed in rank order. Route Template has precedence over Maintenance Template, which has precendence over Built-int Maintenance Page*. For example, A _Pro* user may use the Built-in Maintenance Page on selected routes by leaving Maintenance Template and Route Template blank.

Advanced Options pro

Response Status

HTTP status code to return along with the maintenance page. A 200 is returned by default, but any number between 200 and 600 is valid. Responding with an unusual status code can be useful if you're using site reliability software to monitor your site.

IP Whitelist

These IP addresses willbe able to view your page, bypassing Maintenance Mode. This is useful if you want to debug your site while its already in maintenance mode.

Multiple IP addresses should be separated by new lines

Bypass Code

A Bypass Code is a way to bypass Maintenance Mode using query parameters. Set a Bypass Code value and pass it along with the page URL in a EdgyBypassCode query parameter. This is useful if you want to debug your site while its already in maintenance mode.

If Maintenace Mode is active and Bypass Code=a6vgfQ, a request to www.yoursite.com?EdgyBypassCode=a6vgfQ will bypass maintenance mode.

Attributions

The Built-in Maintenance Page gear logo was designed by Icongeek26 at FlatIcon.

The Built-in Maintenance Page surreal drawings were made by a talented person at Absurd Design.