Install on a new server.
Rent an Ubuntu server, point your address at it, and run one command that installs Reward Loyalty with HTTPS, a database and email.
On this page
If you don't have hosting yet, rent a server and run one command. The installer sets up everything Reward Loyalty needs, asks you a few questions, and gives you a working installation with HTTPS.
curl -fsSL https://rewardloyalty.co/install.sh | sudo bash
Use this page if you rent a server, often called a VPS, instead of a hosting plan with a control panel. On hosting with a control panel, follow Prepare your hosting and the browser installer instead.
What you need
- A new server with Ubuntu 24.04 or 26.04. Server providers such as DigitalOcean, Hetzner and Vultr offer both. On an ARM server, choose Ubuntu 26.04. Use a server with nothing else on it: the installer stops if it finds another website, a database server or the Caddy web server.
- An address for the app, such as
loyalty.example.com, and access to its DNS settings at your domain provider. - Your license key and the inbox of your purchase email. The installer emails a 6-digit code there before it downloads Reward Loyalty.
- An email service that sends the sign-in codes, such as Brevo or SMTP2GO. Verify a sender address with it first. Set up email explains how. Keep its SMTP host, port, user name and password at hand. You can also add email later.
1. Point your address at the server
Find the server's IPv4 address in your provider's dashboard. Then open the DNS settings for your domain and add an A record:
| Field | Value |
|---|---|
| Type | A |
| Name | loyalty, for loyalty.example.com |
| Value | The server's IPv4 address |
A new record can take a while to work. The installer checks it and tells you if the address doesn't point to the server yet.
2. Open the server's terminal
Open the server's console in your provider's dashboard, or connect with SSH. Sign in as root, or as a user who can use sudo.
3. Run the installer
Paste the command from the top of this page and press Enter. If the terminal says curl isn't found, add it first, then paste the command again:
sudo apt-get update && sudo apt-get install -y curl
Then answer the questions:
- Enter the address, for example
loyalty.example.com. - Enter your license key.
- The first time you download, confirm that you give up your 14-day right of withdrawal, as on the download page.
- Enter the 6-digit code from the email. The code works for 10 minutes.
- Enter your name and email address for the admin account.
- Enter the SMTP details and the verified sender address from your email service, or type
nto skip email for now.
The installer shows a summary and installs nothing until you press Enter. If the server lacks Python or another tool the questions need, it asks to add it first. The installation takes a few minutes.
Save the admin password as soon as it appears. The installer generates it and shows it once, at the end. Keep it in your password manager.
4. Sign in
Open the sign-in address the installer shows, for example https://loyalty.example.com/en-us/admin. Sign in with your email address and the password.
Then follow After you install to check a sign-in code, a staff checkout and an image upload.
What the installer sets up
- HTTPS through the Caddy web server, with a free certificate that renews on its own.
- PHP 8.4 on Ubuntu 24.04, or 8.5 on Ubuntu 26.04, with every extension Reward Loyalty needs.
- A MySQL 8.4 database with its own user and a generated password.
- A scheduled task that runs every minute.
- Email, when you enter SMTP details. The installer sends a test email to your admin address.
- Your license, activated for this address.
The technical reference lists the folders, services and log files, for you or a technical helper.
If something goes wrong
The installer stopped. It names the step that failed. To see why, show the end of its log, /var/log/rewardloyalty-install.log:
sudo tail -n 40 /var/log/rewardloyalty-install.log
The last lines usually name the problem, such as a full disk or a download that broke off. If you can't tell what to change, contact support with those lines and the step the installer named. The log holds no passwords.
When the cause is fixed, run the same install command again:
- If it stopped before Reward Loyalty was installed, it asks its questions again and starts over with an empty database, and a fresh download unless you install from a zip.
- If it stopped after, it finishes the remaining steps and shows your admin password.
HTTPS doesn't work yet. The web server keeps trying, so you don't need to run the installer again. Check these settings:
- The A record for your address points to the server.
- No AAAA (IPv6) record points somewhere else.
- Your provider's firewall allows ports 80 and 443.
The test email wasn't sent. Check the SMTP host, port, user name and password, and that your email service has verified the sender address. Some server providers block the usual email ports. If the installer can't connect, use port 2525: Brevo and SMTP2GO both accept it.
If you saved a sender address in the dashboard under Settings → Email settings, Reward Loyalty sends from that one, whatever you enter in the installer. Change it there to an address your email service has verified.
The license key or the code isn't accepted. Use the license key from your purchase email or from your download page. If the code expired, run the installer again for a new one.
The license was not activated. The installation works without it. Activate it later under License & updates, as described in Updating.
Change the email settings
Run the same command again. On a server that already runs Reward Loyalty, the installer offers to change the email settings and sends a test email. Nothing else changes.
A sender address saved in the dashboard under Settings → Email settings takes priority over the one you enter here. Change that one in the dashboard.
Updates and backups
This server has everything dashboard updates need. Follow Updating when a new version is out.
Turn on backups at your server provider, or take snapshots on a schedule. An update's rollback restores the app's files, not the database, so a provider backup is your copy of customer data. See backups and test copies.
Install from a zip you already downloaded
If you downloaded the installation package from your download page, rename the file to rewardloyalty.zip and copy it to the server. An SFTP app such as FileZilla or Cyberduck can do this: connect to the server's address with the same user and password or key you use for the terminal, and drop the file into the folder that opens, your home folder. Then run the installer with the zip. It skips the license questions, except an optional key for dashboard updates.
curl -fsSL https://rewardloyalty.co/install.sh | sudo bash -s -- --package ~/rewardloyalty.zip
~ stands for your home folder.