Docs/Self-hosting

Self-hosting

Clone the repository and run the whole platform on your machine: web app, PostgreSQL, MinIO, and the docs.

1

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.

2

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. 1

    Clone and install

    Clone the payoes repository and run npm install from the repo root.

  2. 2

    Start services and configure

    Bring up PostgreSQL and MinIO with docker compose, then copy apps/web/.env.example to apps/web/.env.

  3. 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.

3

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.

Self-hosting

Ready to build?

Grab a sandbox key and make your first request in minutes.

← Back to home