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(`
Docker is the recommended way to deploy AuthentiKate. Although Manual Installation instructions are also provided.
NOTE
All our Laravel app docker images are running Laravel Octane for better performance.
CAUTION
You have to set the APP_KEY
environment variable. Otherwise when your container restarts you'll have a different key and lose access.
# Generate a random 32-character base64 key
openssl rand -base64 32
CAUTION
You need to bind to the /app/storage/oauth
volume. This is where the public and private encryption keys are stored. If these change, all the authentication will be messed up.
services:
authentikate:
image: gitgud.foo/thegrind/authentikate:latest
container_name: authentikate
ports:
- "8000:8000"
environment:
- APP_ENV=production
- APP_DEBUG=false
- APP_KEY=base64:your-32-character-secret-key-here
- APP_URL=https://your-domain.com
- DB_CONNECTION=mysql|postgres|sqlite
- DB_HOST=database # Only needed for postgres/mysql
- DB_PORT=3306 # Only needed for postgres/mysql
- DB_DATABASE=authentikate # Only needed for postgres/mysql
- DB_USERNAME=authentikate # Only needed for postgres/mysql
- DB_PASSWORD=secure-password-here # Only needed for postgres/mysql
volumes:
- ./keys:/app/storage/oauth
restart: unless-stopped
docker run -d \\
--name authentikate \\
-p 8000:8000 \\
-e APP_ENV=production \\
-e APP_DEBUG=false \\
-e APP_KEY=base64:your-32-character-secret-key-here \\
-e APP_URL=https://your-domain.com \\
-e DB_CONNECTION=mysql \\
-e DB_HOST=database \\
-e DB_PORT=3306 \\
-e DB_DATABASE=authentikate \\
-e DB_USERNAME=authentikate \\
-e DB_PASSWORD=secure-password-here \\
-v ./keys:/app/storage/oauth \\
--restart unless-stopped \\
gitgud.foo/thegrind/authentikate:latest
- name: Deploy AuthentiKate container
community.docker.docker_container:
name: authentikate
image: gitgud.foo/thegrind/authentikate:latest
ports:
- "8000:8000"
env:
APP_ENV: production
APP_DEBUG: "false"
APP_KEY: "base64:your-32-character-secret-key-here"
APP_URL: "https://your-domain.com"
DB_CONNECTION: mysql
DB_HOST: database
DB_PORT: "3306"
DB_DATABASE: authentikate
DB_USERNAME: authentikate
DB_PASSWORD: secure-password-here
volumes:
- ./keys:/app/storage/oauth
restart_policy: unless-stopped
state: started
Check the logs for the admin user email and password. Log in and change your credentials.
You can now start using AuthentiKate.
Some common configuration options are shown below.
For more configuration options you can refer to the Laravel Documentation
AuthentiKate supports multiple database backends. Choose the configuration that matches your setup:
DB_CONNECTION=mysql
DB_HOST=your-mysql-host
DB_PORT=3306
DB_DATABASE=authentikate
DB_USERNAME=your-username
DB_PASSWORD=your-password
DB_CONNECTION=pgsql
DB_HOST=your-postgres-host
DB_PORT=5432
DB_DATABASE=authentikate
DB_USERNAME=your-username
DB_PASSWORD=your-password
DB_CONNECTION=sqlite
DB_DATABASE=/var/www/html/database/database.sqlite
DB_CONNECTION=mysql
DB_HOST=your-mariadb-host
DB_PORT=3306
DB_DATABASE=authentikate
DB_USERNAME=your-username
DB_PASSWORD=your-password
Configure mail settings for user notifications and password resets:
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-server.com
MAIL_PORT=587
MAIL_USERNAME=your-email@domain.com
MAIL_PASSWORD=your-email-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@your-domain.com
MAIL_FROM_NAME="AuthentiKate"
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-gmail@gmail.com
MAIL_PASSWORD=your-app-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your-gmail@gmail.com
MAIL_FROM_NAME="AuthentiKate"
MAIL_MAILER=mailgun
MAILGUN_DOMAIN=your-domain.com
MAILGUN_SECRET=your-mailgun-api-key
MAIL_FROM_ADDRESS=noreply@your-domain.com
MAIL_FROM_NAME="AuthentiKate"
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your-sendgrid-api-key
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@your-domain.com
MAIL_FROM_NAME="AuthentiKate"
After installation, you can:
For detailed configuration and usage instructions, see the User Guide.
`,22)]))}const g=a(t,[["render",p]]);export{c as __pageData,g as default};