IT WORKS. ✅
nginx is running on my Android phone.
Browser → localhost:8080 → "Welcome to nginx!"
Served from Termux. No laptop. No cloud. No external server. Just the phone in my hand.
Day 3 of building udock in public. The tool runs. 📱🔥
IT WORKS. ✅
nginx is running on my Android phone.
Browser → localhost:8080 → "Welcome to nginx!"
Served from Termux. No laptop. No cloud. No external server. Just the phone in my hand.
Day 3 of building udock in public. The tool runs. 📱🔥
The path here:
❌ Docker doesn't run on Android
❌ udocker works but can't publish ports reliably
❌ Postgres dies at shared memory init
✅ Native Termux processes just work
So I'm pivoting udock to support BOTH containers and native services. One config, two backends.
Day 3 lesson: udocker doesn't clean up ports between runs.
bind() to 0.0.0.0:80 failed (98: Address in use) — a stale process from yesterday held port 80.
Fix: never bind to privileged ports (<1024). Use 8080+ everywhere.
Hard-won knowledge. Nobody documents this stuff. 📱
Day 3 of building udock on my phone.
Day 1: posted the idea.
Day 2: nginx runs in a container on Android.
Day 3: making it serve real content, then adding udock status.
Progress over perfection. 📱
Some few months ago Built a live tool to find when Kenya's commodities are cheapest vs most expensive
Farmers sell at harvest (forced). Traders hold & profit.
I pulled 15+ years of WFP data. Compare current prices to history:
https://t.co/KJjRDQZ86B
IT WORKS.
udock just ran nginx on my Android phone.
udock up → pulls image → creates container → starts in tmux → maps port.
Browser loads localhost:2080 → nginx responds. Real HTTP server. On a phone. In Termux. In a container.
2 days. Many bugs. One working tool. 📱🔥
Day 2 status:
✅ tmux keeps containers alive on Android
✅ udock.yaml → containers works end-to-end
❌ Postgres dies at shared_buffers
Looks like Android's kernel blocks SysV IPC. Testing now.
If Postgres can't run, I'm pivoting the MVP to SQLite. Same tool, simpler backend.