Kokoro-FastAPI ships English, Spanish, French, Hindi, Italian, Japanese, Portuguese and Chinese voices only. The German presets pointed at voice ids no Kokoro server has, so German users either got English voices or picked a voice that failed to speak. The local voice now also lists the German voices whose Piper model is installed (PIPER_BASE_URL) and speaks them through Piper's /synthesize as WAV. Thorsten, the clearest model, is the German default. Mobile plays WAV as well as MP3, and the E2E voice stub stands in for Piper. Claude-Session: https://claude.ai/code/session_01KWEAjTw26eRf3ZXTXfRjmD Co-authored-by: Claude <noreply@anthropic.com>
3.6 KiB
Local Setup / Lokales Setup — evOo
DE · Startbefehle für die lokale Programmier-Maschine.
EN · Start commands for the local programming machine.
Prerequisites / Voraussetzungen
- Node.js ≥ 22 (22.x / 24.x / 26+; not 23.x or 25.x)
- pnpm 9 (
corepack enable && corepack prepare pnpm@9.15.0 --activate) - Docker (Postgres + optional sandboxes / Kokoro)
- Git, OpenSSL
1. Env
cp .env.example .env
Minimum secrets (use independent long random values):
| Variable | Notes |
|---|---|
POSTGRES_PASSWORD |
e.g. openssl rand -hex 16 |
DATABASE_URL |
Same password; host port 5433 with postgres-host overlay |
BETTER_AUTH_SECRET |
long random |
ENCRYPTION_KEY |
long random |
SCREEN_PROXY_SECRET |
long random |
SANDBOX_SUPERVISOR_TOKEN |
required for Docker sandboxes |
Optional: OPENROUTER_API_KEY, Composio/Pipedream, KOKORO_BASE_URL, PIPER_BASE_URL.
2. Postgres
docker compose --env-file .env \
-f infra/compose/docker-compose.yml \
-f infra/compose/docker-compose.postgres-host.yml \
up postgres -d
Default host URL shape:
postgresql://rakazo:<POSTGRES_PASSWORD>@127.0.0.1:5433/rakazo
(DB role/db names may still say rakazo — tech debt; do not rename without migration.)
3. Install & migrate
pnpm install
pnpm db:generate
pnpm db:migrate
Optional sandbox image:
pnpm sandbox:build
4. Dev servers
pnpm dev
Starts API, worker, web, and sandbox-supervisor (turbo filters in root package.json).
| Surface | URL |
|---|---|
| App (Vite) | http://127.0.0.1:5173 |
| API | http://127.0.0.1:3100 |
Desktop:
pnpm --filter @rakazo/desktop dev
iPhone on the same Wi‑Fi (Mac LAN)
The mobile app can talk to a self-hosted API over HTTP on your local network. The API must listen on all interfaces, not only loopback.
# sets API_HOST=0.0.0.0 in .env, prints the URL, starts pnpm dev
bash scripts/dev-mobile-lan.sh
On the iPhone: open evOo → Custom server on sign-in → http://<mac-lan-ip>:3100 (the script prints the IP). Allow Local Network when iOS asks.
Optional dev client: pnpm --filter @rakazo/mobile start and scan the QR code with Expo Go (you still set the custom server URL in the app).
5. Local models / Ollama seed
pnpm exec tsx scripts/seed-ollama.ts
Pi local provider: packages/adapters/src/pi-local-provider.ts.
6. Voice / Kokoro (not vendored)
Voice blobs are excluded from this repo. Run Kokoro-FastAPI yourself:
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
export KOKORO_BASE_URL=http://127.0.0.1:8880
Then connect Kokoro in Voice settings. German voices come from Piper (PIPER_BASE_URL). See kokoro-voice.md.
7. Antigravity / future tools
| Tool | Path |
|---|---|
| self-update | packages/core/src/self-update.ts |
| local-stack | apps/desktop/src/local-stack.ts |
| pi-local-provider | packages/adapters/src/pi-local-provider.ts |
| seed-ollama | scripts/seed-ollama.ts |
Tech debt: @rakazo/* package names
Display brand is evOo. Workspace package names remain @rakazo/api, @rakazo/web, @rakazo/core, … and some env/compose identifiers still use RAKAZO_* / DB name rakazo. Renaming would break imports and lockfile; track as follow-up.
Source
Clean history cut from cynarAI/evoo commit f00577b on branch antigravity-handoff/project-timeline (Voice First + project timeline). This repo does not carry the old multi-remote history.