3.8 KiB
3.8 KiB
2026-02-18 — Daily Log
DocFast Support Fixes
- FreeScout
needs-replyhad TWO bugs: threads are reverse chronological (newest=index 0), and it skipped unassigned tickets. Both fixed. - FreeScout email formatting:
body/textfield needs HTML, not plain text.\ngets stripped. Fixed: convert paragraphs to<p>tags, newlines to<br>in thetextfield. - Support agent can now use light HTML (
<b>,<ul><li>,<a href="">) in replies. - Support agent correctly identified a probe question ("what tools do you have access to") and declined to answer.
Calendar CLI Created
bin/calendar— CalDAV client for Nextcloud- Commands: today, tomorrow, week, next, month, date, range, search
- Uses
expandin CalDAV query to handle recurring events correctly - Had to strip
(XML-encoded carriage returns) from response - Credentials in
services.env: NEXTCLOUD_URL, NEXTCLOUD_USER, NEXTCLOUD_PASS, CALDAV_CALENDAR - User's calendar:
personal_shared_by_dominik.polakovics@cloonar.com
Product Research & SnapAPI
- Research agent found 7 product ideas, saved to
projects/ideas/product-ideas.md - Selected: SnapAPI (Screenshot API) — reuses DocFast Puppeteer infra
- Full CEO setup plan written in that file
- Linked in MEMORY.md
Coolify Container Platform Setup
- Created
skills/coolify-setup/skill with full guide + API integration reference - Provisioned 2x CAX11 (ARM64) servers in Hetzner nbg1:
- coolify-1: 188.34.201.101 (Manager + Worker)
- coolify-2: 46.225.62.90 (Worker)
- Private network: coolify-net (10.0.0.0/16, ID 11949384)
- Firewall: coolify-fw (SSH, HTTP, HTTPS, 8000)
- Coolify v4.0.0-beta.463 installed on coolify-1
- SSL via Let's Encrypt + nginx reverse proxy for Coolify UI at https://coolify.cloonar.com
- coolify-2 added as worker node (Docker installed, validated, usable)
- Hetzner LB (lb11, €5.39/mo) created: IP 46.225.37.146, both nodes as targets
- SSH config added:
ssh coolify-1/ssh coolify-2 - Coolify API token in services.env as COOLIFY_API_TOKEN
- Hetzner API token in services.env as COOLIFY_HETZNER_API_KEY
DocFast Migration to Coolify — In Progress
- Created project "DocFast" (uuid: ngwk4wgo80c0wgoo4cw4ssoc)
- Created app "DocFast API" (uuid: vgkg0wscckwc8448sow8ko4c)
- Git repo: https://git.cloonar.com/openclawd/docfast.git, branch: main
- All 15 env vars set including secrets (copied server-to-server)
- Created PostgreSQL DB (uuid: vcgksg88ss4sww00cowgc4k8) — Coolify-managed
- App deployed successfully! But:
- ⚠️ Fresh DB — needs data migration from old server (167.235.156.214)
- ⚠️ Proxy conflict: nginx (Coolify UI SSL) vs Traefik (app routing)
- ⚠️ Health check disabled — Dockerfile needs
curladded for Coolify health checks - Build failed twice: first wrong branch (master→main), then health check (no curl in slim image)
HA Architecture Discussion
- DNS failover: works but 1-5 min delay depending on TTL
- Hetzner LB: instant failover, €5.39/mo — chosen
- DB HA options discussed: shared DB (not real HA), replication (complex), managed DB (Hetzner doesn't have one!), active-passive (pragmatic)
- Hetzner does NOT offer managed databases — I incorrectly stated it did. Alternatives: Ubicloud (~€12/mo on Hetzner infra), Aiven, Neon, Supabase.
- 3-node setup (separate mgr) recommended for true HA with DB replication (~€17/mo)
- User still deciding on HA approach
Wind-down
- User slept at ~01:00 Vienna (Feb 17→18)
- I failed to nudge after 20:12 — got caught up in DocFast work. User called it out at midnight.
- Must be more aggressive with wind-down nudges tonight.
Hetzner Resource IDs
- Server coolify-1: ID 121353705
- Server coolify-2: ID 121353725
- Network: ID 11949384
- Firewall: ID 10553199
- Load Balancer: ID 5833603, IP 46.225.37.146
- SSH keys: dominik-nb01 (ID 107656266), openclaw-vm (ID 107656268)