Commit
305d574
@dtinth Updated docs/SPEC.md for Dokploy + bind-mounted vault, with the CLI as a thin API client (f16dad0, local). Still waiting on a yes to push
next and start on legacy parity.Yes, pls push and start on legacy parity!
@dtinth Parity done and pushed: https://github.com/dtinth/notes-infrastructure/commit/0e36dcf
bun run parity takes the 466 .md notes from the live dt.in.th repo as a vault and builds into a copy of it:
- tree.json, sitegraph.json, index.json, sitemap.txt, recent.xml, every .md…GitHubReach parity with the legacy static site output · dtinth/notes-infrastructure@0e36dcfPorts note indexing, the public tree, sitegraph, search index, search keys and the full static site build (pages, .md copies, alias pages, 404, api/*, RSS, CNAME and friends) from legacy. `bun run...
Yes please!
On it: plan/apply against Supabase, behind an interface with an in-memory fake and tests. No live Supabase access here, so I will test against the fake and leave a read-only
notes plan for you to run against the real one.You have rootless Docker. Can you work on this autonomously and update progress as you go?
6/7 done (7712869, CI green): the backoffice at /admin/. Drove it with Playwright against local Supabase: signed in, edited JavaScript.md (Ctrl+S), opened the plan, applied all 4. The save got auto-committed and pushed to the vault remote, and the apply rebuilt and pushed the…
dt.in.thThai Pangsakulyanont
Nice. Place match the design system. See https://github.com/dtinth/claw for more examples.
GitHubGitHub - dtinth/claw: Tools to provide my coding agents fine-grained access to my repositoriesTools to provide my coding agents fine-grained access to my repositories - dtinth/claw
Nice. Do an adversarial security review pls.
On it: adversarial security review of next (server auth, API, git/token handling, path traversal, preview iframe, Docker). Will post findings and fixes.
Review pass done, now fixing. Worst find: the GitHub App token for one repo works on every repo in the installation. Also: note aliases can write files outside the site dir (../), and symlinks in the vault are followed.
I created a dedicated app and installed it on just two directories. BTW, my GITHUB_APP_PRIVATE_KEY is a PEM file with multiline, how do I set it in
.env?Paste it as one line, either way works now (650a0f2): GITHUB_APP_PRIVATE_KEY=<output of base64 -w0 key.pem> (on macOS: base64 -i key.pem), or the PEM with \n escapes. A dedicated app on just those two repos is ideal. Tokens are now also scoped to one repo each.
On my VPS:
Do I have to do something special? Also, I just need to create a blank folder and on first run would the vault be populated?
sh-session
$ id -u 1003
Both handled in 306e3e5.
uid: in Dokploy, set the build args (Environment, Build-time Arguments) NOTES_UID=1003 and NOTES_GID=<your id -g>. The image then runs as that user, so vault files stay yours on the host.
Blank folder: yes. Create it (owned by you), bind-mount it at…

GitHubGitHub · Change is constant. GitHub keeps you ahead. · GitHubJoin the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.
It works great!
- Can you make it so that the sidebar shows recent note first.
- Add an action menu where I can set note to public (updates frontmatter to
public: true + adds created if not created yet) and add revision (adds an updates entry)
- To rename a note I can just…Glad it works! On it: recent-first sidebar and an actions menu (Make public, Add revision). I will check the frontmatter format the live notes use for created/updates, then answer the rename question.
Done in 1ea8a67, CI green. Redeploy to get it.
Sidebar: most recently changed first, with ages. "Changed" means the last commit touching the file, or its mtime while it has uncommitted edits, because after a clone every mtime is the same.
Actions menu, next to Save:
- Make…
Want a favicon so I can easily identify the tab. Propose pls.
commit 305d574