payment-gateway.app Docs
Deployment

Docker Compose Deployment

Deploying using traditional Docker Compose on any operating system.

Docker Compose Deployment

Docker Compose is an excellent choice for deploying the Payment Gateway on a variety of operating systems, including Linux, Windows, and macOS, for both development and production.

For the first customer deployment, start with Self-Hosted Installation. This page focuses on Docker Compose specific operations after you already know your required domains, registry access values, and activation flow.

Prerequisites

Before starting, ensure your system meets these requirements:

  • Docker Engine 24+ and Docker Compose v2
  • curl, jq, and openssl installed
  • At least 4 CPU cores and 8 GB RAM
  • Optional: MongoDB TLS certificates (recommended for production)

Docker Compose Flow

  1. Clone the repository and navigate to the Docker Compose folder:

    git clone https://github.com/root-sector-ltd-and-co-kg/payment-gateway-deploy
    cd payment-gateway-deploy/docker-compose
  2. Create .env from the template, replace yourdomain.com with your actual domain, and add your registry access values from the license dashboard. See Configuration Requirements for MongoDB TLS and Self-Hosted Installation for the full credential setup.

  3. Deploy the application (auto-generates .env.secrets on first run):

    ./deploy.sh
  4. Activate the license from the same host after the stack is running. The admin backend creates the installation ID automatically on first startup.

For backup/recovery operations, see Backup & Recovery (GDPR). For encryption scope and processed-data overview, see Data Processing & Encryption.

Managing Services

After deployment, manage your containers using standard Docker Compose commands from inside the docker-compose/ directory:

  • Check logs: docker compose logs -f
  • Restart services: docker compose restart
  • Stop the stack: docker compose down

Note: For component updates or full stack updates, use the unified updater or component flag via ./deploy.sh rather than docker compose up -d. This ensures proper graceful reloads and backups.

On this page