evOo-local/docs/LOCAL-SETUP.md
Claude b124d2d7e5
chore: replace machine-specific paths and addresses with placeholders
ORIGIN.md pinned the intended checkout to an absolute path under a
personal home directory, docs/LOCAL-SETUP.md listed folders on one
developer's machine, and two tests used what looks like a real tailnet
address. Use a home-relative path, drop the machine-specific folder list,
and use 100.100.100.100 in the tests; it is still inside 100.64.0.0/10,
so both tests check the same thing as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u
2026-10-03 13:14:17 +00:00

117 lines
2.9 KiB
Markdown

# 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
```bash
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`.
## 2. Postgres
```bash
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:
```text
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
```bash
pnpm install
pnpm db:generate
pnpm db:migrate
```
Optional sandbox image:
```bash
pnpm sandbox:build
```
## 4. Dev servers
```bash
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:
```bash
pnpm --filter @rakazo/desktop dev
```
## 5. Local models / Ollama seed
```bash
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:
```bash
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. See [kokoro-voice.md](./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.