Set Up Gateway on Linux

How to Install Docker and Set Up Gateway on Linux.

Written By Evolo Support

Last updated About 1 month ago

If you want full control over the operating system, you can set up the Evolo Gateway on Linux.

This gives you flexibility and is a good fit if the gateway is to run on a server or another dedicated system. The

EvoloGateway runs as a Docker application:

  • Docker lets you create and run applications in containers.

  • Docker Compose makes it easy to manage applications consisting of multiple containers. The Evolo Gateway is set up using a `docker-compose.yaml` file.

The setup also includes Watchtower, which automatically keeps the Evolo Gateway up to date by checking for new versions of the Docker image.

1. Download and install Docker and Docker Compose

Follow the official installation guides for your Linux distribution:

CentOS
Debian
Ubuntu
Raspberry Pi OS (64-bit)

Evolo Gateway is distributed as a Docker image and supports multiple architectures, including standard Linux servers and ARM-based devices.

2. Download and start the Gateway-Evolo

Navigate to the desired directory on your device and download docker-compose.yaml:

wget https://app.evolo.no/docker/docker-compose.yaml 

Log in to the Evolo Docker Registry:

docker login registry.evolo.no

Contact us to obtain your username and password for the registry.

Start the Evolo Gateway:

docker compose up -d 

This will download and start the containers. The Gateway will restart automatically after a reboot.

Important Information About Docker Login and Watchtower

Evolo The Gateway retrieves Docker images from:

image: registry.evolo.no/evolotech/evolo-gateway:latest

In order for Watchtower to automatically fetch new versions, the Watchtower container must have access to Docker credentials. This is done by mounting the Docker configuration into the Watchtower container.

The Watchtower section in `docker-compose.yaml` should contain the following mount:

watchtower: 
  image: nickfedor/watchtower:latest 
  container_name: watchtower 
  restart: always 
  volumes: 
   - /var/run/docker.sock:/var/run/docker.sock 
   - ${HOME}/.docker/config.json:/config.json:ro 

It is important that docker login and docker compose up -d run as the same user. This ensures that the Docker login credentials are stored in the correct location, and Watchtower can access the correct config.json.

Avoid running docker compose alongside sudo if the login was performed without sudo.

If docker login is running as a single user, but docker compose up -d is running with sudo, Watchtower may lack access to the correct Docker login.

3. Verify that the Evolo Gateway is running

You can verify that the containers are running by:

docker ps

You can view logs from the Evolo Gateway using:

docker logs evolo-gateway

You can view logs from Watchtower using:

docker logs watchtower

4. Next Steps

Once the installation is complete and Docker is running the Evolo Gateway, you can proceed to Add the Evolo Gateway to the top-level system.