forked from coop-cloud/authentik
Compare commits
2 Commits
feature/53
...
WIP
| Author | SHA1 | Date | |
|---|---|---|---|
| e49f2c07ac | |||
| 9f66d5957c |
@ -62,7 +62,7 @@ COPY_ASSETS="$COPY_ASSETS icon.png|app:/web/dist/assets/icons/"
|
|||||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.css.yml"
|
# COMPOSE_FILE="$COMPOSE_FILE:compose.css.yml"
|
||||||
# BACKGROUND_FONT_COLOR=white
|
# BACKGROUND_FONT_COLOR=white
|
||||||
# BACKGROUND_BOX_COLOR='#eaeaeacf'
|
# BACKGROUND_BOX_COLOR='#eaeaeacf'
|
||||||
# THEME_BACKGROUND=""
|
# THEME_BACKGROUND="url('https://authentik.example.com/static/dist/assets/images/flow_background.jpg'); background-position: center; background-repeat: no-repeat; background-size: cover;"
|
||||||
|
|
||||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud.yml"
|
# COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud.yml"
|
||||||
# NEXTCLOUD_DOMAIN=nextcloud.example.com
|
# NEXTCLOUD_DOMAIN=nextcloud.example.com
|
||||||
@ -130,5 +130,5 @@ COPY_ASSETS="$COPY_ASSETS icon.png|app:/web/dist/assets/icons/"
|
|||||||
# SECRET_HEDGEDOC_SECRET_VERSION=v1
|
# SECRET_HEDGEDOC_SECRET_VERSION=v1
|
||||||
# APP_ICONS="$APP_ICONS hedgedoc:~/.abra/recipes/authentik/icons/hedgedoc.png"
|
# APP_ICONS="$APP_ICONS hedgedoc:~/.abra/recipes/authentik/icons/hedgedoc.png"
|
||||||
|
|
||||||
# APPLICATIONS='{"Calendar": "https://nextcloud.example.com/apps/calendar/", "BBB": "https://nextcloud.example.com/apps/bbb/", "Pretix": "https://pretix.example.com/control/"}'
|
# APPLICATIONS='{"Calendar": "https://nextcloud.example.com/apps/calendar/", "BBB": "https://nextcloud.example.com/apps/bbb/"}'
|
||||||
# EXTRA_ICONS={"Calendar": "~/.abra/recipes/authentik/icons/calendar.svg", "BBB": "~/.abra/recipes/authentik/icons/bbb.png", "Pretix": "~/.abra/recipes/authentik/icons/pretix.svg"}
|
# EXTRA_ICONS={"Calendar": "~/.abra/recipes/authentik/icons/calendar.svg", "BBB": "~/.abra/recipes/authentik/icons/bbb.png"}
|
||||||
|
|||||||
41
README.md
41
README.md
@ -52,16 +52,6 @@ APP_ICONS="nextcloud:~/.abra/recipes/authentik/icons/nextcloud.png"
|
|||||||
|
|
||||||
Set the nextcloud Icon using `abra app cmd -l -d <app_name> set_icons`
|
Set the nextcloud Icon using `abra app cmd -l -d <app_name> set_icons`
|
||||||
|
|
||||||
Generate OAuth client id and secret using `abra app secret generate <app_name> -a` (all secrets) or individually:
|
|
||||||
- `abra app secret generate <app_name> nextcloud_id`
|
|
||||||
- `abra app secret generate <app_name> nextcloud_secret`
|
|
||||||
|
|
||||||
Add the id and secret to nextcloud as secrets with:
|
|
||||||
- `abra app secret insert <nextcloud_app_name> authentik_id v1 <id>`
|
|
||||||
- `abra app secret insert <nextcloud_app_name> authentik_secret v1 <secret>`
|
|
||||||
|
|
||||||
Redeploy Authentik to enable the nextcloud client.
|
|
||||||
|
|
||||||
The configuration inside Nextcloud can be found in the [nextcloud recipe](https://git.coopcloud.tech/coop-cloud/nextcloud#authentik-integration)
|
The configuration inside Nextcloud can be found in the [nextcloud recipe](https://git.coopcloud.tech/coop-cloud/nextcloud#authentik-integration)
|
||||||
|
|
||||||
## Add LDAP outpost
|
## Add LDAP outpost
|
||||||
@ -105,25 +95,6 @@ Run this command after every deploy/upgrade:
|
|||||||
|
|
||||||
`abra app command --local <app-name> customize <assets_path>`
|
`abra app command --local <app-name> customize <assets_path>`
|
||||||
|
|
||||||
## Custom CSS
|
|
||||||
|
|
||||||
Uncomment the following env:
|
|
||||||
|
|
||||||
```
|
|
||||||
COMPOSE_FILE="$COMPOSE_FILE:compose.css-volume.yml"
|
|
||||||
```
|
|
||||||
|
|
||||||
Redeploy the app:
|
|
||||||
```
|
|
||||||
abra app deploy -f <app_name>
|
|
||||||
```
|
|
||||||
|
|
||||||
Copy the CSS and restart the container:
|
|
||||||
```
|
|
||||||
abra app cp <app_name> my_custom.css app:/web/dist/assets/custom.css
|
|
||||||
abra app restart <app_name> app
|
|
||||||
```
|
|
||||||
|
|
||||||
## Email templates
|
## Email templates
|
||||||
|
|
||||||
Add custom [email templates](https://goauthentik.io/docs/flow/stages/email/#custom-templates):
|
Add custom [email templates](https://goauthentik.io/docs/flow/stages/email/#custom-templates):
|
||||||
@ -134,15 +105,15 @@ Add custom [email templates](https://goauthentik.io/docs/flow/stages/email/#cust
|
|||||||
|
|
||||||
These blueprints overwrite default blueprint values:
|
These blueprints overwrite default blueprint values:
|
||||||
|
|
||||||
- `flow_translation.yaml`
|
- flow_translation.yaml
|
||||||
- `flow_authentication.yaml`
|
- flow_authentication.yaml
|
||||||
|
|
||||||
The following default blueprints will be overwritten by customizations:
|
The following default blueprints will be overwritten by customizations:
|
||||||
|
|
||||||
- `flow-password-change.yaml`
|
- flow-password-change.yaml
|
||||||
- `flow-default-authentication-flow.yaml`
|
- flow-default-authentication-flow.yaml
|
||||||
- `flow-default-user-settings-flow.yaml`
|
- flow-default-user-settings-flow.yaml
|
||||||
- `flow-default-source-enrollment.yaml`
|
- flow-default-source-enrollment.yaml
|
||||||
|
|
||||||
The `abra.sh` function `apply_blueprints` needs to be executed to deactivate these blueprints to ensure that the customizations won't be overwritten. It will further execute flow_translation.yaml and flow_authentication.yaml again.
|
The `abra.sh` function `apply_blueprints` needs to be executed to deactivate these blueprints to ensure that the customizations won't be overwritten. It will further execute flow_translation.yaml and flow_authentication.yaml again.
|
||||||
|
|
||||||
|
|||||||
41
abra.sh
41
abra.sh
@ -5,17 +5,17 @@ export FLOW_INVALIDATION_VERSION=v2
|
|||||||
export FLOW_RECOVERY_VERSION=v1
|
export FLOW_RECOVERY_VERSION=v1
|
||||||
export FLOW_TRANSLATION_VERSION=v3
|
export FLOW_TRANSLATION_VERSION=v3
|
||||||
export SYSTEM_BRAND_VERSION=v4
|
export SYSTEM_BRAND_VERSION=v4
|
||||||
export NEXTCLOUD_CONFIG_VERSION=v3
|
export NEXTCLOUD_CONFIG_VERSION=v2
|
||||||
export WORDPRESS_CONFIG_VERSION=v4
|
export WORDPRESS_CONFIG_VERSION=v3
|
||||||
export MATRIX_CONFIG_VERSION=v3
|
export MATRIX_CONFIG_VERSION=v2
|
||||||
export WEKAN_CONFIG_VERSION=v5
|
export WEKAN_CONFIG_VERSION=v4
|
||||||
export VIKUNJA_CONFIG_VERSION=v3
|
export VIKUNJA_CONFIG_VERSION=v2
|
||||||
export OUTLINE_CONFIG_VERSION=v4
|
export OUTLINE_CONFIG_VERSION=v3
|
||||||
export KIMAI_CONFIG_VERSION=v3
|
export KIMAI_CONFIG_VERSION=v2
|
||||||
export ZAMMAD_CONFIG_VERSION=v4
|
export ZAMMAD_CONFIG_VERSION=v3
|
||||||
export RALLLY_CONFIG_VERSION=v4
|
export RALLLY_CONFIG_VERSION=v3
|
||||||
export HEDGEDOC_CONFIG_VERSION=v3
|
export HEDGEDOC_CONFIG_VERSION=v2
|
||||||
export MONITORING_CONFIG_VERSION=v4
|
export MONITORING_CONFIG_VERSION=v3
|
||||||
export DB_ENTRYPOINT_VERSION=v1
|
export DB_ENTRYPOINT_VERSION=v1
|
||||||
export PG_BACKUP_VERSION=v2
|
export PG_BACKUP_VERSION=v2
|
||||||
export ENTRYPOINT_CSS_VERSION=v1
|
export ENTRYPOINT_CSS_VERSION=v1
|
||||||
@ -35,15 +35,6 @@ customize() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
shell(){
|
|
||||||
if [ -z "$1" ]
|
|
||||||
then
|
|
||||||
echo "Usage: ... shell <python code>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
ak shell -c "$1" 2>&1 | quieten
|
|
||||||
}
|
|
||||||
|
|
||||||
import_user() {
|
import_user() {
|
||||||
if [ -z "$1" ]
|
if [ -z "$1" ]
|
||||||
then
|
then
|
||||||
@ -88,16 +79,6 @@ set_admin_pass() {
|
|||||||
password=$(cat /run/secrets/admin_pass)
|
password=$(cat /run/secrets/admin_pass)
|
||||||
token=$(cat /run/secrets/admin_token)
|
token=$(cat /run/secrets/admin_token)
|
||||||
/manage.py shell -c """
|
/manage.py shell -c """
|
||||||
import time
|
|
||||||
i = 0
|
|
||||||
while (not User.objects.filter(username='akadmin')):
|
|
||||||
print('Waiting for akadmin to be created...')
|
|
||||||
time.sleep(10)
|
|
||||||
i += 1
|
|
||||||
if i > 6:
|
|
||||||
print('Failed to find admin user!')
|
|
||||||
exit()
|
|
||||||
|
|
||||||
akadmin = User.objects.get(username='akadmin')
|
akadmin = User.objects.get(username='akadmin')
|
||||||
akadmin.set_password('$password')
|
akadmin.set_password('$password')
|
||||||
akadmin.save()
|
akadmin.save()
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
authentik_ldap:
|
authentik_ldap:
|
||||||
image: ghcr.io/goauthentik/ldap:2025.6.2
|
image: ghcr.io/goauthentik/ldap:2024.10.5
|
||||||
# Optionally specify which networks the container should be
|
# Optionally specify which networks the container should be
|
||||||
# might be needed to reach the core authentik server
|
# might be needed to reach the core authentik server
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
10
compose.yml
10
compose.yml
@ -34,7 +34,7 @@ x-env: &env
|
|||||||
version: '3.8'
|
version: '3.8'
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: ghcr.io/goauthentik/server:2025.6.2
|
image: ghcr.io/goauthentik/server:2024.10.5
|
||||||
command: server
|
command: server
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
@ -72,11 +72,11 @@ services:
|
|||||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
||||||
- "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.customFrameOptionsValue=SAMEORIGIN"
|
- "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.customFrameOptionsValue=SAMEORIGIN"
|
||||||
- "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.contentSecurityPolicy=frame-ancestors ${X_FRAME_OPTIONS_ALLOW_FROM}"
|
- "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.contentSecurityPolicy=frame-ancestors ${X_FRAME_OPTIONS_ALLOW_FROM}"
|
||||||
- "coop-cloud.${STACK_NAME}.version=7.3.2+2025.6.2"
|
- "coop-cloud.${STACK_NAME}.version=6.11.0+2024.10.5"
|
||||||
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
|
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
image: ghcr.io/goauthentik/server:2025.6.2
|
image: ghcr.io/goauthentik/server:2024.10.5
|
||||||
command: worker
|
command: worker
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
@ -117,7 +117,7 @@ services:
|
|||||||
start_period: 5m
|
start_period: 5m
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: postgres:15.13
|
image: postgres:15.8
|
||||||
secrets:
|
secrets:
|
||||||
- db_password
|
- db_password
|
||||||
configs:
|
configs:
|
||||||
@ -152,7 +152,7 @@ services:
|
|||||||
backupbot.restore.post-hook: '/pg_backup.sh restore'
|
backupbot.restore.post-hook: '/pg_backup.sh restore'
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:8.0.2-alpine
|
image: redis:7.4.1-alpine
|
||||||
command: --save 60 1 --loglevel warning
|
command: --save 60 1 --loglevel warning
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><defs><style>.cls-1{fill:#3b1c4a;}</style></defs><path class="cls-1" d="m50.67,56.95c-.72.1-1.22.3-1.66.5l2.38,16.91c.41.08.95.13,1.6.04,3.52-.5,4.61-3.64,3.81-9.39-.83-5.87-2.53-8.56-6.12-8.06Z"/><path class="cls-1" d="m116.04,35.05c.71-.17,1.16-.76,1.06-1.48L112.54,1.13c-.1-.72-.77-1.22-1.49-1.12l-37.5,5.27.73,5.22c.16,1.12-.62,2.15-1.74,2.31s-2.15-.62-2.31-1.74l-.73-5.22L1.13,15.46c-.72.1-1.22.77-1.12,1.49l4.56,32.44c.1.72.7,1.17,1.42,1.13,11.25-.92,21.43,7.1,23.03,18.46,1.6,11.36-5.99,21.81-17.07,23.96-.71.17-1.16.76-1.06,1.48l4.56,32.44c.1.72.77,1.22,1.49,1.12l68.37-9.61-.73-5.22c-.16-1.15.59-2.15,1.74-2.31s2.15.62,2.31,1.74l.73,5.22,37.5-5.27c.72-.1,1.22-.77,1.12-1.49l-4.56-32.44c-.1-.72-.7-1.17-1.42-1.13-11.25.92-21.42-7.04-23.02-18.4-1.6-11.36,5.98-21.87,17.06-24.03Zm-59.84,44.75c-1.76.25-3.29.26-4.04.17l1.59,11.29-9.92,1.39-5.3-37.73c2.5-1.62,5.96-3.03,11.38-3.8,8.68-1.22,15.27,2.58,16.66,12.44,1.25,8.88-3.12,15.21-10.36,16.23Zm30.73,20.71c.16,1.12-.62,2.15-1.74,2.31-1.12.16-2.15-.62-2.31-1.74l-1.47-10.44c-.16-1.12.62-2.15,1.74-2.31s2.16.66,2.31,1.74l1.47,10.44Zm-3.17-22.58c.15,1.08-.66,2.16-1.74,2.31s-2.16-.66-2.31-1.74l-1.47-10.44c-.16-1.15.59-2.15,1.74-2.31,1.12-.16,2.15.62,2.31,1.74l1.47,10.44Zm-3.16-22.45c.16,1.12-.62,2.15-1.74,2.31-1.12.16-2.15-.62-2.31-1.74l-1.47-10.44c-.16-1.12.62-2.15,1.74-2.31s2.16.66,2.31,1.74l1.47,10.44Zm-3.17-22.58c.15,1.08-.66,2.16-1.74,2.31s-2.16-.66-2.31-1.74l-1.47-10.44c-.16-1.15.59-2.15,1.74-2.31s2.15.62,2.31,1.74l1.47,10.44Z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.6 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 6.8 KiB |
Reference in New Issue
Block a user