Quickstart
This walkthrough starts the management API on 127.0.0.1:9080, the HTTP proxy on 0.0.0.0:8080, and one route that matches every request.
Start two upstreams
Section titled “Start two upstreams”Open two terminals:
python3 -m http.server 9001python3 -m http.server 9002Start Raahi
Section titled “Start Raahi”From the repository root:
just run-seedOr build the admin UI and run Raahi through Cargo:
cd ui && npm install && npm run build && cd ..cargo run --release -- --seedOpen the admin UI at http://localhost:9080.
The seeded setup contains:
- The
demo-serviceupstream, with round-robin load balancing - The targets
127.0.0.1:9001and127.0.0.1:9002 - The
demo-routeroute, which matches every host and path
Send traffic
Section titled “Send traffic”curl -i http://localhost:8080/curl -i http://localhost:8080/Requests alternate between the two targets. Stop one server and Raahi removes it from rotation after a failed connection or health check.
Protect the admin API
Section titled “Protect the admin API”Raahi starts with management authentication disabled. Create the first admin before exposing the management listener to another machine:
curl -X POST http://127.0.0.1:9080/api/v1/users \ -H 'content-type: application/json' \ -d '{ "email": "[email protected]", "name": "You", "role": "admin", "password": "replace-with-a-long-password" }'Creating the first user enables authentication immediately. Sign in through the web UI for normal work.
Next steps
Section titled “Next steps”- Add an application with its domain, upstream, and HTTPS policy.
- Read how route selection works.
- Configure TLS and certificate renewal.
- Protect automation with API authentication.