kyle and Claude Opus 4.6
da148a577d
Add docker-compose, RUNBOOK.md, and docker Makefile target
...
- docker-compose.yml: single service with data volume, ports 8443/9443/8080
- RUNBOOK.md: health checks, common operations (start/stop/backup/init),
FIDO2 key registration, incident procedures (won't start, DB corruption,
cert expiry, disk full, sync failures), escalation path
- Makefile: added docker target
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 21:36:27 -07:00
kyle and Claude Opus 4.6
51dd5a6ca3
Implement Phase 10: deployment (Dockerfile, systemd, install script)
...
- Multi-stage Dockerfile: golang:1.25-alpine builder, alpine:3.21 runtime
CGO_ENABLED=0, stripped binary, non-root user
- systemd: service unit (hardened), backup oneshot, daily timer (02:00 UTC)
- Install script: create user, dirs, config, install units
- Updated PROGRESS.md with all completed phases
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 20:01:40 -07:00
kyle and Claude Opus 4.6
9077117e74
Implement Phase 0+1: project setup, config, database, migrations
...
- Go module, Makefile, .golangci.yaml, .gitignore, example config
- TOML config loading with validation
- SQLite database with WAL, foreign keys, busy timeout
- Schema migrations: users, webauthn_credentials, notebooks, pages,
strokes, share_links with indexes and cascading deletes
- 4 tests: open+migrate, idempotent, foreign keys, cascade delete
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 19:47:38 -07:00