Skip to content

app: follow upstream Supabase 0.8.4, Dify 1.19.0, JumpServer 5.1.1 and channel fixes - #797

Merged
Vonng merged 4 commits into
mainfrom
app/upstream-2026-11
Nov 6, 2026
Merged

Vonng merged 4 commits into
mainfrom
app/upstream-2026-11

Conversation

@Vonng

@Vonng Vonng commented Nov 6, 2026

Copy link
Copy Markdown
Member

Summary

Brings the app/ templates that drifted from upstream since 2026-10-08 back in line. One commit per app:

Commit App Change
fix(supabase) Supabase self-hosted 0.8.2 → 0.8.4 (security update)
fix(dify) Dify 1.17.1 → 1.19.0, plugin daemon 0.6.10-local → 0.6.14-local
app(jumpserver) JumpServer v5.0.0-ce → v5.1.1-ce, Redis 7.4.11 → 7.4.12
fix(app) InsForge / Metabase / Wiki.js InsForge v2.3.5; Metabase v0.64.1.x → v0.64.x; Wiki.js pinned to requarks/wiki:2

Matching doc updates are on the app/upstream-2026-11 branches of pigsty.io and pigsty.cc.

Why

  • Supabase: 0.8.3/0.8.4 fix Storage signed TUS URLs bypassing RLS (GHSA-8rrf-w776-x75g), a multipart upload DoS, presigned request replay, Realtime forged broadcasts (GHSA-9vjf-j9f7-j42c), and Envoy CVEs.
  • Dify / JumpServer / InsForge: two minor releases / one minor release / one patch release behind, including dependency security fixes.
  • Metabase: the v0.64.1.x tag stopped receiving builds on 2026-10-12; v0.64.x (= v0.64-lts) tracks 64.5.x.
  • Wiki.js: 3.0 went GA on 2026-11-01 and the 3 tag is published. The untagged image still resolves to 2.5, but once upstream moves latest, make up would pull a major rewrite onto an existing 2.x database. requarks/wiki:2 matches the README's "major-version tag" policy.

What reviewers should look at

  • Supabase: images match upstream 0.8.4 one-to-one; Logflare intentionally stays on 1.50.15 (upstream: ≥1.52 breaks Studio log queries on the PG backend). Gateway changes are ported to both Envoy and Kong (function-owned CORS on /functions/v1/, sb_ key → sb-api-key translation, new OAuth/OIDC discovery routes), keeping the Pigsty /pg/ CORS restriction. Adds FUNCTIONS_MEMORY_LIMIT (2g) and memory-pressure.ts. No new SQL: upstream docker/volumes/db/ is identical between 0.8.2 and 0.8.4. Storage migrations are one-way, so back up first; the README says so.
  • Dify: keeps Pigsty's single .env + apps.dify.conf model instead of upstream's new docker/envs/**/*.defaults layout. local_sandbox now runs with --require-auth-token (a non-empty DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN is required since 1.18). init_permissions also chowns the plugin daemon storage to uid 1001, because daemon 0.6.12+ runs as a non-root dify user. This ports the unmerged fix(docker): initialize plugin daemon storage permissions langgenius/dify#45615; uid 1001 checked against the ubuntu:24.04 base, which already has ubuntu at 1000. KnowledgeFS is left out (optional, separate DB, amd64-only).
  • JumpServer: follows installer v5.1.1 (drops CHAT_AI_DELEGATION_SECRET / Kael PLATFORM_DELEGATION_KEY). Adds WS_ALLOWED_ORIGINS, which is not in the installer diff: Core 5.1 rejects browser WebSocket origins not derived from SITE_URL/DOMAINS, and with the default loopback SITE_URL, scheme-less DOMAINS only allow https://. Without the new setting, plain-HTTP access breaks task logs and job output. Checked against apps/jumpserver/ws_origin.py at v5.1.1. An empty or invalid value makes Core fail at startup (documented).
  • InsForge: upstream functions/ is unchanged from v2.3.3, so the vendored snapshot stays. The new migration 066 adds owner policies and RLS to storage.objects only when it has no policies; this is documented.
  • Out of scope, already present in 0.8.2: the Nginx portal's proxy_read_timeout 120s (roles/infra/templates/nginx/endpoint.conf) is shorter than the Supabase Functions 150s idle timeout.

