Workers inside Docker containers

Control Room allows you to manage, orchestrate, and schedule the execution of your software robots in a central place. Control Room has Processes that contain steps that Unattended Workers execute.

This article instructs you on how to set up a Docker container for running one or multiple Robocorp Workers. Using containers enables isolating the Robocorp Workers into ephemeral instances that can be easily managed.

Prerequisites

Limitations

A Docker container does not have UI access to applications. This means you can run so-called headless operations and access the container's resources but cannot, for example, run Windows application UI.

Worker Container setup

Start from Control Room

  • Create a Worker Group in Control Room
  • Create a Group Link Token for the groups
  • Assign you process steps to use the Worker Group

With the setup above, you can add or remove Workers from the Worker Group without constantly changing your process setup. Worker Group also enables parallel executions where Control Room can distribute work to all idle Workers in the assigned group.

For the container side, using the Group Link Token enables you to dynamically link your container Workers so that they are automatically added to the correct Worker Group. Control Room will have the functionality to also automatically clear out workers after a given expiration time if the workers are offline.

Start the workers locally

  • Clone this repository
  • Create a file named token.txt and add the Robocorp Link Token inside it
  • Run the script with the start command, specifying the number of replicas as an argument
  • For multiple commands, please check the README file from the repository
./robocorp-docker.sh start 3

Be careful that your user has access to run Docker commands, otherwhise you will need to run the commands with sudo before them.

Last edit: June 19, 2023