> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/xsoar-6-administrator-guide/6.15/onboard-cortex-xsoar/engines/engine-installation/install-a-cortex-xsoar-engine-offline.md).

# Install a Cortex XSOAR Engine Offline

Install a Cortex XSOAR 6.14 engine in an offline environment.

Use these instructions when using the Cortex XSOAR installer script for engine installation with no internet connectivity.

Download the [Dependencies for Offline Installation](/xsoar-6-administrator-guide/6.15/onboard-cortex-xsoar/single-server-deployment/install-the-server-offline/dependencies-for-offline-installation.md) and [Install Docker Images Offline](/xsoar-6-administrator-guide/6.15/onboard-cortex-xsoar/docker/docker-images-in-cortex-xsoar/install-docker-images-offline.md) on an internet-connected machine. Transfer them to the engine machine. Install the dependencies and images after installing the engine.

Download the latest dependencies for your Cortex XSOAR release. Dependencies can change between releases.

### Install an engine offline

{% stepper %}
{% step %}

### Download the required dependencies

1. On an internet-connected machine, download the [Dependencies for Offline Installation](/xsoar-6-administrator-guide/6.15/onboard-cortex-xsoar/single-server-deployment/install-the-server-offline/dependencies-for-offline-installation.md) for your deployment.
   * **Ubuntu/Debian:** Run `sudo apt-get install --download-only <package>`. This saves packages in `/var/cache/apt/archives`. If the latest version is already installed, run `sudo apt-get download <package>`.
   * **RHEL/Rocky/Oracle/Amazon:** Run `sudo yumdownloader --resolve <package>` or `sudo yum install --downloadonly <package>`.
2. Copy all `.deb` files to a folder on the offline machine.
   {% endstep %}

{% step %}

### Download Docker images

The installer configures Docker but does not include integration images. On an internet-connected machine, use one of these methods:

* **Targeted download (recommended):** Use `download_packs_and_docker_images.py` to download images for specific content pack integrations. The script is in the `Utils` folder of the Git content repository. If you cannot access the repository, [download the script](https://raw.githubusercontent.com/demisto/content/master/Utils/download_packs_and_docker_images.py). For instructions, see [Download packs offline](https://xsoar.pan.dev/docs/reference/articles/download-packs-offline).
* **Full library download:** Append `downloadName=dockerimages` to the installer download URL. The Docker images file is approximately 75 GB.
  {% endstep %}

{% step %}

### Create an engine

1. Select **Settings** → **Integrations** → **Engines** → **Create New Engine**.
2. Enter a meaningful name in **Engine Name**.
3. Select an installer type. For Linux systems, use the Shell installer.
4. Optional: Select a load balancing group.

   The list appears after you create and connect an engine and create a load balancing group.
5. Optional: Select the checkbox to enable multiple Shell engines on one machine.

   To add an engine without selecting this checkbox, delete the existing engine first.
6. Optional: Add required configuration in JSON format.
7. Select **Create New Engine**.
   {% endstep %}

{% step %}

### Transfer and install the dependencies

1. Transfer the downloaded files to the engine machine.
2. Install all dependencies:
   * **Ubuntu/Debian:** `sudo dpkg -i *`
   * **RHEL/Rocky/Oracle/Amazon Linux:** `sudo yum localinstall *`
     {% endstep %}

{% step %}

### Install the engine

The installer automatically configures Docker or Podman for Ubuntu, RHEL 8+, Rocky Linux 9+, and Amazon Linux 2023.

{% hint style="info" %}
For Oracle Linux and Amazon Linux 2, install Docker before running the installer.
{% endhint %}

1. Grant execute permission:

   `chmod +x /<engine-file-path>`
2. Install the engine:

   `sudo ./d1-<engine-name>-<XSOAR-version>-xxxxxxx.sh -- -tools=false -do-not-start-engine=true`

   For example: `sudo ./d1-engine1-6.6-2458567.sh -- -tools=false -do-not-start-engine=true`

   If you receive a `permissions denied` error, verify that you can access `/tmp`.
   {% endstep %}

{% step %}

### Load Docker images

* **Ubuntu, Oracle, and Amazon Linux 2 or 2023:** Run `sudo docker load -i <YOUR_DOCKER_FILE>.tar`.
* **RHEL 8+ and Rocky Linux 9+:**
  1. Set the file owner: `sudo chown demisto:demisto <FILENAME>.tar`
  2. Change to the root directory: `cd /`
  3. Load the images: `sudo -su demisto podman load -i <PATH TO FILE>/<FILENAME>.tar`
  4. Optional: Run `podman images` to verify the images.
     {% endstep %}

{% step %}

### Start the engine

Run `sudo systemctl start d1`.

{% hint style="info" %}
For multiple engines, the D1 service name may differ.
{% endhint %}
{% endstep %}

{% step %}

### Verify the engine is active

1. Run `systemctl status d1` to confirm that the engine is active.

   ![Engine service status](https://content.gitbook.com/content/8xEMUKpU65o1wagTHaO3/blobs/0RDe1EvvAQKZTwLBYMnk/22f526cfdbd8650337df0ba7026ab8a35355069e6d869c852d12683693c449f0.png)
2. Select **Settings** → **Integrations** → **Engines**. Confirm that the engine is connected and running.

   ![Engines page](https://content.gitbook.com/content/8xEMUKpU65o1wagTHaO3/blobs/1YDLLgzRVEVbDq6XDwPi/3fa06c43130db982261dc2c211477a03811dbfe8c13f5b2f1e295787955943ac.png)
3. Configure a sample integration, such as Hello World (Community Contribution), to run on the engine.

   ![Integration configured for the engine](https://content.gitbook.com/content/8xEMUKpU65o1wagTHaO3/blobs/d0O2TQqOOyXU4z7k8uWn/0e7989528aed01b5539ef7f5fd95e12ad3ef31ec5ac29412cfe206c3ff0535da.png)
4. Run a simple integration command to verify the engine.

   ![Integration command test](https://content.gitbook.com/content/8xEMUKpU65o1wagTHaO3/blobs/7S8E9s5kTLzeRPfv6kOs/ff19ba1b5e1e82ad8dc724de591095abcb1e36767d4f4d72b1a71f60751ac1a0.png)
   {% endstep %}
   {% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/xsoar-6-administrator-guide/6.15/onboard-cortex-xsoar/engines/engine-installation/install-a-cortex-xsoar-engine-offline.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
