Custom Domain Configuration
You can host your status pages on a custom domain by configuring theNEXT_PUBLIC_STATUS_PAGE_DOMAIN environment variable.
Setup Steps
1
Configure Environment Variable
Add the following to your Replace
.env file:status.example.com with your desired status page domain.2
Configure DNS
Point your custom domain to your UptimeKit installation:
- Add an A record pointing to your server’s IP address, or
- Add a CNAME record pointing to your UptimeKit domain
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 dashboard domain.
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
- Navigate to your status page settings
- Toggle the “Make private” option
- Set a password for the status page
- 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:| Feature | Description |
|---|---|
| Argon2id Hashing | Passwords are hashed using Argon2id, a modern password hashing algorithm resistant to GPU and side-channel attacks |
| Session Tokens | Users receive a 24-hour session token after successful authentication |
| Rate Limiting | Built-in protection against brute-force attacks |
| Secure Storage | Passwords are never stored in plain text |
User Authentication Flow
- User visits the protected status page URL
- UptimeKit displays a password prompt
- User enters the status page password
- Password is verified against the Argon2id hash
- Upon success, a secure session token is issued for 24 hours
- 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.