For the complete documentation index, see llms.txt. This page is also available as Markdown.

Start with Docker

To simplify the process of bringing up the test environment we will use docker-compose

v2 notes: for v2 deployments, pin the prest image to prest/prest:v2.0.0, set PREST_VERSION=2, and configure JWT (PREST_JWT_KEY or equivalent) when JWT enforcement is enabled — or expect JWT to be auto-disabled with a warning in v2.0.0. Use PREST_DEBUG=true for local development without JWT. See Deploying with Docker and Upgrading to v2.

# Download docker compose file
wget https://raw.githubusercontent.com/prest/prest/main/docker-compose-prod.yml -O docker-compose.yml

# Up (run) PostgreSQL and prestd
docker-compose up
# Run data migration to create user structure for access (JWT)
docker-compose exec prest prestd migrate up auth

# Create user and password for API access (via JWT)
## user: prest
## pass: prest
docker-compose exec postgres psql -d prest -U prest -c "INSERT INTO prest_users (name, username, password) VALUES ('pREST Full Name', 'prest', MD5('prest'))"
# Check if the user was created successfully (by doing a select on the table)
docker-compose exec postgres psql -d prest -U prest -c "select * from prest_users"

# Generate JWT Token with user and password created
curl -i -X POST http://127.0.0.1:3000/auth -H "Content-Type: application/json" -d '{"username": "prest", "password": "prest"}'
# Access endpoint using JWT Token
curl -i -X GET http://127.0.0.1:3000/prest/public/prest_users -H "Accept: application/json" -H "Authorization: Bearer {TOKEN}"

Supported Operating System

  • Linux

  • macOS

  • Windows

  • BSD

Last updated