Skip to main content

OAuth2 Configuration

OAuth2 allows you to authenticate to Remnawave dashboard using one of the configured providers.

OAuth2 Configuration

Remnawave supports the following providers:


Github

Create an OAuth application

You will need to create an OAuth application in Github.
Follow this link to create an application: https://github.com/settings/applications/new

Authorization callback URL
# Replace YOUR_PANEL_DOMAIN with your panel domain
https://YOUR_PANEL_DOMAIN/oauth2/callback/github
warning

Don't forget to set the correct callback URL. Change YOUR_PANEL_DOMAIN to your panel domain.

Configuring OAuth2 in Remnawave

Editing .env file
cd /opt/remnawave && nano .env
.env configuration
# Enable Github OAuth2, possible values: true, false
OAUTH2_GITHUB_ENABLED=true

# Github client ID, you can get it from Github application settings
OAUTH2_GITHUB_CLIENT_ID="REPLACE_WITH_YOUR_CLIENT_ID"

# Github client secret, you can get it from Github application settings
OAUTH2_GITHUB_CLIENT_SECRET="REPLACE_WITH_YOUR_CLIENT_SECRET"

# List of allowed emails, separated by commas
OAUTH2_GITHUB_ALLOWED_EMAILS=["admin@example.com", "user@example.com"]

Don't forget to restart the Remnawave container:

docker compose down && docker compose up -d && docker compose logs -f -t

PocketID

Create an OIDC Client

Login to your self-hosted PocketID instance and go to SettingsOIDC ClientsAdd OIDC Client.

Authorization callback URL
# Replace YOUR_PANEL_DOMAIN with your panel domain
https://YOUR_PANEL_DOMAIN/oauth2/callback/pocketid
warning

Don't forget to set the correct callback URL. Change YOUR_PANEL_DOMAIN to your panel domain.

Configuring OAuth2 in Remnawave

Editing .env file
cd /opt/remnawave && nano .env
.env configuration
# Enable PocketID OAuth2, possible values: true, false
OAUTH2_POCKETID_ENABLED=true

# PocketID Client ID, you can get it from OIDC Client settings
OAUTH2_POCKETID_CLIENT_ID="REPLACE_WITH_YOUR_CLIENT_ID"

# PocketID Client Secret, you can get it from OIDC Client settings
OAUTH2_POCKETID_CLIENT_SECRET="REPLACE_WITH_YOUR_CLIENT_SECRET"

# Plain domain where PocketID is hosted, do not place any paths here. Just plain domain.
OAUTH2_POCKETID_PLAIN_DOMAIN="pocketid.domain.com"

# List of allowed emails, separated by commas
OAUTH2_POCKETID_ALLOWED_EMAILS=["admin@example.com", "user@example.com"]

Don't forget to restart the Remnawave container:

docker compose down && docker compose up -d && docker compose logs -f -t

Yandex

danger

It is not recommended to use Yandex OAuth2 for self-hosted Remnawave instances.

Create an OAuth application

You will need to create an OAuth application in Yandex.

Follow this link to create an application: https://oauth.yandex.com/client/new

In the second step of creation select "Web application" and set the following callback URL:

Authorization callback URL
# Replace YOUR_PANEL_DOMAIN with your panel domain
https://YOUR_PANEL_DOMAIN/oauth2/callback/yandex
warning

Don't forget to set the correct callback URL. Change YOUR_PANEL_DOMAIN to your panel domain.

In the third step of creation allow "Access to email address", no other permissions are needed.

Configuring OAuth2 in Remnawave

Editing .env file
cd /opt/remnawave && nano .env
.env configuration
# Enable Yandex OAuth2, possible values: true, false
OAUTH2_YANDEX_ENABLED=true

# Yandex Client ID, you can get it from OIDC Client settings
OAUTH2_YANDEX_CLIENT_ID="REPLACE_WITH_YOUR_CLIENT_ID"

# Yandex Client Secret, you can get it from OIDC Client settings
OAUTH2_YANDEX_CLIENT_SECRET="REPLACE_WITH_YOUR_CLIENT_SECRET"

# List of allowed emails, separated by commas
OAUTH2_YANDEX_ALLOWED_EMAILS=["admin@example.com", "user@example.com"]

Don't forget to restart the Remnawave container:

docker compose down && docker compose up -d && docker compose logs -f -t