UiPath Documentation
robot
latest
false
Robot admin guide

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 Docker image tag​

To install the docker image of a specific Robot LTS version, you would need to mention the tag. For version 2024.10, the tag is latest24.10. 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.Additionally, you can 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/tentant/orchestrator_" - Sets the URL of the Orchestrator instance where your robots should connect.
  • CLIENT_ID="$Client_ID" and CLIENT_SECRET="$Client_secret" - Set the client ID and client secret of the machine template. If you use the machine key, do not use these parameters.
  • MACHINE_KEY="$KEY" - Sets the key of the machine template. If you use client ID and secret, do not use this parameter.
  • VNC_ENABLED=true - Optional. Enables the live streaming of the Robot execution on Linux through Virtual Networking Computing (VNC). Requires port 5000:5900 for accessing 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/tentant/orchestrator_"-e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
    docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_"-e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
    
  • Using the machine key:
    docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e MACHINE_KEY="$KEY" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
    docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e MACHINE_KEY="$KEY" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
    
  • With VNC_ENABLED=true:
    docker run -e LICENSE_AGREEMENT=accept -e
    ORCHESTRATOR_URL="{orchestrator url}" -e MACHINE_KEY="{machine_key}" -p 50000:5900 --env VNC_ENABLED=true registry.uipath.com/robot/uiautomation-runtime:<tag>
    docker run -e LICENSE_AGREEMENT=accept -e
    ORCHESTRATOR_URL="{orchestrator url}" -e MACHINE_KEY="{machine_key}" -p 50000:5900 --env VNC_ENABLED=true registry.uipath.com/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/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
docker run --dns="1.1.1.1" -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/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, using machine key:

docker run -e LICENSE_AGREEMENT=accept -e MACHINE_KEY="{machine_key}" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -v <path to packages on the host machine>:/home/robotuser/.nuget/Packages -ti registry.uipath.com/robot/uiautomation-runtime
docker run -e LICENSE_AGREEMENT=accept -e MACHINE_KEY="{machine_key}" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -v <path to packages on the host machine>:/home/robotuser/.nuget/Packages -ti registry.uipath.com/robot/uiautomation-runtime
Important:

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.

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated