This page explains how to install Superengine in the cloud. The significant steps can be summarized as creating a configuration file, downloading a single executable and running it. It might be easier than you’d expect!
Get a server
You can use a server from a cloud provider or use a machine in your office if the following conditions are met:
- you have SSH access to the server
- it has a fix IP address
- it has a Linux or macOS operating system
If you are not sure about what to choose, we recommend that you go for a Linux virtual private server from a cloud provider.
All the apps you install through Superengine will be installed and ran on this server so choose a configuration compatible with what you plan on running. We recommend at least 2 CPU cores, 4GB of RAM and 20GB of storage.
Set up your server
Once your server is available, SSH into it.
Do all the configuration you need (setting up your server is outside the scope of this guide, there are good resources online if you need).
Make sure that the following software is available on the machine:
- Docker
- git
And that:
- port 1200 is accessible
- ports 10000 to 19999 are accessible
Docker
You will need the Docker CLI and daemon running. Type the following command to check if it is already installed and running:
docker version
The output should not give any error related to docker not being on the system. Docker has an installation guide here:
Important: Make sure that the user which will be used to run Superengine can run docker commands. You may have to create and/or add the user to a docker group for it to work. If you run Superengine and see a message related to Docker not being installed, this might be the cause.
git
Similarly, type the following command to check that git is on the system:
git -v
This should print the version of git you have installed. If git is not installed, follow the guide here:
Ports
Superengine uses port 1200 to serve its web user interface, this port must be open on the server and, if applicable, on your firewall for you to access the UI.
In addition, Superengine may assign any port from port 10000 to port 19999 to apps. You may not need to manually allow each one on the machine as Docker may make them accessible, however if your server is behind a firewall, make sure that the firewall is configured properly.
If you are on Ubuntu or another linux distribution with the ufw firewall, run the following command to open port 1200:
sudo ufw allow 1200
Create your configuration file
Superengine saves all your data in a folder called Superengine in your home folder. And uses a configuration file named config.toml inside the Superengine folder.
Create the config.toml file:
mkdir ~/Superengine
touch ~/Superengine/config.toml
In the config.toml file, you will need 4 things:
- license_email_address: the email address associated with your license,
- hostname_or_ip_address: the hostname or IP address of your server, what you put will be used to open apps from the UI (the default value is “localhost”),
- password_hash: the Argon2 hash of the password you want to use to access your Superengine instance (more details after this list), and,
- license_edition in a new_instance table: use “Cloud” to tell Superengine that you want the instance to be a cloud instance.
Regarding the password hash, there are many ways to get it. An easy way is to use the argon2 command line utility. We recommend using Argon2id.
Bellow is an example of what the file can look like (of course, the email, hostname or IP address and password hash should not be empty):
license_email_address = ""
hostname_or_ip_address = ""
password_hash = ""
[new_instance]
license_edition = "Cloud"
Download Superengine
Note that the next two commands start by sudo. If you do not have sudo permissions, you may download Superengine to another location which won’t require you to use sudo in the command. In any case, Superengine does not require sudo permissions to run.
Download Superengine and put it in your path (if you are on macOS, replace “linux” by “macos” in the URL):
sudo curl https://www.superengine.tech/downloads/linux/superengine -o /usr/local/bin/superengine
Run Superengine
Make it executable:
sudo chmod a+x /usr/local/bin/superengine
Run Superengine in the background and keep it open after your terminal or SSH session is closed:
nohup superengine &
Open Superengine
The web user interface runs on port 1200. Open a web browser and type the IP address of your server plus “:1200” after it to access the UI.