- About this guide
- Getting started
- Installing
- Upgrading
- Connecting and licensing
- Configuring
- Running workloads
- RPA processes and tests
- Agents, functions, and API workflows
- Limits
- Securing and governing
- Monitoring
- Troubleshooting
- Reference
Installing on Linux
Docker-based installation of UiPath Robot on Linux, covering image tags, Linux automation particularities, and docker run parameters.
Installing Robots on Linux requires a Docker environment, a network connection to Orchestrator, and the client credentials of the machine template.
The Linux Robot image runs RPA processes and test cases from cross-platform projects. Running agents, functions, and API workflows on Linux robots is planned.
The image is for x64 (amd64) hosts only.
The Docker image tag
To install the Docker image of a specific Robot version, mention the tag. To install the latest patch available, do not mention a tag. The command to download the Docker image is:
docker pull uipathprod.azurecr.io/robot/uiautomation-runtime:<tag>
docker pull uipathprod.azurecr.io/robot/uiautomation-runtime:<tag>
Linux automations - particularities
- To create automations for Linux, ensure you have Chrome extension version 2021.10.4 or later. This allows the robot to execute background and foreground automations.
- To design a UI automation for Linux, you can select the following input methods for activities:
- ChromiumAPI: The default input mode that lets robots interact directly with Chrome elements.
- SimulateClick/SimulateType: Simulates user actions like clicking or typing on a webpage.
- You can also use the following tools:
- Web Recorder: Replicates a series of actions on a webpage that a robot can replay.
- Table Extraction: A tool to facilitate data extraction from web tables.
Parameters for the docker run command
The following list summarizes the parameters used by the docker run command. Use this command to start the Docker image.
LICENSE_AGREEMENT=accept- Accepts the UiPath license agreement.ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tenant/orchestrator_"- Sets the URL of the Orchestrator instance where your robots should connect.CLIENT_ID="$Client_ID"andCLIENT_SECRET="$Client_secret"- Set the client ID and client secret of the machine template.MACHINE_KEY="$KEY"- Deprecated. Connects with the key of the machine template instead of the client ID and client secret. Don't combine it with them. Use client credentials instead.VNC_ENABLED=true- Optional. Enables the live streaming of the Robot execution on Linux through Virtual Networking Computing (VNC). Requires publishing port5900to the host, for example-p 50000:5900, to access the VNC server.Important:After enabling the VNC server, use any VNC client to live stream the robot execution.
The following examples show how to run the docker run command:
- Using the client ID and client secret:
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tenant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid uipathprod.azurecr.io/robot/uiautomation-runtime:<tag>docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tenant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid uipathprod.azurecr.io/robot/uiautomation-runtime:<tag> - With
VNC_ENABLED=true:docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="{orchestrator url}" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -p 50000:5900 --env VNC_ENABLED=true uipathprod.azurecr.io/robot/uiautomation-runtime:<tag>docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="{orchestrator url}" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -p 50000:5900 --env VNC_ENABLED=true uipathprod.azurecr.io/robot/uiautomation-runtime:<tag>
Orchestrator connection failure
Firewall rules might block the connection to Orchestrator. To address this, specify a DNS server in the docker run command. For example:
docker run --dns="1.1.1.1" -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tenant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid uipathprod.azurecr.io/robot/uiautomation-runtime:<tag>
docker run --dns="1.1.1.1" -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tenant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid uipathprod.azurecr.io/robot/uiautomation-runtime:<tag>
The value --dns="1.1.1.1" represents the public DNS resolver from Cloudflare. You can use any DNS resolver to redirect the SignalR Hub.
Configuring package feeds
Automations on Linux require certain libraries, which are stored in the /home/robotuser/.nuget/Packages/ directory of a docker container. To configure this, you need to mount the directory containing the NuGet libraries. Add the following flag to the docker run command: -v <path to packages on the host machine>:/home/robotuser/.nuget/Packages/.
For example:
docker run -e LICENSE_AGREEMENT=accept -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tenant/orchestrator_" -v <path to packages on the host machine>:/home/robotuser/.nuget/Packages -ti uipathprod.azurecr.io/robot/uiautomation-runtime
docker run -e LICENSE_AGREEMENT=accept -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tenant/orchestrator_" -v <path to packages on the host machine>:/home/robotuser/.nuget/Packages -ti uipathprod.azurecr.io/robot/uiautomation-runtime
Make sure that the robot Linux user (UID1000) has read access to the mounted path leading to the package feeds.
Remote debugging
To debug a running robot container, use the Remote Debugging feature.