deploy/README.md becomes the real runbook: the VPS stack, Traefik, the headscale LLM link, the interim edge gate, backups and restore. The millenia Piper notes move to an appendix -- that instance still runs them, and it is still canonical. Two items are called out as outstanding rather than done, because both need access to millenia: vLLM is not bound to its headscale interface, so no AI pass works from the VPS yet, and parodia's ssh key is not authorized there, so backups are VPS-local only -- which is not a backup in the sense that matters. Each has its one-command fix written down. Also folds in DreamDict gaining Spanish: es was explicitly gated on that dataset existing, so it moves from "Later / not now" to a normal follow-on pair after pt-PT, and the Phase 20 provider seam should cover it from the start.
48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# 🌸 Petal
|
|
|
|
A self-hosted, privacy-first writing editor with warm bubbly design, auto-save, and
|
|
local-LLM grammar/ESL suggestions. See [`petal-spec.md`](./petal-spec.md) for the full
|
|
design spec and [`BUILD_PLAN.md`](./BUILD_PLAN.md) for build progress.
|
|
|
|
## Stack
|
|
Go + chi backend · SQLite (modernc, pure Go) · React + Vite + Tiptap + Tailwind v4 frontend ·
|
|
local vLLM/Ollama for AI suggestions. Single-binary deployment (frontend embedded via `go:embed`).
|
|
|
|
## Local development
|
|
|
|
Two processes during development:
|
|
|
|
```bash
|
|
# 1. Backend (serves /api on :8080)
|
|
go run ./cmd/server
|
|
|
|
# 2. Frontend dev server (HMR on :5173, proxies /api → :8080)
|
|
cd web && npm install && npm run dev
|
|
```
|
|
|
|
Open http://localhost:5173 while developing.
|
|
|
|
## Production build (single binary)
|
|
|
|
```bash
|
|
cd web && npm run build # emits web/dist (embedded by the Go binary)
|
|
cd .. && go build -o petal ./cmd/server
|
|
./petal # serves UI + API on :8080
|
|
```
|
|
|
|
Configuration is via environment variables — copy `.env.example` to `.env`.
|
|
|
|
## Deployment
|
|
|
|
```bash
|
|
docker compose up -d --build # petal + the two Piper read-aloud sidecars
|
|
```
|
|
|
|
Behind Traefik on the parodia.dev VPS; vLLM stays on millenia over headscale.
|
|
Full runbook — first deploy, the LLM link, backups and restore — in
|
|
[`deploy/README.md`](./deploy/README.md).
|
|
|
|
## Status
|
|
Early build, multi-session. Auth (Authentik OIDC) is next; Copyleaks plagiarism is
|
|
still parked — see `BUILD_PLAN.md`.
|