3. Service

The procedure for updating, restarting, or obtaining logs varies depending on the installation method (Docker CLI, Docker Compose, Portainer, etc.). Please choose the option that best suits your needs and with which you have configured your voraus.runtime.

3.1. Software Update

The recommended way to update the voraus.core is via Portainer. However, it is also possible to update via plain Docker CLI commands.

Warning

Before performing a software update, please carefully check the release notes for any compatibility notices. Note that if you skip versions, you have to consider all release notes between your currently installed version and the version you are about to install.

3.1.1. Update via Portainer

Download the voraus.core Docker image and upload it to Portainer (Fig. 58):

  1. Open the Portainer UI.

  2. Open the Images page.

  3. Click on the Import button.

  4. Click on the Select file button and select the Docker image file. You do not need to specify an image name.

  5. Press the Upload button and wait for the confirmation.

Import Docker images to Portainer

Fig. 58 Import Docker images to Portainer

Existing stacks will automatically use the new Docker image on the next restart.

If you pinned the image version of your software stack to a specific tag other than main-latest, update it in your stack configuration.

3.1.2. Update via Docker CLI

Stop the voraus.core via

docker compose -f path/to/your/composefile down

Download the voraus.core Docker image archive and load it via

docker load -i docker-images-X.X.X.tar.gz

If you pinned the image version of your voraus.core to a specific tag other than main-latest in the compose file, update it to the new version.

Start the voraus.core again via

docker compose -f path/to/your/composefile up -d

3.2. Troubleshooting

3.2.1. Restart the voraus.core

If, at any point, a software restart is necessary, the voraus.core can be restarted by stopping and starting the Portainer stack:

  1. Open the stack of the voraus.core.

  2. Stop the stack, wait until it stopped and restart it afterwards (Fig. 59).

Warning

Note that all unsaved data will be lost!

Stopping a stack

Fig. 59 Restarting a stack

Alternatively a restart can also be performed via Docker compose CLI commands. Stop the voraus.core with:

docker compose -f path/to/your/composefile down

And start again with:

docker compose -f path/to/your/composefile up -d

3.2.2. Python Syntax error

When writing your own commands in Python or using the Run Script command, syntax errors in the Python code might occur. These are usually signaled by the error codes CA37 or CB37.

HMI error message of a Python syntax error

Fig. 60 HMI error message of a Python syntax error

To see the cause of the error, the System Control log is helpful, which can be accessed as described in the Logging chapter. In many cases the log shows the exact location of the syntax error. If the Python interpreter can not locate the error (e.g. missing brackets), the line number in the executed Python file is displayed. In this case, refer to the Accessing the File System chapter to view the program code and find the error manually.

3.3. Logging

3.3.1. Download Log Files via voraus.operator

  1. To obtain the current log files, open the Service tab in the settings (Fig. 61/) and click on the Request Logfile button (Fig. 61/).

  2. The log file (ZIP format) will be downloaded.

Download log file

Fig. 61 Download log file

3.3.2. Live Log View

If you have access to the advanced settings you can see the live logs of some components directly inside the voraus.operator. Use the URL parameter ?advanced to enable the ADVANCED tab in the settings page and enter the password to get to the advanced settings page. The logs can be found in the LOG tab and the component can be selected via the dropdown menu (Fig. 62). If you do not have the password for this option, please contact us on our website www.vorausrobotik.com.

Note

Not all components might be available for all robot types.

Live logs of System Control to see the cause of a Python syntax error

Fig. 62 Live logs of System Control to see the cause of a Python syntax error

3.3.3. View Logs from Portainer

To see the logs of the current Portainer stack, open the stack page and click on the logs icon next to the voraus.core container (Fig. 63).

View container logs

Fig. 63 View container logs

On the logs page you can view the latest logs of all voraus components and download them as a txt-file by clicking the Download logs button. In order to see the full logs, it is recommended to increase the line count in the Lines input field.

Logs of the current container

Fig. 64 Logs of the current container

3.3.4. Accessing the File System

To view the content of single files on the system (e.g. programs) you have to connect to the console by clicking the console icon next to the voraus.core container (Fig. 65).

Open the container console

Fig. 65 Open the container console

Afterwards you need to connect to the console by clicking the Connect button (Fig. 66) and you are logged in as the root user. Change the directory to /root/data/voraus/userapp to view all programs and use the cat command to show their content.

Click the connect button to open the console

Fig. 66 Click the connect button to open the console

Docker volumes are stored on the file system of the Docker host machine, so they can be directly accessed by the host (assuming you have root rights on the Docker host). On Linux, the content of Docker volumes is stored under /var/lib/docker/volumes/. You should not modify anything here, as it can lead to unexpected behavior. However, it can be useful for monitoring log messages, for example, this command will print all logs of the component voraus-robot-control-py:

sudo tail -f /var/lib/docker/volumes/docker_voraus_log_volume/_data/voraus-robot-control.log