Skip to content

Install

Prereqs: Python 3.11+, Node 20+ (for web/marketing later), Docker (for Postgres).

Terminal window
cp .env.example .env
docker compose up -d db # Postgres on :5432 (or use Homebrew, below)
make install # .venv + agent and backend (editable, dev extras)
make lint # ruff + black --check
make migrate # alembic upgrade head (creates the schema)
make test # pytest (needs a `riser_test` database)
make run-backend # uvicorn on :8000
curl localhost:8000/health # {"status":"ok","db":"ok"}

No Docker? Run Postgres via Homebrew and create the two databases:

Terminal window
brew install postgresql@16 && brew services start postgresql@16
export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"
psql -d postgres -c "CREATE ROLE riser LOGIN PASSWORD 'riser' SUPERUSER;"
psql -d postgres -c "CREATE DATABASE riser OWNER riser;"
psql -d postgres -c "CREATE DATABASE riser_test OWNER riser;" # backend tests use this

No controller is required: the agent runs against the SimulatedDriver. Field install on a Pi (Debian .deb + systemd) is built in Phase 4 with its own runbook here.