Daily log 2026-02-18: Coolify setup, calendar CLI, support fixes
This commit is contained in:
parent
75cda5287b
commit
3026420c9d
2 changed files with 84 additions and 0 deletions
69
memory/2026-02-18.md
Normal file
69
memory/2026-02-18.md
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# 2026-02-18 — Daily Log
|
||||
|
||||
## DocFast Support Fixes
|
||||
- FreeScout `needs-reply` had TWO bugs: threads are reverse chronological (newest=index 0), and it skipped unassigned tickets. Both fixed.
|
||||
- FreeScout email formatting: `body`/`text` field needs HTML, not plain text. `\n` gets stripped. Fixed: convert paragraphs to `<p>` tags, newlines to `<br>` in the `text` field.
|
||||
- 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 `expand` in 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 `curl` added 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)
|
||||
|
|
@ -15,6 +15,21 @@
|
|||
"time": "20:12",
|
||||
"type": "nudge",
|
||||
"note": "Second nudge — nose shower reminder + audiobook suggestion"
|
||||
},
|
||||
{
|
||||
"time": "20:30-00:00",
|
||||
"type": "activity",
|
||||
"note": "Kept working on DocFast (support formatting, needs-reply bug, product research, Coolify skill). Hoid failed to nudge — got caught up helping instead of pushing back."
|
||||
},
|
||||
{
|
||||
"time": "00:00",
|
||||
"type": "self-critique",
|
||||
"note": "FAILURE: Did not nudge after 20:12. Should have actively blocked new work after 20:00. User called it out at midnight."
|
||||
},
|
||||
{
|
||||
"time": "01:00",
|
||||
"type": "sleep",
|
||||
"note": "Fell asleep around 01:00 Vienna. Late but better than working at midnight."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue