Self-hosting
Clone the repository and run the whole platform on your machine: web app, PostgreSQL, MinIO, and the docs.
What you run locally
The stack is small: the Next.js web app serves the dashboard, hosted checkout, and the REST API, while Docker Compose provides PostgreSQL and MinIO for storage.
Web app on :3000
Dashboard, checkout, and API, started with npm run dev.
PostgreSQL and MinIO
docker compose up -d; MinIO console on :9001 for business logos.
Docs on :3001
Mintlify preview via npm run docs:dev.
Node.js 20+ and Docker
The only hard prerequisites for the core app.
Getting started
From clone to a working dashboard in a handful of commands: install, start the containers, configure the environment, migrate, and sign in.
First run
- 1
Clone and install
Clone the payoes repository and run npm install from the repo root.
- 2
Start services and configure
Bring up PostgreSQL and MinIO with docker compose, then copy apps/web/.env.example to apps/web/.env.
- 3
Migrate and run
Apply the schema with npm run db:migrate, then start the web app with npm run dev on port 3000.
Onboarding flow
Sign in, create a business, and connect a Testnet settlement wallet.
Verify end to end
Create a sandbox payment and complete checkout with a Testnet wallet.
Optional integrations
Sandbox payments, checkout, customers, and webhooks all work with the default setup. These extras only matter for specific features.
Google OAuth
Sign in with Google on the dashboard.
SMTP
Team invitation and verification emails.
Persona KYC
Identity verification, required only to test production mode.
Webhook retry worker
Schedule POST /api/cron/webhook-retries for reliable delivery on low-traffic deployments.