SellRight

Self-host

Run SellRight yourself

SellRight runs on your own host with Docker Compose. The stack includes PostgreSQL, the API, the admin and a TLS proxy. It starts the backend and admin, not a customer storefront.

One-command installer

For a single Ubuntu or Debian VPS, run as root:

curl -fsSL https://raw.githubusercontent.com/Orthic-Labs/sellright/main/deploy/install.sh | sudo sh

The installer checks the OS, RAM, disk and ports; installs Docker and cosign if they are missing; generates every machine secret; verifies each image signature before pulling the pinned images from GHCR; starts the stack; and writes a recovery kit. It never displays or logs a secret, and re-running it is idempotent. It installs a sellright host CLI for day-to-day operation.

Read the operations and restore runbook before relying on a deployment.

From a clone

  1. Clone the repository and enter its directory.
  2. Copy deploy/.env.example to deploy/.env. Set the domain, store details and independently generated passwords and secrets.
  3. Create deploy/gateway-accounts.json containing [] until you configure NMI or Sezzle. Never commit merchant keys.
  4. Point the hostname at the host, then run:
docker compose --env-file deploy/.env \
  -f deploy/compose.yaml -f deploy/compose.build.yaml \
  up -d --build

compose.build.yaml adds the build contexts so the images are built from your clone instead of pulled from GHCR. Never combine it with a production .env that expects pinned digests.

Migrations and bootstrap use the database owner; HTTP requests use a separate non-owner role. Bootstrap is create-only and does not reset existing passwords on restart.

Develop

Use Node.js 24 and the pnpm version pinned in package.json. PostgreSQL 17 is the integration-test target.

pnpm install --frozen-lockfile
pnpm --dir packages/admin install --frozen-lockfile
pnpm --filter @sellright/shared build
pnpm --filter @sellright/api build
pnpm --filter @sellright/api dev

The API contract is served at /v1/openapi.json. Full steps, including database roles and first-store bootstrap, are in the README.

License

SellRight is open source under the Apache License 2.0.

Pre-1.0. Suitable for development and evaluation. Production adoption requires gateway acceptance, migration rehearsal, backups and rollback verification.