Skip to main content

Custom Domain Configuration

You can host your status pages on a custom domain by configuring the APP_STATUS_PAGE_DOMAIN environment variable.

Setup Steps

You can only have slugs on this domain. If you want a status page without a slug you need to use a different domain
1

Configure Environment Variable

Add the following to your .env file:
Replace status.example.com with your desired status pages domain.
2

Configure DNS

Point your custom domain to your UptimeKit installation:
  • Add an A record pointing to your status-page server’s IP address
3

Restart Application

Restart your UptimeKit instance to apply the changes:
If you don’t configure a custom domain, status pages will be accessible via the default the domain reverse proxying the status page.

Slug-Based Routing

Each status page can have a unique slug that makes it accessible via a clean URL path.

How It Works

When you create or edit a status page, you can set a custom slug in the status page settings. The slug will be used in the URL:

Best Practices

  • Use lowercase letters, numbers, and hyphens
  • Keep slugs short and memorable
  • Use descriptive names (e.g., api, website, services)
  • Avoid special characters or spaces
Slugs must be unique across all status pages in your UptimeKit instance.

Password Protection

You can make status pages private by enabling password protection. This is useful for internal status pages or pages with sensitive information.

Enabling Password Protection

1

Configure Secret Key (Optional)

Optionally add a dedicated secret for status page access tokens to your .env file:
This environment variable is optional. If not set, UptimeKit will use BETTER_AUTH_SECRET as a fallback. The secret is used to sign session tokens, not for the actual status page passwords (those are set per-page in the dashboard).
To generate a secure secret:
2

Enable Protection in Dashboard

  1. Navigate to your status page settings
  2. Toggle the “Make private” option
  3. Set a password for the status page
  4. Save your changes
3

Access Protected Page

When users visit your status page, they’ll be prompted to enter the password. After successful authentication, they’ll have access for 24 hours via a secure session token.

Security Features

Password-protected status pages include several security features:
Always use strong, unique passwords for protected status pages. Either STATUS_PAGE_ACCESS_SECRET or BETTER_AUTH_SECRET must be configured for password protection to work.

User Authentication Flow

  1. User visits the protected status page URL
  2. UptimeKit displays a password prompt
  3. User enters the status page password
  4. Password is verified against the Argon2id hash
  5. Upon success, a secure session token is issued for 24 hours
  6. User can access the status page without re-authentication during the session period

Example Configuration

Here’s a complete example of status page configuration in your .env file:
Remember to restart your UptimeKit instance after making changes to environment variables.