Integrate With Beszel
What is Beszel
Beszel is a lightweight server monitoring platform that provides Docker statistics, historical data, and configurable alerts. It features a user-friendly web interface, supports multi-user management, OAuth authentication, and offers a REST API for integration with other applications. Designed for simplicity, Beszel is easy to set up and operates efficiently without requiring public internet exposure.
This guide explains how to configure Beszel to use authentik as the OAuth provider for logging in to the Web GUI.
Preparation
beszel.company
is the FQDN of the Beszel installation.authentik.company
is the FQDN of the authentik installation.
This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application.
authentik configuration
The steps to configure authentik include creating an application and provider pair in authentik, obtaining the Client ID, Client Secret, and slug values, setting the redirect URI, and selecting a signing key.
- Log in to authentik as an admin, and open the authentik Admin interface.
- Navigate to Applications > Applications and click Create with Provider to create an application and provider pair. (Alternatively you can first create a provider separately, then create the application and connect it with the provider.)
- Application: provide a descriptive name (
Beszel
), a slug (beszel
), an optional group for the type of application, the policy engine mode, and optional UI settings. - Choose a Provider type: OAuth2/OpenID
- Configure the Provider: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and any required configurations.
- Note the Client ID, Client Secret, and slug values because they will be required later.
- Set a
Strict
redirect URI to https://beszel.company/api/oauth2-redirect. - Select any available signing key.
- Configure Bindings (optional): you can create a binding (policy, group, or user) to manage the listing and access to applications on a user’s **My applications *page.*
- Click Submit to save the new application and provider.
Beszel uses PocketBase as its server backend, and when you install Beszel you automatically get Pocketbase as part of Beszel, so you do not need to separately integrate Pocketbase. You can find the PocketBase integration guide here: https://docs.goauthentik.io/integrations/services/pocketbase/.
Beszel configuration
- Sign in to Beszel and access the superusers dashboard by navigating to https://beszel.company/_/#/settings.
- Toggle off Hide collection create and edit controls," then click the Save changes button.
- Open the users collection by clicking the Collections icon on the sidebar or head to https://beszel.company/_/#/collections?collection=pb_users_auth.
- Click the gear icon next to the collection's name, then select the Options tab in the popup on the right.
- Enable the OAuth2 authentication method by clicking the OAuth2 tab and toggling Enable.
- Click + Add provider, then select OpenID Connect.
- Enter the following details from the authentik provider:
- Set Client ID to the Client ID copied from authentik.
- Set Client secret to the Client Secret copied from authentik.
- Set Display name to
authentik
. - Set Auth URL to https://authentik.company/application/o/authorize/.
- Set Token URL to https://authentik.company/application/o/token/.
- Make sure Fetch user info from is set to
User info URL
, then set User info URL to https://authentik.company/application/o/userinfo/
Test the login
- Open your web browser and go to: https://beszel.company.
- Click authentik to log in.
- You should be redirected to authentik (following the login flow you configured). After logging in, authentik will redirect you back to https://beszel.company.
- If you successfully return to the Beszel WebGUI, the login is working correctly.
User Creation
-
Manually Creating Users:
- Users are not created automatically when logging in with authentik. The owner must manually create each user in Beszel.
- To create users, go to the System Settings where you configured OpenID Connect.
- The URL for user creation is: https://beszel.company>/_/#/collections?collection=pb_users_auth.
- Click + New record and enter the user's email (must match the authentik email address).
-
Automatically Creating Users:
- Set the following environment variable: USER_CREATION=true
- Depending on your deployment method, you can set this as a Docker environment variable or in the systemd service file.