The C-Gate IoT Hub is provided as software in a container format. It is recommended to install the C-Gate IoT Hub on a central server per company location. Alternatively, installation on a standard PC is also possible.

System requirements

  • Docker or alternative OCI runtime
  • 8 GB RAM
  • 128 GB hard disk space
  • 64-bit processor (4 cores recommended)
If more than 25 controllers are connected, the requirements may be greater. Installation under Windows 10 is possible. However, for the best integration and performance of the C-Gate IoT Hub, the use of a Linux operating system is recommended.

Installation of

C-Gate IoT Hub is available as a container and can in principle be installed anywhere where Docker or an alternative OCI runtime is available.

You are already familiar with containers? You can find all the relevant information in our Docker Compose file.

Installation with Docker

  1. Install Docker for your Linux distribution.
  2. Install Docker Compose.
  3. Execute the following commands to install and start C-Gate:
    sudo mkdir -p /opt/cloos/cgate
    cd /opt/cloos/cgate/
    sudo curl -L https://c-gate.cloos.de/static/install/docker-compose.yml > docker-compose.yml
    sudo docker login docker.cloos.de
    # Enter the access data you received from CLOOS here.
    sudo docker-compose up -d
  1. Install Docker Desktop for Windows 10.
  2. Execute the following commands on the Powershell to install and start C-Gate:
    New-Item -ItemType Directory -Force $env:LOCALAPPDATA\Cloos\C-Gate
    cd $env:LOCALAPPDATA\Cloos\C-Gate
    Invoke-WebRequest -Uri https://c-gate.cloos.de/static/install/docker-compose.yml -OutFile docker-compose.yml
    docker login docker.cloos.de
    # Enter the access data you received from CLOOS here.
    docker-compose up -d

After the installation

The next steps and further information can be found on the C-Gate web interface. You can access this after installation at http://localhost on your server or PC.

From another computer you can reach C-Gate at http://[serverip], where [serverip] is to be replaced by the IP of your server or PC on which C-Gate has been installed.

Frequently asked questions

Where is my C-Gate data stored?

Under Docker, data is usually stored in so-called volumes. C-Gate uses such a volume for the internal directory /data.

How can I create a backup of my C-Gate data?

You can create a backup of your data with the following command. The backup is stored in the folder where the command is executed.

Linux Shell:
# Create backup
sudo docker run --rm --volumes-from cgate -v $(pwd):/backup ubuntu tar cvzf /backup/cgate-backup.tar.gz /data

# Restore backup
sudo docker run --rm --volumes-from cgate -v $(pwd):/backup ubuntu bash -c "cd /data && tar xvzf /backup/cgate-backup.tar.gz --strip 1"
Windows Powershell:
# Create backup
docker run --rm --volumes-from cgate -v ${pwd}:/backup ubuntu tar cvzf /backup/cgate-backup.tar.gz /data

# Restore backup
docker run --rm --volumes-from cgate -v ${pwd}:/backup ubuntu bash -c "cd /data && tar xvzf /backup/cgate-backup.tar.gz --strip 1

For a daily backup, for example, a cron job (Linux) or a scheduled task (Windows) can be used.

For a consistent backup, it is recommended to stop the application briefly (docker stop cgate) and start it again after the backup (docker start cgate).

C-Gate asks me for access data when it starts. What do I have to enter there?

By default, a user with the name admin is created with the installation of C-Gate. The password for this user is generated the first time the Docker Container is started and output on the command line. You can display the output of the Docker Container with the command docker logs cgate. The following command provides you with the output of the password generation:

Linux Shell:
docker logs cgate | grep UserInitializer
Windows Powershell:
docker logs cgate | Select-String -Pattern UserInitializer

How can I reset my password?

You can force a new admin password by setting the variable APP_ADMIN_PASSWORD='NewPassword' in the file docker-compose.yml below the environment line.

Example:

...
  environment:
    - APP_MAX_DATA_SIZE_GB=64
    - APP_ADMIN_PASSWORD="MySecretPassword"
...

How do I connect my devices to C-Gate?
  1. First of all, a physical connection should be available. For CLOOS robot systems, this is usually a network cable connected to the robot controller and your company network. QINEO welding units can alternatively be connected via Wifi.
  2. Afterwards, your devices need an IP address and corresponding network settings so that they can be reached from the server or PC on which C-Gate IoT Hub is installed. For information on how to adjust the network settings, please refer to the respective device manual. The network settings should be assigned according to your IT policy. You can check the connection by running ping on the device IP from the server or PC with C-Gate.
  3. Follow the C-Gate instructions on the C-Gate web interface to activate your licence. You can then configure your devices in the device view on the C-Gate. Enter the corresponding IP addresses of the devices there.

If everything is set up correctly, the devices appear as online in the C-Gate device view.

If you are still unable to connect, please refer to our notes on firewall rules.

Which firewall rules and ports must be observed?

If no IoT Connector is in use, the C-Gate IoT Hub actively establishes connections to the devices. These connections are made to the devices on the following destination ports:

48010 TCP Robot systems
52341 TCP Welding equipment
4840 TCP PLCs

C-Gate itself should be accessible to your end users and devices on the following ports:

80 TCP Web interface and API
4840 TCP OPC UA server for connecting your MES and ERP systems

If you operate legacy robot systems with hardware version V4 - V6 with C-Gate, the robot systems establish a connection to C-Gate. C-Gate must then also be accessible for them under the following ports:

5000 TCP
5000 UDP
5005 TCP
5010 TCP

How can I update C-Gate IoT Hub?

You can update the C-Gate IoT Hub with the following command. The application is restarted during the update process and is therefore not available for a short time.

Linux Shell:
cd /opt/cloos/cgate/
docker-compose pull
docker-compose up -d
Windows Powershell:
cd $env:LOCALAPPDATA\Cloos\C-Gate
docker compose pull
docker compose up -d

What is inside the C-Gate container?

The C-Gate IoT Hub Container is based on a current official Ubuntu base image and contains the following services. Only services with a corresponding port specification can be accessed from outside the container. Services without port specifications can only be accessed within the container and are thus protected from external access.

  • C-Gate IoT Hub Java Application (Port 4840/tcp, 5000/tcp/udp, 5005/tcp, 5010/tcp)
  • C-Gate IoT Hub NodeJS Graph-Converter Service
  • nginx Webserver (Port 8080/tcp)
  • mongoDB Database