For the complete documentation index, see llms.txt. This page is also available as Markdown.

⚡Quick Setup

Deploy, configure, and start accepting payments on PayRam in under 10 minutes!

In this section, you’ll go through the complete setup of your PayRam server, including installation, security configuration, and encryption, to ensure it is fully prepared and running smoothly.


Prerequisites

Before starting, please ensure your system meets the following requirements:

Server configuration

  • Use a VPS or dedicated server with the minimum specifications required to host the PayRam server.

Recommended VPS Providers:

  • AWS

  • Google Cloud (GCP)

  • Azure

  • Hetzner

  • Hostinger

Minimum server requirements

  • CPU: 2 cores

  • RAM: 4 GB

  • Storage: 50 GB SSD (the installer requires at least 5 GB free, and recommends 10 GB)

  • Operating System: Ubuntu 22.04 or another supported distribution

Supported operating systems: Ubuntu, Debian, Linux Mint, CentOS, RHEL, Rocky Linux, AlmaLinux, Fedora, Arch Linux, and Alpine Linux. macOS is supported for local testing only, and runs over HTTP without SSL.

Note: Depending on your expected usage and scale, additional resources may be required.

Network requirements

  • Ensure the following ports are open on your server or VPS:

    Port
    Purpose

    80

    HTTP. Serves the dashboard, payment pages, and API. Redirects to 443 when SSL is enabled.

    443

    HTTPS. Required only when PayRam terminates TLS itself (Let's Encrypt or custom certificates).

Database configuration

  • To run PayRam smoothly, you must provision a PostgreSQL database with the following minimum configuration:

    Minimum database requirements:

    • Database engine: PostgreSQL

    • vCPUs: 1 CPU cores

    • Memory: 1 GB

    • Storage: 50 GB SSD

Note : These are the baseline requirements. Using a smaller configuration may cause performance issues during high transaction loads or while processing sweeps. You can scale up depending on the expected transaction volume.


PayRam setup

1

Connect to your VPS

  • Use SSH to connect to your server instance.

2

Run the command

  • Open your terminal and run the installer. Add sudo before the command if elevated privileges are required.

Running the PayRam install command in the terminal
3

Choose your operation

  • PayRam opens an operations menu. Enter 1 and press Enter to begin a fresh installation.

The PayRam operations menu shown when the command is run with no options
4

Choose your network

  • Next, enter 1 for mainnet or 2 for testnet, then press Enter.

Choosing between mainnet and testnet

Note : Mainnet is used for production, while Testnet is used for development and for testing PayRam features. Testnet is recommended for a first install.

Testing Card-to-Crypto? Install on Mainnet. Card payments are not fully available on Testnet, and stablecoin purchases require a Mainnet setup.

5

Installing necessary dependencies

  • The script then handles the rest of the setup automatically. It checks for previous installations, validates required ports, detects the operating system, and ensures compatibility. Next, it installs or verifies Docker and PostgreSQL, creates the needed directories, and performs a disk space check. If any problems are found (such as low storage), the script will display a warning and ask you to confirm whether to proceed by typing Y or N.

System detection, disk space check and dependency installation
6

Database setup

  • Once the dependencies are installed, you are prompted to choose between an External PostgreSQL Database and a Containerized PostgreSQL Database.

Database configuration options
  • Enter 1 or 2 based on your requirement.

Note : Option 1 is recommended for production environments.

  • If you enter 1, you’ll be prompted for the following details:

    • Database Host

    • Port

    • Database Name

    • Username

    • Password

    These details establish the connection between PayRam and your PostgreSQL database.

  • You can find them in your PostgreSQL server configuration or your hosting provider’s control panel. If you’re using a managed PostgreSQL service (for example, AWS RDS, Azure Database, or DigitalOcean), these values are available in the database connection settings.

  • Example connection string:

    • In this example:

      • myuser → Database username

      • mypassword → Database password

      • db.example.com → Database host

      • 5432 → Database port

      • mydatabase → Database name

Note : This option is for testing only. For production environments, always use Option 1.

  • If you enter 2, the script creates a local PostgreSQL database using Docker with the following default credentials:

7

SSL configuration

  • After setting up the database, the script will prompt you to configure SSL by choosing from Let’s Encrypt (auto-generate free SSL), Custom Certificates (use your own), or no SSL for now.

SSL certificate setup options
  • Enter 1, 2, or 3.

  • If you enter 1, Let’s Encrypt will automatically generate and install a free SSL certificate for your domain within minutes, with certificates trusted by all browsers and auto-renewed every 90 days.

  • You will be asked for the domain name that points to this server.

  • Enter 2 if you already have your own SSL certificates.

  • When prompted, enter the domain name your certificates are issued for. PayRam looks for them at /etc/letsencrypt/live/<domain>/, so place fullchain.pem and privkey.pem there before you start.

  • The script verifies both files and validates the certificate before continuing. If a file is missing or the certificate is expired or mismatched, you can enter a different domain or skip SSL.

  • Enter 3 to skip SSL for now. PayRam starts on HTTP (port 80) immediately, with no domain or certificate needed. You can add SSL certificates later.

8

Port mapping

  • Next, the script asks which host port PayRam should listen on. Press Enter to use port 80, or enter a different port if your own reverse proxy sits in front of PayRam.

The host port prompt

Note: If you chose Let's Encrypt or custom certificates in the previous step, this prompt is skipped — PayRam uses ports 80 and 443, and both must be free.

9

AES key encryption

  • After selecting your SSL option, you will be prompted with the Hot Wallet Encryption Setup screen. At this step, press Enter to generate the AES-256 encryption key for your hot wallet.

Hot wallet AES-256 encryption setup
10

Review the settings

  • The script then displays all the configurations you selected. Review the settings carefully to make sure they are correct before proceeding.

Configuration summary before deployment
  • If the configuration is correct, press Enter and the script will set up the PayRam server based on the options you selected. This will start installing the payram server based on your configurations

Pulling the PayRam image and deploying the container
11

Installation completed

  • PayRam then runs a health check to confirm the application is responding.

Health check confirming PayRam is running
  • After the installation completes, a confirmation message appears in the terminal.

Installation complete, with PayRam access URLs

Once the installation is complete, you’ll see “PayRam installation completed successfully” in the logs. You can then go to http://yourserverip.com, replacing yourserverip with the IP address or domain where the PayRam server is hosted.


Now that you’ve successfully completed the setup, please go to the onboarding configuration to start setting up your root account for PayRam.

Last updated