evOo-local/docs/LOCAL-SETUP.md
cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

129 lines
3.3 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_improve | `scripts/self_improve.py` |
| autonomous-sentinel | `scripts/autonomous-sentinel.ts` |
| self-update | `packages/core/src/self-update.ts` |
| orchestrator | `orchestrator/agent_runner.py`, `orchestrator/agents.json` |
| 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.
## Old folders (do not delete from this doc — cleanup later on the Mac)
- `~/Desktop/evoo` (or Desktop/evOo)
- `~/awesome-grok-bot`
- `~/evOo`
- `~/Projects/evOo` (if present)
Keep them until you confirm `~/Projects/evOo-local` works.