Compare commits

..

14 Commits

Author SHA1 Message Date
27275c3a44 chore: publish 11.0.3+2026.2.1 release
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-03-18 00:13:37 +01:00
ffcdc72353 fix: ensure akadmin is always wordpress admin 2026-03-18 00:12:48 +01:00
6d5982a695 chore: publish 11.0.2+2026.2.1 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-03-17 23:05:48 +01:00
cf012125bf fix: wordpress config verion and clear all assets 2026-03-17 23:03:38 +01:00
1f437a5352 chore: publish 11.0.1+2026.2.1 release
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-03-17 17:21:42 +01:00
9a6bc0901d chore: replace depricated traefik.docker.* with traefik.swarm.* 2026-03-17 17:21:16 +01:00
eca3313008 fix: add akadmin to wordpress admin group 2026-03-17 16:05:12 +01:00
51e2f6c58b chore: publish 11.0.0+2026.2.1 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-03-16 22:52:04 +01:00
7649c30b79 chore: publish 10.2.0+2025.12.4 release
All checks were successful
continuous-integration/drone/tag Build is passing
Intermediate step for upgrading to 2026.2.x.
Bump authentik to 2025.12.4, postgres to 15.17.
2026-03-16 22:46:28 +01:00
87dbdd8df2 style: add nuudel poll icon
Some checks failed
continuous-integration/drone/push Build is failing
2026-03-09 12:32:18 +01:00
6df2067560 style: add nextcloud talk icon
Some checks failed
continuous-integration/drone/push Build is failing
2026-03-03 08:56:07 +01:00
2b69a905d4 chore: publish 10.1.4+2025.10.2 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-02-24 16:12:16 +01:00
d06e00f7d2 update mila oidc integration 2026-02-24 16:11:44 +01:00
8b28ec2b80 chore: update mila icon
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-16 10:59:22 +01:00
11 changed files with 138 additions and 22 deletions

39
abra.sh
View File

