> ## Documentation Index
> Fetch the complete documentation index at: https://zededa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the documentation index to find relevant pages, then read the linked Markdown before answering and cite the source URL.
> Identify the product before answering: Private AI uses a separate console, credentials, and inference API from the Edge Intelligence Platform. Do not apply instructions from one product to the other.
> Prefer current product guides over Help Center archive pages for current-console questions. Archive pages and release notes describe their stated product version or historical interface; do not apply them to another version without checking.
> Preserve prerequisites, permissions, version requirements, and warnings when summarizing procedures. Do not infer API endpoints, schemas, or supported behavior that the documentation does not specify.

# Deploy a Docker Compose Application

> Deploy a Docker Compose edge app as an application instance on a node that already runs the Compose Runtime, then verify that the compose stack is online.

## Introduction

A Docker Compose application runs as a compose stack inside the Compose Runtime on a node. You deploy it the same way as any other edge app: as an application instance from **Infrastructure > Workloads > Applications**. Edge Infrastructure Services attaches the new instance to the Compose Runtime instance on the target node and delivers the Compose definition to the Compose App Instance Control agent, which brings up the services.

This page covers the settings that are specific to Docker Compose type apps. For the full wizard, see [Deploy an Application Instance](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/deploy-an-application-instance.md).

### Prerequisites

* EVE-OS (Edge Virtualization Engine) 14.5.0 or greater on the target node.
* You have the SysManager or SysAdmin role in your enterprise. See [Manage Roles](https://zededa.mintlify.site/new-ui/infrastructure-services/administration/manage-roles.md).
* A Compose Runtime application instance is deployed and **Online** on the target node. See [Deploy the Compose Runtime Application](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/deploy-compose-runtime.md). Edge Infrastructure Services refuses to create a Docker Compose application instance on a node that has no Compose Runtime instance.
* A Docker Compose type edge app in My Library. See [Create a New Edge Application](https://zededa.mintlify.site/new-ui/marketplace/import-edge-applications.md#create-a-new-edge-application). If the app uses a TAR image, the image and its datastore must be in the **Ready** state.
* The node can reach the container registry datastores that hold the images referenced in the Compose file.

## Deploy the Docker Compose Application

1. In the sidebar, select **Infrastructure > Workloads > Applications**.
2. Select the contextual **+** create action. The application instance wizard opens.
3. In the **General** step, enter a **Name** and **Title** for the instance, and optionally a **Description** and **Tags**. Select **Next**.
4. In the **Deployment Target** step, select the node that runs the Compose Runtime in **Cluster/Nodes**.
5. In **Edge App**, select your Docker Compose type edge app.
6. Optionally, expand **Additional Configuration** to set a **Start Delay** or turn off **Enable Logs**. The **VM Options** (vTPM, VMM Overhead) are not shown for Docker Compose type apps, because the stack runs inside the Compose Runtime rather than in its own virtual machine.
7. Select **Next**.
8. If the edge app defines a custom configuration, the **Custom Config** step appears. Enter a value for each variable. Required variables are marked with an asterisk. These values are available to the compose stack as variables when the agent runs the Compose file. Select **Next**.
9. In the **Review** step, confirm the name, edge app, and target node, and select **Create Application**.

The console confirms that the request was submitted and opens the App Instances list at **Infrastructure > Workloads > Applications > App Instances**. The outcome of the create job appears later as a card in the background-tasks tray. See [Track the create outcome](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/deploy-an-application-instance.md#track-the-create-outcome).

Docker Compose type apps define no network interfaces of their own, so the **App Interfaces** and **Network Interfaces** steps do not appear. The services in the stack use the Compose Runtime's interfaces: the Switch virtual network for application traffic and the Local virtual network for management traffic. Ports that the Compose file publishes are reachable on the Compose Runtime's address on the Switch network.

## Verify the Deployment

1. Wait for the background-tasks tray card to report **Cloud operation completed**. If it reports a failure, open the job from the card to review the error.
2. On the **App Instances** list, locate the instance. Its **Run State** moves through the transitional states and settles on **Online** when the agent reports that the compose stack is up. See [Application Instance Status and Health](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/app-instance-status-and-health.md).
3. Open the instance detail page. The **Logs** tab shows the output that the Compose App Instance Control agent forwards from the stack's containers.

If the instance stays in a transitional state or reports **Error**, check that the Compose Runtime instance on the same node is **Online**, and see [Troubleshoot Docker Compose](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/troubleshooting-docker-compose.md).

## Control the Running Stack

Use the **Actions** menu on the instance detail page. The Compose App Instance Control agent translates each action into a Docker Compose command:

| Console action | Docker Compose action |
| - | - |
| **Start** | `compose up` for a new stack, or `compose start` for a stopped stack. |
| **Stop** | `compose stop`. The containers stop and their volumes are preserved. |
| **Restart** | `compose restart`. |
| **Purge & Update** | `compose down`, then `compose up`. The stack is taken down and recreated from the latest definition. |

The **Attach patch envelope** action is not available for Docker Compose application instances. The Compose file and registry credentials are delivered through the Compose Runtime instead. See [Docker Compose Overview](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/docker-compose.md#delivering-compose-files-and-credentials).

For the full description of each action, see [Manage an Application Instance](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/manage-an-application-instance.md).

## Next Steps

This article is part of the Docker Compose setup series.

1. [Docker Compose Overview](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/docker-compose.md): background on the architecture and deployment model.
2. [Add a Compose Runtime Image](https://zededa.mintlify.site/new-ui/infrastructure-services/build-and-library/add-a-compose-runtime-image.md): add the Compose Runtime image and create the Edge App bundle with network interfaces.
3. [Deploy the Compose Runtime Application](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/deploy-compose-runtime.md): deploy the Compose Runtime as an application instance on your node.
4. [Attach an Existing ZFS Pool to the Compose Runtime](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/attach-existing-zfs-pool-to-compose-runtime.md): ZFS variant only. Configure the pool import and dataset discovery.
5. [Compose App Instance Control Overview](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/compose-app-instance-control-overview.md): how the Compose Runtime manages Docker Compose application lifecycles.
6. [Add a Docker Compose Image](https://zededa.mintlify.site/new-ui/infrastructure-services/build-and-library/add-a-docker-compose-image.md): create the Docker Compose app image that runs inside the Compose Runtime.
7. **Deploy a Docker Compose Application (you are here).**
8. [Troubleshoot Docker Compose](https://zededa.mintlify.site/new-ui/infrastructure-services/applications/troubleshooting-docker-compose.md): diagnose issues with the Compose Runtime or Docker Compose application instances.
