UiPath Documentation
robot
2026.10
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 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" and CLIENT_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 port 5900 to 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
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(opens in new window)

Want to learn? UiPath Academy(opens in new window)

Have questions? UiPath Forum(opens in new window)

Stay updated