Blog
Thoughts on technology, enterprise architecture, and lessons from two decades of building solutions.
Showing 1–5 of 8 posts
Migrating ERPNext v13 to v15: Two Years, Three Versions, One Workbench A persistent-volume workbench that walked four years of accounting data through v13 → v14 → v15 without a production maintenance window — and the is_virtual patch failure in between. Read article Self-Hosting ERPNext: The Custom Image Problem The stock Frappe image ships without HRMS or Payments, and our production host is ARM. Building a multi-app, multi-arch Docker image — including the bench init prompt that breaks Docker builds. Read article Trust, but Verify: Testing an ERPNext Migration Through Its REST API A 43-check REST API suite that proved every split-app boundary survived the migration — and the asset-hash disaster that taught us never to run bench build in one container of a scaled stack. Read article Chat bridges for a coding agent: Signal, Telegram, Slack How to drive a home coding server from a phone — and why the channel choice is the least important decision. Allowlists, API surfaces, and permissions are where the risk lives. Read article A project is a directory, not a process opencode's headless server drives projects it never started. The mental model that unlocked remote control of dozens of repos. Read article