--- title: "Enterprise Agent Deployment on Cisco IOS XE" slug: "cisco-c9300" updated: 2026-08-25T13:31:52Z published: 2026-08-25T13:31:52Z canonical: "docs.catchpoint.com/cisco-c9300" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.catchpoint.com/llms.txt > Use this file to discover all available pages before exploring further. # Enterprise Agent Deployment on Cisco IOS XE ## Introduction This document outlines how to deploy the Catchpoint enterprise-base docker image onto a Cisco device that supports application hosting. This guide was validated using a C9300-24T running IOS XE 17.15.5. There are two options for acquiring the application; either downloading a prebuilt package, or building it yourself using ioxclient. Building the package yourself is only necessary if you need to adjust any of the settings in the package.yaml. ## Downloading the package You can get the package from [https://repo.catchpoint.net/repo/ioxclient/](https://repo.catchpoint.net/repo/ioxclient/). ### Package the Docker Image for IOS XE (Linux only) > [!NOTE] > **Note**: > > This is only required if you need to make changes to the package.yaml configuration. #### Prerequisites - ioxclient for building the Cisco image - Docker installed and running #### Steps 1. Create a file called package.yaml with the following content: ```plaintext descriptor-schema-version: "2.4 info:  name: cp-enterprise-base  description: "Catchpoint Enterprise Base"  version: "1.0"  author-name: "Catchpoint"  author-link: "https://www.catchpoint.com" app:  type: docker  cpuarch: x86_64  resources:    profile: exclusive    disk: 60000    network:      - interface-name: eth0  startup:    rootfs: rootfs.tar    target: ["/bin/sh", "/entrypoint.sh"] ``` 1. Use ioxclient to package the docker image: ```plaintext ioxclient docker package --skip-signing --name cpenterprisebase.tar catchpoint/enterprise-base:stable . ``` You should now have a file called enterprisebase.tar. ### Deployment #### Prerequisites - Cisco USB or SSD storage connected to the Cisco device - App hosting enabled on the Cisco device (requires the DNA-Advantage license). - This can be checked by running show iox via the Cisco CLI, and confirming the IOx services are running as expected - Application signature disabled - For this unsigned package, disable application signature verification before activation. Verify the setting with `show app-hosting infra`. If signature verification is enabled, an unsigned package may not be allowed to run. The package can be installed either via the UI or the CLI. #### CLI Instructions 1. Assuming the package (cpenterprisebase.tar) is uploaded to usbflash1, run the following command: ```plaintext app-hosting install appid cpenterprisebase package usbflash1:cpenterprisebase.tar ``` This will take a couple of minutes, you can check progress via the show app-hosting list command. Once the app shows as deployed, move onto the next step. 1. Enter config mode and apply the appropriate docker flags: ```plaintext conf t app-hosting appid cpenterprisebase    app-resource docker      run-opts 1 "--env CP_INSTANCEID=123456ABCDEF"      run-opts 2 "--hostname your_hostname" end ``` The unique CP_INSTANCEID can be any combination of 12 alphanumeric characters. It is highly recommended to include a hostname via --hostname to simplify registration of the instance. 1. Activate the application: ```plaintext app-hosting activate appid cpenterprisebase ``` 1. Start the application: ```plaintext app-hosting start appid cpenterprisebase ``` You should see the following message: cpenterprisebase started successfully Current state is: RUNNING 1. Register the container following the instructions here: [https://docs.catchpoint.com/docs/linux-enterprise-install-guide#activating-an-instance-on-portal](https://docs.catchpoint.com/docs/linux-enterprise-install-guide#activating-an-instance-on-portal) #### UI Instructions 1. Open the IOx management console (Configuration > Services > IOx): ![](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/cisco-c9300-deployment-image-v217e3w9.png) 1. Choose “Add New” and select the saved package, using the name cpenterprisebase: 2. The application is successfully deployed: ![](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/cisco-c9300-deployment-image-pai2msy4.png) ![](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/cisco-c9300-deployment-image-iezkj1ig.png) 1. Verify that the following settings are automatically applied (after clicking “Activate”): - Profile - **Exclusive** - Disk - **60000MB** 2. Each container needs a unique Instance ID specified in the Docker Options section using the format --env CP_INSTANCEID=123456ABCDEF. The unique ID can be any combination of 12 alphanumeric characters. You can also specify the hostname using the command -h hostname_to_use. If you do not specify a hostname, a random string will be created. It is highly recommended to include a hostname to make troubleshooting and registration simpler. 3. Once the application is activated, it can be started with the “Start” button: ![](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/cisco-c9300-deployment-image-g8b9rc9j.png) 1. Register the container following the instructions ([https://docs.catchpoint.com/docs/linux-enterprise-install-guide#activating-an-instance-on-portal](https://docs.catchpoint.com/docs/linux-enterprise-install-guide#activating-an-instance-on-portal)) you will be able to see the instance available in the portal: ![](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/cisco-c9300-deployment-image-j05onoxm.png) ### Troubleshooting Most troubleshooting steps are performed via the CLI. Connect to a console session via the following command: ```plaintext app-hosting connect appid cpenterprisebase session ``` This will land you at a shell prompt inside the container: sh-4.4# From there, the Catchpoint utility can be used for normal troubleshooting steps, along with regular Linux commands.