Skip to main content

Local Docker guide

This guide explains how to run the entire Payofy stack in Docker on your local computer.

Current status​

Your local Docker is already running all eight containers. You can inspect their status with:

docker compose ps

Quick start with one script​

You can deploy or reset all containers on your machine with the same script built for server deployments:

./scripts/deploy/vps-install.sh

This single command:

  • Reads your .env settings (or creates one from .env.example).
  • Builds all images.
  • Starts PostgreSQL, Redis, API, Worker, Admin, Portal, Docs, and Gateway.
  • Runs database migrations.
  • Seeds starter data.

Manual commands​

If you prefer to run standard Docker Compose commands:

1. Build and start containers​

docker compose up -d --build

2. Apply database migrations​

docker compose exec -T api pnpm --filter @payofy/db db:migrate

3. Seed starter data​

docker compose exec -T api pnpm --filter @payofy/db db:seed

Local browser URLs​

Once containers are running, open any of these addresses in your browser:

Managing containers​

To view live output from all services:

docker compose logs -f

To view logs for a specific service:

docker compose logs -f api
docker compose logs -f worker

To stop all services without deleting data:

docker compose down

To stop all services and remove database volumes:

docker compose down -v