Skip to main content

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, and command.

  • Other Compose fields are ignored.

  • In particular, do not assume build, custom networks, secrets, configs, deploy, restart, or container_name behaves like docker 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 keySupported input
image, command, hostname, cap_addImage and selected container options.
volumesString mounts; check the target path and persistence.
portsString host:container pairs.
environmentMapping of variable names to string values.
depends_onService-name array used to order One-Click deployment.
caproverExtraCapRover 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.