diff --git a/.drone.yml b/.drone.yml index 22dfa43..753aedc 100644 --- a/.drone.yml +++ b/.drone.yml @@ -47,7 +47,7 @@ steps: from_secret: drone_abra-bot_token fork: true repositories: - - coop-cloud/auto-recipes-catalogue-json + - toolshed/auto-recipes-catalogue-json trigger: event: tag diff --git a/.env.sample b/.env.sample index e4e4609..f7b279f 100644 --- a/.env.sample +++ b/.env.sample @@ -131,5 +131,4 @@ COPY_ASSETS="$COPY_ASSETS icon.png|app:/web/dist/assets/icons/" # 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/"}' -# APP_ICONS="$APP_ICONS Calendar:~/.abra/recipes/authentik/icons/calendar.svg" -# APP_ICONS="$APP_ICONS BBB:~/.abra/recipes/authentik/icons/bbb.png" +# EXTRA_ICONS={"Calendar": "~/.abra/recipes/authentik/icons/calendar.svg", "BBB": "~/.abra/recipes/authentik/icons/bbb.png"} diff --git a/abra.sh b/abra.sh index ddcb3df..2687a5c 100644 --- a/abra.sh +++ b/abra.sh @@ -5,17 +5,17 @@ export FLOW_INVALIDATION_VERSION=v2 export FLOW_RECOVERY_VERSION=v1 export FLOW_TRANSLATION_VERSION=v3 export SYSTEM_BRAND_VERSION=v4 -export NEXTCLOUD_CONFIG_VERSION=v2 -export WORDPRESS_CONFIG_VERSION=v3 -export MATRIX_CONFIG_VERSION=v2 -export WEKAN_CONFIG_VERSION=v4 -export VIKUNJA_CONFIG_VERSION=v2 -export OUTLINE_CONFIG_VERSION=v3 -export KIMAI_CONFIG_VERSION=v2 -export ZAMMAD_CONFIG_VERSION=v3 -export RALLLY_CONFIG_VERSION=v3 -export HEDGEDOC_CONFIG_VERSION=v2 -export MONITORING_CONFIG_VERSION=v3 +export NEXTCLOUD_CONFIG_VERSION=v3 +export WORDPRESS_CONFIG_VERSION=v4 +export MATRIX_CONFIG_VERSION=v3 +export WEKAN_CONFIG_VERSION=v5 +export VIKUNJA_CONFIG_VERSION=v3 +export OUTLINE_CONFIG_VERSION=v4 +export KIMAI_CONFIG_VERSION=v3 +export ZAMMAD_CONFIG_VERSION=v4 +export RALLLY_CONFIG_VERSION=v4 +export HEDGEDOC_CONFIG_VERSION=v3 +export MONITORING_CONFIG_VERSION=v4 export DB_ENTRYPOINT_VERSION=v1 export PG_BACKUP_VERSION=v2 export ENTRYPOINT_CSS_VERSION=v1 @@ -159,11 +159,13 @@ print(f'{blueprint.name} enabled: {blueprint.enabled}') } add_applications(){ +export APPLICATIONS /manage.py shell -c """ import json -if '$APPLICATIONS' == '': +import os +if os.environ['APPLICATIONS'] == '': exit() -applications = json.loads('$APPLICATIONS') +applications = json.loads(os.environ['APPLICATIONS']) for name, url in applications.items(): print(f'Add {name}: {url}') app = Application.objects.filter(name=name).first() @@ -192,6 +194,10 @@ done } set_icons(){ +if [ -n "$1" ] +then +APP_ICONS="$1" +fi for icon in $APP_ICONS; do app=$(echo $icon | cut -d ":" -f1) file_path=$(eval echo $(echo $icon | cut -d ":" -f2)) @@ -202,6 +208,22 @@ for icon in $APP_ICONS; do done } +set_extra_icons(){ + if [ -z "$EXTRA_ICONS" ] + then + echo "Variable EXTRA_ICONS is not set" + exit 1 + fi + export EXTRA_ICONS + icon_key_values=$(python3 -c " +import json +import os +for key, value in json.loads(os.environ['EXTRA_ICONS']).items(): + print(f'{key}:{value}') +") + set_icons "$icon_key_values" +} + set_app_icon() { TOKEN=$(cat /run/secrets/admin_token) python -c """ diff --git a/compose.matrix.yml b/compose.matrix.yml index 79233b1..dd2075f 100644 --- a/compose.matrix.yml +++ b/compose.matrix.yml @@ -12,6 +12,7 @@ services: - matrix_secret environment: - ELEMENT_DOMAIN + - MATRIX_DOMAIN configs: - source: matrix target: /blueprints/matrix.yaml diff --git a/compose.yml b/compose.yml index 391365f..0f08c9e 100644 --- a/compose.yml +++ b/compose.yml @@ -72,7 +72,7 @@ services: - "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.contentSecurityPolicy=frame-ancestors ${X_FRAME_OPTIONS_ALLOW_FROM}" - - "coop-cloud.${STACK_NAME}.version=6.11.0+2024.10.5" + - "coop-cloud.${STACK_NAME}.version=6.11.1+2024.10.5" - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}" worker: diff --git a/hedgedoc.yaml.tmpl b/hedgedoc.yaml.tmpl index eafa124..10b6007 100644 --- a/hedgedoc.yaml.tmpl +++ b/hedgedoc.yaml.tmpl @@ -16,6 +16,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "HEDGEDOC_DOMAIN" }}/auth/oauth2/callback name: Hedgedoc property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] @@ -32,7 +35,7 @@ entries: state: present - attrs: - meta_launch_url: https://{{ env "HEDGEDOC_DOMAIN" }} + meta_launch_url: https://{{ env "HEDGEDOC_DOMAIN" }}/auth/oauth2 open_in_new_tab: true policy_engine_mode: any provider: !KeyOf hedgedoc_provider diff --git a/icons/help.svg b/icons/help.svg new file mode 100644 index 0000000..c1bcccf --- /dev/null +++ b/icons/help.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/icons/support.svg b/icons/support.svg new file mode 100644 index 0000000..e54440a --- /dev/null +++ b/icons/support.svg @@ -0,0 +1,12 @@ + + + + support + + + + + + + + \ No newline at end of file diff --git a/kimai.yaml.tmpl b/kimai.yaml.tmpl index ccc016d..844e852 100644 --- a/kimai.yaml.tmpl +++ b/kimai.yaml.tmpl @@ -37,7 +37,7 @@ entries: state: present - attrs: - meta_launch_url: https://{{ env "KIMAI_DOMAIN" }} + meta_launch_url: https://{{ env "KIMAI_DOMAIN" }}/auth/saml/login open_in_new_tab: true policy_engine_mode: any provider: !KeyOf kimai_provider diff --git a/matrix.yaml.tmpl b/matrix.yaml.tmpl index aa4e2ae..d5195d6 100644 --- a/matrix.yaml.tmpl +++ b/matrix.yaml.tmpl @@ -16,6 +16,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "MATRIX_DOMAIN" }}/_synapse/client/oidc/callback name: Matrix property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] @@ -36,10 +39,10 @@ entries: open_in_new_tab: true policy_engine_mode: any provider: !KeyOf matrix_provider - slug: matrix + name: Element conditions: [] id: matrix_application identifiers: - name: Matrix + slug: matrix model: authentik_core.application state: present diff --git a/monitoring.yaml.tmpl b/monitoring.yaml.tmpl index 7c1942b..3c88d6a 100644 --- a/monitoring.yaml.tmpl +++ b/monitoring.yaml.tmpl @@ -16,6 +16,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "MONITORING_DOMAIN" }}/login/generic_oauth name: Monitoring property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] diff --git a/nextcloud.yaml.tmpl b/nextcloud.yaml.tmpl index af62a9e..33bdb68 100644 --- a/nextcloud.yaml.tmpl +++ b/nextcloud.yaml.tmpl @@ -28,6 +28,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "NEXTCLOUD_DOMAIN" }}/apps/sociallogin/custom_oidc/authentik name: Nextcloud property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] diff --git a/outline.yaml.tmpl b/outline.yaml.tmpl index ec72b2e..a388a16 100644 --- a/outline.yaml.tmpl +++ b/outline.yaml.tmpl @@ -16,6 +16,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "OUTLINE_DOMAIN" }}/auth/oidc.callback name: Outline property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] @@ -32,7 +35,7 @@ entries: state: present - attrs: - meta_launch_url: https://{{ env "OUTLINE_DOMAIN" }} + meta_launch_url: https://{{ env "OUTLINE_DOMAIN" }}/auth/oidc open_in_new_tab: true policy_engine_mode: any provider: !KeyOf outline_provider diff --git a/rallly.yaml.tmpl b/rallly.yaml.tmpl index 8e26c40..a1a649a 100644 --- a/rallly.yaml.tmpl +++ b/rallly.yaml.tmpl @@ -16,6 +16,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "RALLLY_DOMAIN" }}/api/auth/callback/oidc name: Rallly property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] diff --git a/vikunja.yaml.tmpl b/vikunja.yaml.tmpl index ab7af08..5267035 100644 --- a/vikunja.yaml.tmpl +++ b/vikunja.yaml.tmpl @@ -16,6 +16,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "VIKUNJA_DOMAIN" }}/auth/openid/authentik name: Vikunja property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] diff --git a/wekan.yaml.tmpl b/wekan.yaml.tmpl index a9549f8..a2c70de 100644 --- a/wekan.yaml.tmpl +++ b/wekan.yaml.tmpl @@ -33,6 +33,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "WEKAN_DOMAIN" }}/_oauth/oidc name: Wekan property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]] diff --git a/wordpress.yaml.tmpl b/wordpress.yaml.tmpl index 7624908..91c8c2c 100644 --- a/wordpress.yaml.tmpl +++ b/wordpress.yaml.tmpl @@ -16,6 +16,9 @@ entries: client_type: confidential include_claims_in_id_token: true issuer_mode: per_provider + redirect_uris: + - matching_mode: strict + url: https://{{ env "WORDPRESS_DOMAIN" }}/openid-connect-authorize name: Wordpress property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]]