Improve domain routing for portal and Gitea

This commit is contained in:
2026-06-10 07:18:47 +02:00
parent 33a41dc992
commit 8e1b9ae5a5
+37 -19
View File
@@ -22,6 +22,20 @@ APPFACTORY_REGISTRY_DOMAIN="${APPFACTORY_REGISTRY_DOMAIN:-}"
mkdir -p "$(dirname "$CADDY_FILE")" mkdir -p "$(dirname "$CADDY_FILE")"
mkdir -p "$APPFACTORY_DIR/gateway/static" mkdir -p "$APPFACTORY_DIR/gateway/static"
write_site_header() {
local site="$1"
if [ "$APPFACTORY_ENABLE_HTTPS" = "true" ]; then
cat >> "$CADDY_FILE" <<EOF_CADDY
$site {
EOF_CADDY
else
cat >> "$CADDY_FILE" <<EOF_CADDY
http://$site {
EOF_CADDY
fi
}
write_app_routes() { write_app_routes() {
local target_file="$1" local target_file="$1"
@@ -67,7 +81,7 @@ with open(caddy_file, "a", encoding="utf-8") as f:
PY PY
} }
write_common_path_routes() { write_portal_routes() {
local target_file="$1" local target_file="$1"
cat >> "$target_file" <<'EOF_ROUTES' cat >> "$target_file" <<'EOF_ROUTES'
@@ -75,7 +89,15 @@ write_common_path_routes() {
respond "AppFactory OK" 200 respond "AppFactory OK" 200
} }
handle /portal* { handle / {
redir /portal 302
}
handle /portal {
reverse_proxy appfactory-portal:9100
}
handle /portal/* {
uri strip_prefix /portal uri strip_prefix /portal
reverse_proxy appfactory-portal:9100 reverse_proxy appfactory-portal:9100
} }
@@ -100,7 +122,7 @@ EOF_ROUTES
} }
handle { handle {
respond "AppFactory gateway is running" 200 redir /portal 302
} }
EOF_ROUTES EOF_ROUTES
} }
@@ -110,7 +132,7 @@ write_http_only_caddyfile() {
:80 { :80 {
EOF_CADDY EOF_CADDY
write_common_path_routes "$CADDY_FILE" write_portal_routes "$CADDY_FILE"
cat >> "$CADDY_FILE" <<'EOF_CADDY' cat >> "$CADDY_FILE" <<'EOF_CADDY'
} }
@@ -121,10 +143,8 @@ write_domain_caddyfile() {
: > "$CADDY_FILE" : > "$CADDY_FILE"
if [ -n "$APPFACTORY_PORTAL_DOMAIN" ]; then if [ -n "$APPFACTORY_PORTAL_DOMAIN" ]; then
cat >> "$CADDY_FILE" <<EOF_CADDY write_site_header "$APPFACTORY_PORTAL_DOMAIN"
$APPFACTORY_PORTAL_DOMAIN { write_portal_routes "$CADDY_FILE"
EOF_CADDY
write_common_path_routes "$CADDY_FILE"
cat >> "$CADDY_FILE" <<'EOF_CADDY' cat >> "$CADDY_FILE" <<'EOF_CADDY'
} }
@@ -132,8 +152,8 @@ EOF_CADDY
fi fi
if [ -n "$APPFACTORY_GITEA_DOMAIN" ]; then if [ -n "$APPFACTORY_GITEA_DOMAIN" ]; then
cat >> "$CADDY_FILE" <<EOF_CADDY write_site_header "$APPFACTORY_GITEA_DOMAIN"
$APPFACTORY_GITEA_DOMAIN { cat >> "$CADDY_FILE" <<'EOF_CADDY'
handle /health { handle /health {
respond "Gitea gateway OK" 200 respond "Gitea gateway OK" 200
} }
@@ -147,16 +167,16 @@ EOF_CADDY
fi fi
if [ -n "$APPFACTORY_REGISTRY_DOMAIN" ]; then if [ -n "$APPFACTORY_REGISTRY_DOMAIN" ]; then
cat >> "$CADDY_FILE" <<EOF_CADDY write_site_header "$APPFACTORY_REGISTRY_DOMAIN"
$APPFACTORY_REGISTRY_DOMAIN { cat >> "$CADDY_FILE" <<'EOF_CADDY'
handle /v2/* {
reverse_proxy appfactory-registry:5000
}
handle /health { handle /health {
respond "Registry gateway OK" 200 respond "Registry gateway OK" 200
} }
handle /v2/* {
reverse_proxy appfactory-registry:5000
}
handle { handle {
reverse_proxy appfactory-registry:5000 reverse_proxy appfactory-registry:5000
} }
@@ -170,9 +190,7 @@ EOF_CADDY
fi fi
} }
if [ "$APPFACTORY_ENABLE_HTTPS" = "true" ] && { if [ -n "$APPFACTORY_PORTAL_DOMAIN" ] || [ -n "$APPFACTORY_GITEA_DOMAIN" ] || [ -n "$APPFACTORY_REGISTRY_DOMAIN" ]; then
[ -n "$APPFACTORY_PORTAL_DOMAIN" ] || [ -n "$APPFACTORY_GITEA_DOMAIN" ] || [ -n "$APPFACTORY_REGISTRY_DOMAIN" ];
}; then
write_domain_caddyfile write_domain_caddyfile
else else
write_http_only_caddyfile write_http_only_caddyfile