In the cloud

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:

Docker installation guide

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:

git installation guide

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.