{{ app_name }} logo {{ app_name }}

First-run Setup

Configure Logto to enable user authentication.

{% if logto_configured %}
{% endif %}

1 Deploy or sign up for Logto

Choose one of the options below. Both are free to start.

☁️ Logto Cloud (recommended)

Sign up at cloud.logto.io. The free tier supports unlimited users.

🐳 Self-hosted (Docker)

Add Logto to your docker-compose.yml (see the Logto deployment guide).

2 Create a "Traditional Web" application in Logto

  1. Open the Logto ConsoleApplicationsCreate application.
  2. Choose Traditional Web.
  3. Enter a name, e.g. DMARQ.
  4. Set the Redirect URI to:
    <your-dmarq-url>/api/v1/auth/callback
  5. Set the Post Sign-out Redirect URI to:
    <your-dmarq-url>/login
  6. Save and note the App ID and App Secret.

3 Set environment variables and restart {{ app_name }}

Add the following to your .env file or Docker environment:

# Logto endpoint – the base URL of your Logto instance
LOGTO_ENDPOINT=https://<your-tenant>.logto.app

# Application credentials from the Logto Console
LOGTO_APP_ID=<your-app-id>
LOGTO_APP_SECRET=<your-app-secret>

# Optional: override the callback URL (defaults to <base_url>/api/v1/auth/callback)
# LOGTO_REDIRECT_URI=https://dmarc.example.com/api/v1/auth/callback

4 (Optional) Add authentication providers in Logto

Logto lets you enable social providers (Google, GitHub, Microsoft, …), SMS / email passwordless, and multi-factor authentication entirely through its console – no code changes needed in {{ app_name }}.

See the Logto connector docs for details.

Alternative: disable authentication entirely

If you're running {{ app_name }} locally or behind a trusted reverse proxy that already handles authentication, you can skip Logto and grant everyone full access by setting:

AUTH_DISABLED=true
{% if logto_configured %} {% endif %}