Merge claude/1

This commit is contained in:
librelad 2026-05-26 01:07:14 +01:00
commit 3f0f22cedb
5 changed files with 47 additions and 17 deletions

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<circle cx="256" cy="256" r="256" fill="#2e9e6b"/>
<rect x="116" y="176" width="280" height="160" rx="20" fill="#ffffff"/>
<circle cx="256" cy="256" r="42" fill="none" stroke="#2e9e6b" stroke-width="16"/>
<circle cx="168" cy="256" r="11" fill="#2e9e6b"/>
<circle cx="344" cy="256" r="11" fill="#2e9e6b"/>
</svg>

After

Width:  |  Height:  |  Size: 385 B

View File

@ -0,0 +1,12 @@
#!/bin/bash
# OnlyOffice traefik middleware hooks (consumed by traefikSetupLabelsMiddlewares
# and tagsProcessorPortMiddlewares). It serves the document editor with its own
# header requirements, so it opts out of the default chain and adds its own
# headers middleware.
# Marker — presence means: don't attach default@file to this app's routers.
appTraefikSkipsDefaultMiddleware_onlyoffice() { :; }
# Extra middleware entries appended for this app.
appTraefikExtraMiddlewares_onlyoffice() { echo "onlyoffice-headers"; }

View File

@ -0,0 +1,7 @@
#!/bin/bash
# ownCloud traefik middleware hook. It does its own routing, so it opts out of
# the default middleware chain (no app-specific extras).
# Marker — presence means: don't attach default@file to this app's routers.
appTraefikSkipsDefaultMiddleware_owncloud() { :; }

View File

@ -5,16 +5,19 @@ traefikSetupLabelsMiddlewares()
local app_name="$1"
local middleware_entries=()
# List of app names to exclude from default middleware
local exclude_apps=("onlyoffice" "owncloud")
# Check if app_name is not in the list of excluded apps
if [[ ! " ${exclude_apps[@]} " =~ " $app_name " ]]; then
# Default chain unless the app opts out via its per-app hook
# (containers/<app>/scripts/<app>_traefik.sh defines
# appTraefikSkipsDefaultMiddleware_<app>).
if ! declare -F "appTraefikSkipsDefaultMiddleware_${app_name}" >/dev/null 2>&1; then
middleware_entries+=("default@file")
fi
# App Specific middlewears
if [[ "$app_name" == "onlyoffice" ]]; then
middleware_entries+=("onlyoffice-headers")
# App-specific extras (e.g. onlyoffice-headers) via the per-app hook.
if declare -F "appTraefikExtraMiddlewares_${app_name}" >/dev/null 2>&1; then
local _mw
while IFS= read -r _mw; do
[[ -n "$_mw" ]] && middleware_entries+=("$_mw")
done < <("appTraefikExtraMiddlewares_${app_name}")
fi
if [[ "$authelia_setup" == "true" && "$whitelist" == "true" ]]; then

View File

@ -26,14 +26,12 @@ tagsProcessorPortMiddlewares()
return 0
fi
# Excluded apps that historically opted out of the default middleware
# chain — keeps existing behavior for onlyoffice / owncloud which do
# their own routing.
local exclude_apps=("onlyoffice" "owncloud")
# Apps opt out of the default middleware chain via a per-app hook
# (containers/<app>/scripts/<app>_traefik.sh defines
# appTraefikSkipsDefaultMiddleware_<app>) — e.g. onlyoffice / owncloud, which
# do their own routing.
local include_default="true"
if [[ " ${exclude_apps[@]} " =~ " $app_name " ]]; then
include_default="false"
fi
declare -F "appTraefikSkipsDefaultMiddleware_${app_name}" >/dev/null 2>&1 && include_default="false"
local count=${#port_service_names[@]}
local i=0
@ -67,9 +65,12 @@ tagsProcessorPortMiddlewares()
mw+=("crowdsec-bouncer@file")
fi
# onlyoffice / mastodon / similar app-specific middlewares
if [[ "$app_name" == "onlyoffice" ]]; then
mw+=("onlyoffice-headers")
# App-specific extras (e.g. onlyoffice-headers) via the per-app hook.
if declare -F "appTraefikExtraMiddlewares_${app_name}" >/dev/null 2>&1; then
local _mw
while IFS= read -r _mw; do
[[ -n "$_mw" ]] && mw+=("$_mw")
done < <("appTraefikExtraMiddlewares_${app_name}")
fi
local joined; joined=$(IFS=,; echo "${mw[*]}")