Validation

  • docker compose config passes for supabase (default, kong, asymmetric, kong+asymmetric), dify, jumpserver, insforge, metabase, wiki.
  • docker manifest inspect confirms every new image tag (JumpServer on both the Aliyun mirror and Docker Hub).
  • Supabase Envoy/Kong template rendering compared with upstream's renderer output; differences limited to the Pigsty /pg/ adaptation.
  • conf/app/*.yml parse with PyYAML and are byte-identical to the doc-site conf/yaml/ mirrors; git diff --check clean.

Not yet run in a real environment: full-stack end-to-end runs of all three stacks; Supabase Storage/Auth migrations on an existing database; Dify 1.17.1 → 1.19.0 migrations and the plugin storage chown; JumpServer in-place upgrade and WebSocket checks from each access URL.

🤖 Generated with Claude Code

Vonng and others added 4 commits November 6, 2026 15:44
Security update: bump Storage, Realtime, Envoy, imgproxy, Edge Runtime and
the coordinated images. Port the gateway changes (function-owned CORS, sb_ key
translation and timeouts on /functions/v1/, OAuth/OIDC discovery routes, Envoy
DNS refresh) to Envoy and Kong with typed template rendering, sync the Edge
worker and memory-pressure monitor, and add FUNCTIONS_MEMORY_LIMIT (2g).
No SQL is needed: upstream volumes/db is unchanged; back up before upgrading
because Storage migrations are one-way. Logflare stays on 1.50.15.

Statically validated (compose config for all override combinations, image
manifests, template rendering parity with upstream); not yet run end to end.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Update Dify API, web, and Agent images to 1.19.0 and the plugin daemon to
0.6.14-local. Start local_sandbox with --require-auth-token, trust the
bundled Nginx client address on api/api_websocket, sync the Nginx
templates (Host/port mapping, Human Input IM callback route), and wire the
Access Token and HITL IM web flags. Hand plugin daemon storage to uid 1001
in init_permissions, since daemon 0.6.12+ runs as non-root (port of
langgenius/dify#45615). Keep the single .env model instead of upstream
envs/*.defaults; KnowledgeFS stays out. Document the 1.18/1.19 migrations,
tracing queue, password pepper, and upgrade steps.

Statically validated (compose config, image manifests); database migrations
and the plugin storage handover are not yet run in a real environment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- bump core/koko/kael/chen/web to v5.1.1-ce and Redis to 7.4.12-bookworm
- follow installer v5.1.1: drop CHAT_AI_DELEGATION_SECRET / Kael
  PLATFORM_DELEGATION_KEY (Kael 5.1 forwards the user's Core session)
- add WS_ALLOWED_ORIGINS: Core 5.1 rejects browser WebSocket origins not
  derived from SITE_URL/DOMAINS, which blocks plain-HTTP access by default
- update the offline image list in app/README.md
- document the 5.0.0 -> 5.1.1 upgrade; runtime validation still on v5.0.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- insforge: update to v2.3.5 (dependency security fixes); PostgREST, Deno
  and the vendored functions/ runtime are unchanged upstream. Document
  migration 066, which adds owner policies and RLS to storage.objects when
  the table has no policies.
- metabase: move from the frozen v0.64.1.x channel to v0.64.x (same image
  as v0.64-lts, 0.64.5.2 on 2026-11-06).
- wiki: pin requarks/wiki:2 so the upcoming latest -> 3.x move cannot
  upgrade a 2.x deployment implicitly; Wiki.js 3.0 is now GA.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Vonng
Vonng merged commit a2e47f4 into main Nov 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant