The authentication glue you need.
Go to file
Moritz 1aca4ba794
continuous-integration/drone/push Build is passing Details
chore: publish 3.1.1+2023.3.1 release
2023-04-18 18:47:54 +02:00
icons wekan sso blueprint 2023-04-13 20:47:54 +02:00
release chore: publish 3.1.0+2023.3.1 release 2023-04-05 16:32:57 +02:00
.drone.yml fix drone config 2023-03-29 18:25:14 +02:00
.env.sample setup with post_deploy_cmd 2023-04-18 18:20:36 +02:00
.gitignore init 2022-04-13 12:51:04 +02:00
README.md setup with post_deploy_cmd 2023-04-18 18:20:36 +02:00
abra.sh setup with post_deploy_cmd 2023-04-18 18:20:36 +02:00
compose.matrix.yml matrix/element sso blueprint 2023-04-06 18:30:21 +02:00
compose.nextcloud.yml nextcloud sso blueprint 2023-03-22 18:38:17 +01:00
compose.wekan.yml wekan sso blueprint 2023-04-13 20:47:54 +02:00
compose.wordpress.yml automatic wordpress configuration 2023-03-30 17:00:48 +02:00
compose.yml chore: publish 3.1.1+2023.3.1 release 2023-04-18 18:47:54 +02:00
custom.css.tmpl make menubar color customizable 2022-10-19 13:32:27 +02:00
custom_flows.yaml.tmpl fix: set default values for missing env variables 2023-03-08 16:48:45 +01:00
flow_authentication.yaml.tmpl Authentik update resillience: overwrite default blueprints 2023-03-22 17:26:25 +01:00
flow_invalidation.yaml.tmpl Authentik update resillience: overwrite default blueprints 2023-03-22 17:26:25 +01:00
flow_invitation.yaml.tmpl Authentik update resillience: overwrite default blueprints 2023-03-22 17:26:25 +01:00
flow_recovery.yaml.tmpl Authentik update resillience: overwrite default blueprints 2023-03-22 17:26:25 +01:00
flow_translation.yaml.tmpl Authentik update resillience: overwrite default blueprints 2023-03-22 17:26:25 +01:00
matrix.yaml.tmpl matrix/element sso blueprint 2023-04-06 18:30:21 +02:00
nextcloud.yaml.tmpl nextcloud sso blueprint 2023-03-22 18:38:17 +01:00
system_tenant.yaml.tmpl Authentik update resillience: overwrite default blueprints 2023-03-22 17:26:25 +01:00
wekan.yaml.tmpl wekan sso blueprint 2023-04-13 20:47:54 +02:00
wordpress.yaml.tmpl automatic wordpress configuration 2023-03-30 17:00:48 +02:00

README.md

authentik

authentik is an open-source Identity Provider focused on flexibility and versatility

List of all possible environment variables

  • Category: Apps
  • Status: 0, work-in-progress
  • Image: ghcr/goauthentik/server, 4, upstream
  • Healthcheck: Yes
  • Backups: Yes
  • Email: Yes
  • Tests: No
  • SSO: Yes

Quick start

  • abra app new authentik
  • abra app config <app-name>
  • abra app secret insert <app_name> email_pass v1 <password>
  • abra app secret generate -a <app_name>
  • abra app deploy <app-name>

Rotate Secrets

Increment the secret versions using abra app config <app_name>

abra app secret generate -a <app_name>
abra app undeploy <app_name>
abra app deploy <app_name>
abra app cmd <app_name> db rotate_db_pass
abra app cmd <app_name> app set_admin_pass

Add SSO for Nextcloud

Uncomment Nextcloud configuration and set NEXTCLOUD_DOMAIN the using abra app config <app_name>:

COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud.yml"
NEXTCLOUD_DOMAIN=nextcloud.example.com
SECRET_NEXTCLOUD_ID_VERSION=v1
SECRET_NEXTCLOUD_SECRET_VERSION=v1
APP_ICONS="nextcloud:~/.abra/recipes/authentik/icons/nextcloud.png"

Set the nextcloud Icon using abra app cmd -l -d <app_name> set_icons

The configuration inside Nextcloud can be found in the nextcloud recipe

Customization

Place the files you want to overwrite in a directory <assets_path>. Run abra app config <app_name> and define the env variable COPY_ASSETS in the following format:

"<source_file1>|<service>:<target_directory1> <source_file2>|<service>:<target_directory2> ...

For example:

COPY_ASSETS="flow_background.jpg|app:/web/dist/assets/images/"
COPY_ASSETS="$COPY_ASSETS icon_left_brand.svg|app:/web/dist/assets/icons/
COPY_ASSETS="$COPY_ASSETS icon.png|app:/web/dist/assets/icons/"

Run this command after every deploy/upgrade:

abra app command --local <app-name> customize <assets_path>

Blueprints

Blueprint Dependency Requirements:

  • Recovery with email verification
    • Default - Password change flow
    • Default - Authentication flow
  • Custom Authentication Flow
    • Default - Authentication flow
    • Recovery with email verification
  • Invitation Enrollment Flow
    • Default - User settings flow
    • Default - Authentication flow
    • Default - Source enrollment flow
  • Custom Invalidation Flow
    • Default - Invalidation flow
  • Flow Translations
    • Recovery with email verification
    • Default - Password change flow
    • Default - User settings flow
    • Default - Source enrollment flow
  • Custom System Tenant
    • Default - Tenant
    • Recovery with email verification

Blueprint Dependency Graph:

  1. Custom System Tenant
    • Default - Tenant
    1. Invitation Enrollment Flow 3. Flow Translations - Default - User settings flow - Default - Source enrollment flow 2. Custom Authentication Flow 1. Recovery with email verification - Default - Authentication flow - Default - Password change flow
  2. Custom Invalidation Flow
    • Default - Invalidation flow

For more, see docs.coopcloud.tech.