Insights
From the
engineering floor
Technical write-ups, project learnings, and hard-won lessons from production systems.
Why sed -i Breaks Your Docker Bind Mount (and What to Use Instead)
sed -i on Linux replaces the file inode, so your Docker container keeps reading the old file even after you edit it. Here's why it happens, how we debugged a Caddyfile reload that silently did nothing, and the correct cat > file heredoc pattern.
Read articleCaddy's Directive Order Problem: Why try_files Breaks POST /api/* Requests
Serving a React SPA and an API from the same domain? Your POST requests might silently return 405. Caddy runs try_files before reverse_proxy โ here's why, and how handle blocks fix it.
Prisma 7 Docker Crash: MODULE_NOT_FOUND for .prisma/client/default
After upgrading to Prisma 7, our Docker container crashed immediately. The fix: you must run npx prisma generate in the Dockerfile โ npm install alone no longer generates the client.
Teltonika VPN Drops Every Hour? Add reneg-sec 0 to Your OpenVPN Config
New Teltonika RUT routers default to renegotiating VPN keys every 3600 seconds โ causing brief drops. Here's the exact UCI command to disable it and why raw iptables breaks on these devices.
Building an AI Chatbot That Knows Your Live Sensor Data in Real Time
We built a Claude AI chatbot embedded in EcoBas that answers questions about live building sensors. The key: inject fresh DB context into every prompt and stream responses via SSE.
Backfilling 6 Months of BMS Sensor Data Into PostgreSQL
A building management system had 6 months of data trapped in its local database. Here's how we extracted, normalised, and imported it via API backfeed โ and the broken DB triggers we had to bypass.
CRA + Caddy: Use Relative API URLs in Production with REACT_APP_API_URL
When your React app and API live on the same domain behind Caddy, hardcoding localhost:5001 in the Docker image breaks everything. Here's the clean pattern using an empty build arg.
Running a Private Docker Registry Behind Caddy with Basic Auth
We run a private Docker registry for all client deployments. Complete setup: registry container, Caddy TLS, htpasswd auth, and the Makefile workflow to push and pull images.
Get new articles in your inbox
Technical posts and project stories. No spam โ unsubscribe any time.