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
- Container runtime environment (e.g. Docker, Kubernetes, OpenShift, Podman, ...)
- 8 GB RAM
- 128 GB hard disk space
- 64-bit processor (4 cores recommended)
- Internet connection (during installation and update)
C-Gate IoT Hub Container
The C-Gate IoT Hub container is provided in the Docker Registry by CLOOS. You will receive the necessary access data when you purchase a C-Gate IoT Hub .
Registry and Image URL
docker.cloos.de/cgate
Example of a test environment with Docker
docker run -d --name cgate -p 80:8080 -p 4840:4840 docker.cloos.de/cgate
Example of a productive environment with Docker Compose
version: "3"
services:
cgate:
container_name: cgate
image: docker.cloos.de/cgate:latest
restart: always
ports:
- "80:8080"
- "4840:4840"
- "5000:5000/tcp"
- "5000:5000/udp"
- "5005:5005"
- "5010:5010"
- "5679:5679"
environment:
- APP_MAX_DATA_SIZE_GB=64
volumes:
- data:/data
logging:
driver: "json-file"
options:
max-size: "100m"
volumes:
data:
Volumes
C-Gate stores all configurations and data in the directory /data
. A volume should be used for this directory to persist the data.
Exposed Ports
- 4840 (OPC UA Server)
- 5000/tcp (Robot communication up to V6)
- 5000/udp (Robot communication up to V6)
- 5005 (Robot communication up to V6)
- 5010 (Robot communication up to V6)
- 5679 (IoT Connector RPC)
- 8080 (Web Interface)
Variables
APP_ADMIN_PASSWORD
Forces a password for the admin user.
Default value: Empty
APP_MAX_DATA_SIZE
Sets the maximum size of the total data stored by C-Gate in GB.
Default value: 32
Step-by-step guide
If you are not yet using a container runtime environment, the following instructions will guide you through the necessary steps for a basic container runtime environment with C-Gate. In this case, we recommend that you nevertheless get to grips with your container environment in order to be able to operate it safely.
- Install Docker for your Linux distribution.
-
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 -o docker-compose.yml sudo docker login docker.cloos.de # Enter the access data you received from CLOOS here. sudo docker compose up -d # Give the application a few seconds to start. # Read the generated password for the user admin with the following command: sudo docker logs cgate | grep UserInitializer
We recommend an installation under a Linux operating system, as containers have already been established there for several years. Under Windows, on the other hand, containers are currently still new. You should therefore expect more frequent changes, slightly higher resource consumption and more challenges during setup and operation.
-
Make sure that the latest update for Windows is installed. You need at least Windows 10 from version number 2004 (Build 19041) or Windows 11.
To display the Windows version, the following command can be executed on the command line:winver
-
Install WSL (Windows Subsystem for Linux) with the following commands on the command line:
wsl --set-default-version 2 # In the following, select any user name and password. # It is not necessary to enter the CLOOS access data here. wsl --install -d Ubuntu wsl --set-default Ubuntu
- Install C-Gate with our C-Gate IoT Hub installer for Windows.
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 one such 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 (Docker):
Windows (WSL Ubuntu 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"
# Create backup podman run --rm --volumes-from cgate -v $(pwd):/backup ubuntu tar cvzf /backup/cgate-backup.tar.gz /data # Restore backup podman 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 for a short time (
docker stop cgate
) and start it again after the backup (docker start cgate
). - C-Gate asks me for access data when I start it. What do I have to enter there?
-
By default, a user with the name admin is created when C-Gate is installed. 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
Linux (Docker):docker logs cgate
. The following command provides you with the output of the password generation:
Windows (WSL Ubuntu Shell):sudo docker logs cgate | grep UserInitializer
podman logs cgate | grep UserInitializer
With the Windows installation, the access data is also displayed once at the end of the installation.
- How can I reset my password?
-
You can force a new admin password by setting the environment variable APP_ADMIN_PASSWORD='NewPassword' for your C-Gate container. For a Docker installation with Docker Compose, for example, you can set this variable in the file docker-compose.yml below the environment line.
Example:
... environment: - APP_ADMIN_PASSWORD="MySecretPassword" ...
If you have installed C-Gate with our Windows instructions, you can set the password in the file ~/.config/cgate/cgate.conf within the WSL by entering the following line:
APP_ADMIN_PASSWORD="MySecretPassword"
- How do I connect my devices to C-Gate?
-
- 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.
- Then 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. Please refer to the respective device manual for information on how to adjust the network settings. The network settings should be assigned according to your IT policy. You can check the connection by running a
ping
on the device IP from the server or PC using C-Gate. - 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 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?
-
The following ports are relevant for accessing the C-Gate IoT Hub :
Inbound 80 TCP Web interface and API Inbound 4840 TCP OPC UA server for the connection of your MES and ERP systems Inbound 5679 TCP RPC interface for the C-Gate IoT Connector Without IoT Connector, the C-Gate IoT Hub additionally establishes connections to the following ports:
Outgoing 48010 TCP Robot systems Outgoing 52341 TCP Welding equipment Outgoing 4840 TCP PLCs With QIROX Legacy Hardware (hardware older than V7) the following additional ports are used:
Inbound 5000 TCP Inbound 5000 UDP Inbound 5005 TCP Inbound 5010 TCP - How can I update C-Gate IoT Hub ?
-
C-Gate can be brought up to date with a new container image.
Linux (Docker):
cd /opt/cloos/cgate/ docker compose pull docker compose up -d
Linux (Docker-Compose):
Windows:cd /opt/cloos/cgate/ docker-compose pull docker-compose up -d
In the Start menu under the folder C-Gate there is an update script which performs an update to the current stable version.
Existing data is automatically migrated by the application when it is updated. Depending on the amount of data, the migration process may delay the start of the new application version by a few minutes. The application is not available during this time.
- 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 therefore protected from external access.
- Why does Windows block the execution of the C-Gate installation?
-
Downloaded .exe files are easily classified as a threat by Windows. The following Powershell command can be used to correct this classification for the file:
cd Downloads Unblock-File -Confirm:$false '.\C-Gate IoT Hub Setup.exe'
If the installation or execution of included script files is still blocked, please install our Cloos certificate in your system and try again. Please make sure to select "Trusted Root Certification Authorities" as the location for the certificate during installation.
- I have manually installed C-Gate on Windows using Docker Desktop. How do I migrate my data to the new version with the C-Gate installer?
-
The new C-Gate installer for Windows automatically detects a previous installation with Docker Desktop and imports the data during the installation. After the installation, please make sure that your C-Gate installation works as usual. Afterwards, please delete the C-Gate container from Docker Desktop so that it does not start again automatically after a reboot.
- The update of my C-Gate installation under Windows reports an error with access data. How can I fix this?
-
With an older C-Gate installation under Windows, the access data to the CLOOS Docker Repository was partly not permanently stored. To fix the problem, please execute the following command in your WSL installation (Ubuntu) and enter the access data you received with your C-Gate licence:
podman login --authfile=${HOME}/.docker/config.json docker.cloos.de