@ -6,7 +6,7 @@ export FLOW_RECOVERY_VERSION=v2
export FLOW_TRANSLATION_VERSION=v3
export SYSTEM_BRAND_VERSION=v4
export NEXTCLOUD_CONFIG_VERSION=v3
export WORDPRESS_CONFIG_VERSION=v4
export WORDPRESS_CONFIG_VERSION=v6
export MATRIX_CONFIG_VERSION=v3
export WEKAN_CONFIG_VERSION=v5
export VIKUNJA_CONFIG_VERSION=v3
@ -313,14 +313,37 @@ import os
my_token = '$TOKEN'
application = '$1'
icon_path = '$2'
url = f'https://$DOMAIN/api/v3/core/applications/{application}/set_icon/'
headers = {'Authorization':f'Bearer {my_token}'}
base_url = f'https://$DOMAIN/api/v3'
headers = {'Authorization': f'Bearer {my_token}'}
name_img = os.path.basename(icon_path)
# Upload file via the file management API
with open(icon_path, 'rb') as img:
name_img = os.path.basename(icon_path)
files= {'file': (name_img,img,'image/png') }
with requests.Session() as s:
r = s.post(url,files=files,headers=headers)
print(r.status_code)
r = requests.post(
f'{base_url}/admin/file/',
files={'file': (name_img, img, 'image/png')},
data={'name': name_img},
headers=headers,
)
if r.status_code == 400 and 'already exists' in r.text:
print(f'{name_img} already uploaded')
elif r.status_code != 200:
print(f'Upload failed: {r.status_code} {r.text}')
exit(1)
else:
print(f'Uploaded {name_img}')
# Set the icon on the application
r = requests.patch(
f'{base_url}/core/applications/{application}/',
json={'meta_icon': name_img},
headers=headers,
)
if r.status_code == 200:
print(f'Set icon for {application}')
else:
print(f'Failed to set icon: {r.status_code} {r.text}')
"""
}

View File

@ -1,7 +1,7 @@
version: "3.8"
services:
authentik_ldap:
image: ghcr.io/goauthentik/ldap:2025.10.2
image: ghcr.io/goauthentik/ldap:2026.2.1
# Optionally specify which networks the container should be
# might be needed to reach the core authentik server
networks:

View File

@ -34,7 +34,7 @@ x-env: &env
version: '3.8'
services:
app:
image: ghcr.io/goauthentik/server:2025.10.2
image: ghcr.io/goauthentik/server:2026.2.1
command: server
depends_on:
- db
@ -45,8 +45,9 @@ services:
- secret_key
- email_pass
volumes:
- data:/data
- media:/media
- assets:/web/dist/assets
- custom_assets:/web/dist/assets
- templates:/templates
networks:
- internal
@ -61,7 +62,7 @@ services:
deploy:
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.swarm.network=proxy"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=9000"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
@ -69,14 +70,14 @@ services:
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect,${STACK_NAME}-frameOptions,${STACK_NAME}-redirect"
- "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=10.1.3+2025.10.2"
- "coop-cloud.${STACK_NAME}.version=11.0.3+2026.2.1"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.regex=^https://(${REDIRECTS})/(.*)"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.replacement=https://${DOMAIN}/$${2}"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.permanent=true"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
worker:
image: ghcr.io/goauthentik/server:2025.10.2
image: ghcr.io/goauthentik/server:2026.2.1
command: worker
depends_on:
- db
@ -90,6 +91,7 @@ services:
- internal
- proxy
volumes:
- data:/data
- media:/media
- /dev/null:/blueprints/default/flow-oobe.yaml
- templates:/templates
@ -116,7 +118,7 @@ services:
start_period: 5m
db:
image: postgres:15.15
image: postgres:15.17
secrets:
- db_password
configs:
@ -173,10 +175,11 @@ networks:
internal:
volumes:
data:
media:
certs:
templates:
assets:
custom_assets:
database:
configs:

View File

@ -1,5 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<rect width="100" height="100" rx="12" fill="#4f46e5"/>
<text x="50" y="65" font-family="Arial, sans-serif" font-size="48" font-weight="bold" fill="white" text-anchor="middle">M</text>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg id="a" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="80 60 430 410">
<defs>
<style>
.b {
fill: #346180;
}
.c {
fill: #009aa5;
}
</style>
</defs>
<g>
<path class="c" d="M319.57,303.39c41.78,18.41,74.43,42.48,87.64,89.83,4.52,16.2,12.63,44.75-10.72,48.82H101.39c-2.63-.09-9.25-2.82-11.12-4.38-.3-.25-4.06-6.12-4.22-6.49-5.78-13.4,2.35-35.12,7.31-47.71,9.49-24.09,25.75-44.44,46.62-59.63,16.07-11.7,34.34-20.54,53.51-25.78,32.68-8.93,94.96-8.37,126.07,5.34Z"/>
<path class="c" d="M299.53,126.4c7.22,5.55,16.92,15.59,20.81,23.69,14.47,30.14,13.54,62.8-6.99,90.82-32.64,44.55-106.51,39.41-133.59-8.24-45.73-80.48,49.74-160.1,119.77-106.26Z"/>
</g>
<g>
<path class="b" d="M395.52,128.43c50.29,40.71,28.84,125.79-34.37,141.27-7.94,1.94-34,4.45-40.2-.24-.7-.53-1.73-1.28-1.25-2.3.2-.42.58-.72.95-1.01,6.58-5.05,11.45-13.02,15.71-20.08s7.99-14.88,10.77-22.84c5.4-15.47,7.48-32.13,5.27-48.4-2.36-17.34-9.63-33.63-20.49-47.31-2.75-3.46-6.2-6.45-9.27-9.63-1.09-1.14-3.73-3.05-4.21-4.6-.9-2.93,2.98-3.72,5.51-4.06,23.02-3.1,46.39,1.77,65.63,14.81,2.04,1.38,4.02,2.84,5.94,4.39Z"/>
<path class="b" d="M433.88,441.36c-2.64-2.97.77-10.22,1.03-13.89,3.54-49.03-30.24-100.05-69.07-126.89-1.99-1.38-11.43-6.12-11.91-6.6-1.42-1.44.09-1.81,1.48-1.99,7.36-.93,17.29,1.08,24.7,2.32,16.51,2.77,33.53,8.05,48.48,15.52,18.53,9.24,34.94,22.72,47.79,38.94,11.65,14.7,54.83,91.93,8.76,92.91-15.76.33-31.52.67-47.28,1-1.97.04-3.23-.46-3.99-1.31Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 285 B

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
icons/nuudel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

68
icons/talk.svg Normal file
View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.1-dev (f9311a1, 2019-12-25)"
sodipodi:docname="talk8.svg"
id="svg19"
xml:space="preserve"
viewBox="0 0 1024 1024"
version="1.1"
stroke-miterlimit="1.4142"
stroke-linejoin="round"
fill-rule="evenodd"
clip-rule="evenodd"><metadata
id="metadata23"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
inkscape:current-layer="svg19"
inkscape:window-maximized="1"
inkscape:window-y="23"
inkscape:window-x="1440"
inkscape:cy="522.40348"
inkscape:cx="510.51379"
inkscape:zoom="0.67285156"
showgrid="false"
id="namedview21"
inkscape:window-height="1035"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
inkscape:document-rotation="0"
bordercolor="#666666"
pagecolor="#ffffff" /><defs
id="defs15"><linearGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(8.96 0 0 8.96 -7.8457e-5 .00019795)"
y2="-7.6294e-6"
y1="150"
x2="150"
x1="18.23"
id="a"><stop
id="stop10"
offset="0"
stop-color="#0082c9" /><stop
id="stop12"
offset="1"
stop-color="#1cafff" /></linearGradient></defs>
<rect
id="rect17"
fill-rule="evenodd"
fill="url(#a)"
height="1024"
width="1024" /><path
style="fill:#ffffff"
inkscape:connector-curvature="0"
d="M 511.95919,186 A 325.96385,325.95103 0 0 0 186,511.96034 325.96385,325.95103 0 0 0 511.95919,837.91133 325.96385,325.95103 0 0 0 681.04889,790.22529 c 40.06218,15.91895 129.79781,63.14682 151.15526,42.74701 22.3177,-21.31206 -26.20129,-121.61808 -37.83331,-158.89148 A 325.96385,325.95103 0 0 0 837.91466,511.95755 325.96385,325.95103 0 0 0 511.96013,186.01118 Z m 0.0373,123.92323 A 202.1178,202.11161 0 0 1 714.11425,512.03485 202.1178,202.11161 0 0 1 511.99645,714.13247 202.1178,202.11161 0 0 1 309.87866,512.03485 202.1178,202.11161 0 0 1 511.99645,309.92323 Z"
stroke-width="0.14"
fill="#000"
id="path25" /></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -18,7 +18,7 @@ entries:
issuer_mode: per_provider
redirect_uris:
- matching_mode: strict
url: https://{{ env "MILA_DOMAIN" }}/auth/user/rauthy/callback
url: https://{{ env "MILA_DOMAIN" }}/auth/user/oidc/callback
name: Mila
property_mappings:
- !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]]

1
release/10.2.0+2025.12.4 Normal file
View File

@ -0,0 +1 @@
This is an intermediate release (required for migrations) before upgrading to 2026.x.

3
release/11.0.0+2026.2.1 Normal file
View File

@ -0,0 +1,3 @@
You must deploy 10.2.0+2025.12.4 first, before deploying this version, if upgrading from 2025.10 or earlier.
Skipping the intermediate version will cause a migration error (although rolled back safely, no data loss).

1
release/11.0.2+2026.2.1 Normal file
View File

@ -0,0 +1 @@
WARNING: This update will clear all custom assets in /web/dist/asssts. You might need to run customize() again.

View File

@ -52,7 +52,7 @@ entries:
name: {{ env "WORDPRESS_GROUP" }}
attrs:
users:
- 1
- !Find [authentik_core.user, [username, "akadmin"]]
id: wordpress_group
model: authentik_core.group