Who is it for?
Teams that already describe their stack in a docker-compose file and want it running behind the edge without rebuilding it service by service.
Bring your existing docker-compose.yml and turn it into managed container apps and add-ons — preview the plan first, then apply from the panel or with a single cdnctl command.
Make sure every service uses a prebuilt image (for example image: myorg/web:1.2). Services that only have a build: step are not supported yet, so push those to a registry first. Redis, MySQL/MariaDB, Postgres, and NATS services do not need an image — they are turned into managed add-ons automatically.
If any image is private, open Container Apps → registry credentials once and add your registry username and access token, so the platform can pull the image during deploy. Skip this step if all your images are public.
In the panel open Container Apps → “Import From Docker Compose”, then upload or paste your docker-compose.yml. Nothing is created at this point — importing only reads the file.
The file is parsed on the server and you get the full plan before anything happens: which container apps will be created, which services become managed add-ons, which keys are stored as environment vs. secrets, any warnings or unsupported services, and whether it fits your quota.
Confirm to apply. In a single all-or-nothing transaction the apps and add-ons are created and wired together — ports, environment, volumes, replicas, healthchecks, and depends_on order are mapped for you. If any step fails, nothing is created.
Expose the web service to get a free name.cdn.com.tr URL with automatic HTTPS, or attach your own domain. From there manage logs, environment, scaling, and restarts in the panel. Prefer the terminal? “cdnctl container compose preview” and “… apply” do the same in two commands.
Teams that already describe their stack in a docker-compose file and want it running behind the edge without rebuilding it service by service.
Services with a prebuilt image become container apps; Redis, MySQL/MariaDB, Postgres, and NATS services are converted into managed add-ons and attached to the apps that depend on them. Ports, environment, volumes, replicas, healthchecks, and depends_on order are mapped automatically.
Preview parses the file server-side and returns the plan: apps to create, add-on mappings, environment vs. secret keys, warnings, unsupported services, and whether it fits your quota. Nothing is created until you apply, and secret values are never echoed back — only key names.
Apply is all-or-nothing inside a single transaction: if an app name already exists or a step fails, nothing is created. Secret-like keys such as passwords, tokens, and API keys are stored as secrets rather than plain environment values.
Move a multi-service compose project to managed apps and add-ons.
Stand up a review or demo environment from the same compose file.
Use one compose file as the source of truth across projects.