Skip to content
Paybob

Installation

Install on a VPS

Install Paybob with Docker on Ubuntu or Debian using the one-line installer.

The installer sets up everything Paybob needs on a fresh Linux server: Docker, the database, HTTPS, and the application itself. It takes a few minutes and asks only two questions.

Before you start

Check the requirements: a supported server, a domain whose DNS A record points at it, and ports 80 and 443 free.

Install

Connect to your server

Open a terminal on your server, for example over SSH, as root or as a user that can use sudo.

Terminal
ssh root@your-server-ip

Run the installer

Terminal
curl -fsSL https://get.paybob.io/install.sh | sudo bash

The installer checks the server first: operating system, memory, free disk space, the system clock, and Docker. If something is missing, it asks before installing it.

Answer two questions

  • Paybob's address: the full URL customers and admins will use, such as https://pay.example.com.
  • Database: press Enter for local to use the bundled MariaDB, or type remote to use your own MariaDB or MySQL server. For a remote database the installer then asks for its host, port, database name, user and password.

To install without any questions, pass the answers as options. See Installer options.

Wait for the installation to finish

The installer then:

  1. checks that ports 80 and 443 are free and that your domain points at the server;
  2. downloads the release files and verifies their checksums and signature;
  3. writes the configuration to /opt/paybob, generating every password and secret itself;
  4. downloads the Paybob images and checks they're exactly the ones the release names;
  5. creates the database and its tables;
  6. starts Paybob and waits until every service reports healthy;
  7. creates a one-time setup link.

When it's done, the installer prints something like this:

Text
==> Paybob 3.0.1 is installed.

  Address:        https://pay.example.com
  Admin panel:    https://pay.example.com/admin

  Finish setup in your browser (works once, expires in 24 hours):
  https://pay.example.com/setup?token=…

Open the link to create your admin account and first Brand. See First-run setup.

If the installation stops

If a step fails, the installer stops, explains what went wrong, and tells you where the full log is. Nothing you've already done is lost: fix the problem, then run the installer again. It finds the unfinished installation and offers to continue from where it stopped, with the same settings and secrets.

Terminal
# Continue the unfinished installation
curl -fsSL https://get.paybob.io/install.sh | sudo bash -s -- --resume

# Or remove what it created and start over
curl -fsSL https://get.paybob.io/install.sh | sudo bash -s -- --cleanup

--cleanup only removes /opt/paybob if this installation created it. It never touches a remote database.

Common causes:

MessageWhat to do
A port is in useAnother web server (Apache, nginx, another proxy) is using port 80 or 443. Stop it, or install with your own proxy: see Use your own proxy.
Your domain doesn't resolve yetAdd the DNS A record and wait for it to propagate. HTTPS can't be set up until it does.
Not enough free diskFree up space, or use a larger disk. Paybob needs 5 GB for itself and 3 GB for Docker.
The clock isn't synchronisedTurn on NTP (timedatectl set-ntp true). Certificates and payment-provider signatures need an accurate clock.

Where to go next