Skip to content

obsidian-vault-platform: self-hosted static build (Dockerfile) - #12

Open
grepler wants to merge 1 commit into
MusiCode1:mainfrom
grepleria:feature/obsidian-overhaul-im-ioj
Open

obsidian-vault-platform: self-hosted static build (Dockerfile)#12
grepler wants to merge 1 commit into
MusiCode1:mainfrom
grepleria:feature/obsidian-overhaul-im-ioj

Conversation

@grepler

@grepler grepler commented Jul 27, 2026

Copy link
Copy Markdown

Summary

Adds a Dockerfile + nginx.conf for a self-hosted equivalent of the Cloudflare Workers deployment (OPFS-only, no server-side vault storage) — reuses src/deployments/cloudflare/scripts/build-assets.sh unmodified, serves the static output via nginx instead of wrangler deploy.

⚠️ Process note

This was authored as part of a cross-repo infra task (grepleria-configs' plans/obsidian-vault-platform/) and did not go through this repo's own brief-driven-slices process described in AGENTS.md (brief → named-reviewer roles → merge gate). Flagging that explicitly, per that doc's own conventions — please route this through your normal review before merging or relying on it. Happy to produce a proper brief if that's the preferred path forward.

Test plan

  • docker build . — confirm the multi-stage build actually produces a working static bundle (APK download + unzip + build-assets.sh all succeed)
  • Serve the image, confirm the SPA fallback (/starter, /vault/*) behaves like src/deployments/cloudflare/index.js's explicit handling

🤖 Generated with Claude Code

….conf)

Self-hosted equivalent of the Cloudflare Workers deployment (OPFS-only,
no server-side vault storage) -- reuses src/deployments/cloudflare's
static-asset pipeline (build-assets.sh) unmodified, serving the output via
nginx instead of `wrangler deploy`. Stage 1 does the actual proprietary
renderer pull (scripts/update-obsidian-mobile.js, the official Obsidian
Android APK) at image-build time.

NOTE: this bypasses this repo's own brief-driven-slices contribution
process (AGENTS.md) -- no brief, no review by the named roles that process
describes. Flagging explicitly per that doc's own conventions; please run
this through your normal process before merging/relying on it. Full
context in grepleria-configs' plans/obsidian-vault-platform/HANDOFF.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
github-actions Bot pushed a commit to AceDuan/obsidian-web that referenced this pull request Jul 29, 2026
DoD#0/#1/MusiCode1#3/MusiCode1#4/MusiCode1#7/MusiCode1#8/MusiCode1#9/MusiCode1#11/MusiCode1#12/#13/#14 אומתו לייב (Chromium, Node
runtime-server, secure context). DoD#5 נדחה במכוון לאחרי Commit 7 (חטיפת-קליק
עדיין קיימת). fileCount=0 ב-DoD#2 — מקומי בלבד (example-vault.json רק ב-CF
build), לא רגרסיה. "A network error occurred"×8 — נמדד גם במובייל, רעש
קיים-מראש של סביבת-הבדיקה, לא קשור לסלייס. אין שינויי קוד — אימות בלבד.

docs/plans/desktop-layout-now.md §6 Commit 6

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
MusiCode1 pushed a commit that referenced this pull request Jul 29, 2026
scripts/guard-deploy-target.sh <main|demo> [artifact-dir]: בודק index.html
מול העוגן "demoVault":{"enabled":true (עם שם המפתח — אביגיל ממצא 4, בלעדיו
"enabled":true לבדו false-positive על הארטיפקט הראשי דרך plugins.
obsidian-web-layout). mismatch = exit 1 + הודעה מפורשת.

package.json: build:demo (הסניפט מהבריף) + predeploy/predeploy:demo
(build+guard, npm pre-hook אוטומטי) + deploy/deploy:demo מצומצמים ל-
wrangler deploy בלבד — כדי שהשומר תמיד יבדוק ארטיפקט טרי, לא שאריות.

5 טסטים חדשים לשומר (bun test 39/39). README: טבלת שני הפרופילים + תיעוד
השומר + הבהרה שטופולוגיית היעד (wrangler.toml) לא נקבעה כאן.

בדיקות: npm run predeploy + predeploy:demo רצו בפועל (build+guard בלבד,
לא wrangler deploy האמיתי — לפי הבריף). npm test 96/96. DoD#2/#9/#12/#14
אומתו ידנית.
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.

2 participants