Skip to main content

Quickstart

Build the release binary:

make release

Start Praxis:

./target/release/praxis

The server starts on 127.0.0.1:8080 with a built-in default configuration. Verify it:

curl http://127.0.0.1:8080/
{"status": "ok", "server": "praxis"}

Proxy to a backend

Create praxis.yaml:

listeners:
- name: web
address: "127.0.0.1:8080"
filter_chains: [main]

filter_chains:
- name: main
filters:
- filter: router
routes:
- path_prefix: "/"
cluster: backend
- filter: load_balancer
clusters:
- name: backend
endpoints:
- "127.0.0.1:3000"

Start Praxis with your config:

./target/release/praxis -c praxis.yaml

Requests to port 8080 are now forwarded to your backend on port 3000:

curl http://127.0.0.1:8080/

Next steps

  • Configuration: filter chains, routing, load balancing, TLS, and all options.
  • Example configs: working YAML for every feature.
  • Filters: built-in filters and how to write your own.