Docker Compose (Experimental)
-
Experimental: CapRover's dashboard can import a limited subset of Docker Compose into managed apps.
-
Open Apps → Docker Compose, paste the YAML, review the generated apps, and deploy.
-
Check each app's HTTP port, environment variables, persistent data, and exposed ports afterward.
-
The current parser recognizes
image,environment,ports,volumes,depends_on,hostname,cap_add, andcommand. -
Other Compose fields are ignored.
-
In particular, do not assume
build, customnetworks,secrets,configs,deploy,restart, orcontainer_namebehaves likedocker compose.
Named volumes are managed through the generated CapRover apps. A port mapping needs a HOST:CONTAINER form. For stacks that require unsupported Compose behavior, run Compose separately and explicitly connect the service to CapRover's external captain-overlay-network only when needed. Services managed outside CapRover remain outside its app lifecycle and backup behavior. See the support matrix.
Docker Compose Support Matrix
CapRover's One-Click format accepts a subset of Docker Compose service settings; it is not a general docker compose up replacement. The model declares:
| Service key | Supported input |
|---|---|
image, command, hostname, cap_add | Image and selected container options. |
volumes | String mounts; check the target path and persistence. |
ports | String host:container pairs. |
environment | Mapping of variable names to string values. |
depends_on | Service-name array used to order One-Click deployment. |
caproverExtra | CapRover extension for dockerfileLines, containerHttpPort, notExposeAsWebApp, and websocketSupport. |
- The deployment helper maps these values into apps and converts selected additional Compose options to a service override.
- Check the exact behavior in OneClickAppDeploymentHelper.ts and test templates in a disposable installation.
- Compose keys absent from the model are not promised to work.