authentikate/docs/.vitepress/dist/assets/quick-start_index.md.Drk5n9FD.js
Javier Feliz 821e49288d
Some checks failed
linter / quality (push) Successful in 7m10s
tests / ci (push) Failing after 10m19s
Finally just moved the docs here
2025-08-04 19:12:42 -04:00

98 lines
25 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as a,c as i,o as n,ag as e}from"./chunks/framework.ko2zIC2c.js";const c=JSON.parse('{"title":"Installation","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start/index.md","filePath":"quick-start/index.md"}'),t={name:"quick-start/index.md"};function p(l,s,h,k,r,o){return n(),i("div",null,s[0]||(s[0]=[e(`<h1 id="installation" tabindex="-1">Installation <a class="header-anchor" href="#installation" aria-label="Permalink to &quot;Installation&quot;"></a></h1><p>Docker is the recommended way to deploy AuthentiKate. Although <a href="/quick-start/manual-deployment">Manual Installation</a> instructions are also provided.</p><h2 id="prerequisites" tabindex="-1">Prerequisites <a class="header-anchor" href="#prerequisites" aria-label="Permalink to &quot;Prerequisites&quot;"></a></h2><ul><li>Docker and Docker Compose installed</li><li>Reverse proxy for SSL certificates. Most apps will not work with an OIDC provider that is not serving over SSL.</li></ul><h2 id="additional-services" tabindex="-1">Additional services <a class="header-anchor" href="#additional-services" aria-label="Permalink to &quot;Additional services&quot;"></a></h2><ul><li>A database server (MySQL, PostgreSQL). SQLite is the default, in which case you can skip this step. See <a href="#database-configuration">Database Configuration</a></li><li>SMTP server for email functionality. Emails are not necessary for sending invites since you can copy the invite link and send it. But it&#39;s a nice to have.</li><li>Domain name and SSL certificate (recommended for production)</li></ul><h2 id="docker-setup" tabindex="-1">Docker Setup <a class="header-anchor" href="#docker-setup" aria-label="Permalink to &quot;Docker Setup&quot;"></a></h2><div class="note custom-block github-alert"><p class="custom-block-title">NOTE</p><p>All our Laravel app docker images are running <a href="https://laravel.com/docs/octane" target="_blank" rel="noreferrer">Laravel Octane</a> for better performance.</p></div><div class="caution custom-block github-alert"><p class="custom-block-title">CAUTION</p><p>You have to set the <code>APP_KEY</code> environment variable. Otherwise when your container restarts you&#39;ll have a different key and lose access.</p></div><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Generate a random 32-character base64 key</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">openssl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rand</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -base64</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 32</span></span></code></pre></div><div class="caution custom-block github-alert"><p class="custom-block-title">CAUTION</p><p>You need to bind to the <code>/app/storage/oauth</code> volume. This is where the public and private encryption keys are stored. If these change, all the authentication will be messed up.</p></div><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-AH48M" id="tab-in_RPi6" checked><label data-title="docker-compose.yml" for="tab-in_RPi6">docker-compose.yml</label><input type="radio" name="group-AH48M" id="tab-c6eWgMy"><label data-title="docker run" for="tab-c6eWgMy">docker run</label><input type="radio" name="group-AH48M" id="tab-KMw2Ok_"><label data-title="ansible" for="tab-KMw2Ok_">ansible</label></div><div class="blocks"><div class="language-yaml vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">services</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> authentikate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">gitgud.foo/thegrind/authentikate:latest</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> container_name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">authentikate</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> ports</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;8000:8000&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> environment</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">APP_ENV=production</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">APP_DEBUG=false</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">APP_KEY=base64:your-32-character-secret-key-here</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">APP_URL=https://your-domain.com</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DB_CONNECTION=mysql|postgres|sqlite</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DB_HOST=database</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # Only needed for postgres/mysql</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DB_PORT=3306</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # Only needed for postgres/mysql</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DB_DATABASE=authentikate</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # Only needed for postgres/mysql</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DB_USERNAME=authentikate</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # Only needed for postgres/mysql</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DB_PASSWORD=secure-password-here</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # Only needed for postgres/mysql</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> volumes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">./keys:/app/storage/oauth</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">unless-stopped</span></span></code></pre></div><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> authentikate</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 8000:8000</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> APP_ENV=production</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> APP_DEBUG=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">false</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> APP_KEY=base64:your-32-character-secret-key-here</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> APP_URL=https://your-domain.com</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> DB_CONNECTION=mysql</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> DB_HOST=database</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> DB_PORT=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3306</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> DB_DATABASE=authentikate</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> DB_USERNAME=authentikate</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> DB_PASSWORD=secure-password-here</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -v</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./keys:/app/storage/oauth</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --restart</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> unless-stopped</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> gitgud.foo/thegrind/authentikate:latest</span></span></code></pre></div><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">- </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Deploy AuthentiKate container</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> community.docker.docker_container</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">authentikate</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">gitgud.foo/thegrind/authentikate:latest</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> ports</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;8000:8000&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> env</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> APP_ENV</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">production</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> APP_DEBUG</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;false&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> APP_KEY</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;base64:your-32-character-secret-key-here&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> APP_URL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://your-domain.com&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> DB_CONNECTION</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">mysql</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> DB_HOST</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">database</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> DB_PORT</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;3306&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> DB_DATABASE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">authentikate</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> DB_USERNAME</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">authentikate</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> DB_PASSWORD</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">secure-password-here</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> volumes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">./keys:/app/storage/oauth</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> restart_policy</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">unless-stopped</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> state</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">started</span></span></code></pre></div><h1 id="after-deploying-the-container" tabindex="-1">After deploying the container <a class="header-anchor" href="#after-deploying-the-container" aria-label="Permalink to &quot;After deploying the container&quot;"></a></h1><p>Check the logs for the admin user email and password. Log in and change your credentials.</p><p>You can now start using AuthentiKate.</p><p>Some common configuration options are shown below.</p><p>For more configuration options you can refer to the <a href="https://laravel.com/docs" target="_blank" rel="noreferrer">Laravel Documentation</a></p></div></div><h2 id="database-configuration" tabindex="-1">Database Configuration <a class="header-anchor" href="#database-configuration" aria-label="Permalink to &quot;Database Configuration {#database-configuration}&quot;"></a></h2><p>AuthentiKate supports multiple database backends. Choose the configuration that matches your setup:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-hyueB" id="tab-4MeOy3z" checked><label data-title="MySQL" for="tab-4MeOy3z">MySQL</label><input type="radio" name="group-hyueB" id="tab-4YIo2eW"><label data-title="PostgreSQL" for="tab-4YIo2eW">PostgreSQL</label><input type="radio" name="group-hyueB" id="tab-GIMUoe4"><label data-title="SQLite" for="tab-GIMUoe4">SQLite</label><input type="radio" name="group-hyueB" id="tab-oGtct8Y"><label data-title="MariaDB" for="tab-oGtct8Y">MariaDB</label></div><div class="blocks"><div class="language-env vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>DB_CONNECTION=mysql</span></span>
<span class="line"><span>DB_HOST=your-mysql-host</span></span>
<span class="line"><span>DB_PORT=3306</span></span>
<span class="line"><span>DB_DATABASE=authentikate</span></span>
<span class="line"><span>DB_USERNAME=your-username</span></span>
<span class="line"><span>DB_PASSWORD=your-password</span></span></code></pre></div><div class="language-env vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>DB_CONNECTION=pgsql</span></span>
<span class="line"><span>DB_HOST=your-postgres-host</span></span>
<span class="line"><span>DB_PORT=5432</span></span>
<span class="line"><span>DB_DATABASE=authentikate</span></span>
<span class="line"><span>DB_USERNAME=your-username</span></span>
<span class="line"><span>DB_PASSWORD=your-password</span></span></code></pre></div><div class="language-env vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>DB_CONNECTION=sqlite</span></span>
<span class="line"><span>DB_DATABASE=/var/www/html/database/database.sqlite</span></span></code></pre></div><div class="language-env vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>DB_CONNECTION=mysql</span></span>
<span class="line"><span>DB_HOST=your-mariadb-host</span></span>
<span class="line"><span>DB_PORT=3306</span></span>
<span class="line"><span>DB_DATABASE=authentikate</span></span>
<span class="line"><span>DB_USERNAME=your-username</span></span>
<span class="line"><span>DB_PASSWORD=your-password</span></span></code></pre></div></div></div><h2 id="mail-configuration" tabindex="-1">Mail Configuration <a class="header-anchor" href="#mail-configuration" aria-label="Permalink to &quot;Mail Configuration&quot;"></a></h2><p>Configure mail settings for user notifications and password resets:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-NfVyl" id="tab-wJ4SmA_" checked><label data-title="SMTP" for="tab-wJ4SmA_">SMTP</label><input type="radio" name="group-NfVyl" id="tab-Yt-vvsT"><label data-title="Gmail" for="tab-Yt-vvsT">Gmail</label><input type="radio" name="group-NfVyl" id="tab-XUIvs7d"><label data-title="Mailgun" for="tab-XUIvs7d">Mailgun</label><input type="radio" name="group-NfVyl" id="tab-KGYwOTx"><label data-title="SendGrid" for="tab-KGYwOTx">SendGrid</label></div><div class="blocks"><div class="language-env vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MAIL_MAILER=smtp</span></span>
<span class="line"><span>MAIL_HOST=your-smtp-server.com</span></span>
<span class="line"><span>MAIL_PORT=587</span></span>
<span class="line"><span>MAIL_USERNAME=your-email@domain.com</span></span>
<span class="line"><span>MAIL_PASSWORD=your-email-password</span></span>
<span class="line"><span>MAIL_ENCRYPTION=tls</span></span>
<span class="line"><span>MAIL_FROM_ADDRESS=noreply@your-domain.com</span></span>
<span class="line"><span>MAIL_FROM_NAME=&quot;AuthentiKate&quot;</span></span></code></pre></div><div class="language-env vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MAIL_MAILER=smtp</span></span>
<span class="line"><span>MAIL_HOST=smtp.gmail.com</span></span>
<span class="line"><span>MAIL_PORT=587</span></span>
<span class="line"><span>MAIL_USERNAME=your-gmail@gmail.com</span></span>
<span class="line"><span>MAIL_PASSWORD=your-app-password</span></span>
<span class="line"><span>MAIL_ENCRYPTION=tls</span></span>
<span class="line"><span>MAIL_FROM_ADDRESS=your-gmail@gmail.com</span></span>
<span class="line"><span>MAIL_FROM_NAME=&quot;AuthentiKate&quot;</span></span></code></pre></div><div class="language-env vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MAIL_MAILER=mailgun</span></span>
<span class="line"><span>MAILGUN_DOMAIN=your-domain.com</span></span>
<span class="line"><span>MAILGUN_SECRET=your-mailgun-api-key</span></span>
<span class="line"><span>MAIL_FROM_ADDRESS=noreply@your-domain.com</span></span>
<span class="line"><span>MAIL_FROM_NAME=&quot;AuthentiKate&quot;</span></span></code></pre></div><div class="language-env vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">env</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MAIL_MAILER=smtp</span></span>
<span class="line"><span>MAIL_HOST=smtp.sendgrid.net</span></span>
<span class="line"><span>MAIL_PORT=587</span></span>
<span class="line"><span>MAIL_USERNAME=apikey</span></span>
<span class="line"><span>MAIL_PASSWORD=your-sendgrid-api-key</span></span>
<span class="line"><span>MAIL_ENCRYPTION=tls</span></span>
<span class="line"><span>MAIL_FROM_ADDRESS=noreply@your-domain.com</span></span>
<span class="line"><span>MAIL_FROM_NAME=&quot;AuthentiKate&quot;</span></span></code></pre></div></div></div><h2 id="next-steps" tabindex="-1">Next Steps <a class="header-anchor" href="#next-steps" aria-label="Permalink to &quot;Next Steps&quot;"></a></h2><p>After installation, you can:</p><ol><li>Access the web interface at your configured URL</li><li>Create your first admin user</li><li>Configure OIDC clients and SSO integrations</li><li>Set up user authentication providers</li></ol><p>For detailed configuration and usage instructions, see the <a href="/user-guide/">User Guide</a>.</p>`,22)]))}const g=a(t,[["render",p]]);export{c as __pageData,g as default};