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.
ssh root@your-server-ipRun the installer
curl -fsSL https://get.paybob.io/install.sh | sudo bashThe 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
localto use the bundled MariaDB, or typeremoteto 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:
- checks that ports 80 and 443 are free and that your domain points at the server;
- downloads the release files and verifies their checksums and signature;
- writes the configuration to
/opt/paybob, generating every password and secret itself; - downloads the Paybob images and checks they're exactly the ones the release names;
- creates the database and its tables;
- starts Paybob and waits until every service reports healthy;
- creates a one-time setup link.
Open the setup link
When it's done, the installer prints something like this:
==> 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.
# 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:
| Message | What to do |
|---|---|
| A port is in use | Another 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 yet | Add the DNS A record and wait for it to propagate. HTTPS can't be set up until it does. |
| Not enough free disk | Free up space, or use a larger disk. Paybob needs 5 GB for itself and 3 GB for Docker. |
| The clock isn't synchronised | Turn on NTP (timedatectl set-ntp true). Certificates and payment-provider signatures need an accurate clock. |