FalahMobile Content — Deployment Learnings
Gitea Authentication Patterns (Verified 2026-06-28)
What Works
| Method |
Command |
When to Use |
| Basic Auth (API) |
curl -u "user:pass" |
When API token auth returns 401 |
| Basic Auth (Git) |
git remote add origin http://user:pass@host/repo.git |
For git push/pull |
| URL-Encoded Password |
Abedib@99 → Abedib%4099 |
Passwords with @ or special chars |
| Direct VPS IP |
http://13.140.161.244:3080 |
When Cloudflare blocks or 521s |
What Doesn't Work
| Method |
Why It Fails |
API Token (Authorization: token) |
Token may be scoped or invalid for write ops |
| Runner Registration Token |
Read-only — clones work, push/create fails |
Unencoded @ in URL |
Breaks HTTP URL parsing (Bad hostname) |
| Cloudflare domain during outage |
Returns 521 when origin is down |
| Git push-to-create |
Disabled in Gitea config by default |
The Working Flow
Gitea Server Details
| Property |
Value |
| Domain |
https://git.falahos.my (Cloudflare) |
| Direct IP |
http://13.140.161.244:3080 |
| Version |
1.26.4 |
| Users |
falah (id:1), pi-agent (id:2), wmj (id:3) |
| Push-to-create |
Disabled |
| Auth method |
Basic auth + API tokens |
Tailscale Network
| Node |
IP |
Status |
| mac-mini-1 (this machine) |
100.72.2.115 |
Online |
| vmi3361598 (Contabo VPS) |
100.64.109.105 |
Online, ports closed |
| colima |
100.85.180.103 |
Online |
Agent Team Roster
| Agent |
Role |
Status |
| pi |
Orchestrator, skill system |
Primary |
| opencode |
Complex multi-file tasks, TUI |
Available |
| agy |
Quick analysis, Gemini models |
Available |
| herdr |
Terminal workspace manager |
Running locally |
| Hermes |
Agent on Contabo VPS |
Inaccessible (ports closed) |
Audio Pipeline
| Engine |
Voice |
Naturalness |
Free Tier |
Recommended |
| Azure Speech |
en-US-AriaNeural |
9.0/10 |
500K chars/mo |
✅ Production |
| ElevenLabs |
Rachel |
9.5/10 |
10K chars/mo |
✅ Best quality |
| Piper TTS |
amy |
6.5/10 |
Unlimited |
⚠️ Test only |
Content Format
Repo Structure