🐘
pREST
  • pRESTd
    • Who uses pREST
    • pRESTd Key Features
    • Contributing to pRESTd
    • pREST in the Media
    • Code of Conduct
    • Code of Ethics
  • Get pREST
    • Development Guide
    • Start with Docker
    • Start with Golang
    • Start with Homebrew
  • Get Started
    • Configuring pREST
    • CORS Support
    • Cache
    • Migrating
    • Permissions
  • API Reference
    • Custom Queries
    • Auth
    • Parameters
    • Advanced Queries
  • Deployment
    • Deploying with Docker
    • Deploy in Heroku
  • Plugins
    • Middleware Plugin
    • Endpoint Plugin
  • Integrations
    • Amazon Redshift
    • TimescaleDB
    • YugabyteDB
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Get pREST

Start with Docker

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

# 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

PreviousDevelopment GuideNextStart with Golang

Last updated 1 year ago

Was this helpful?