---
title: "Create (Docker Image without git)"
method: POST
path: "/applications/dockerimage"
tags: ["Applications"]
---

# Create (Docker Image without git)

`POST /applications/dockerimage`

Create new application based on a prebuilt docker image (without git).

## Request body

- object
  - `project_uuid` string, required — The project UUID.
  - `server_uuid` string, required — The server UUID.
  - `environment_name` string, required — The environment name. You need to provide at least one of environment_name or environment_uuid.
  - `environment_uuid` string, required — The environment UUID. You need to provide at least one of environment_name or environment_uuid.
  - `docker_registry_image_name` string, required — The docker registry image name.
  - `docker_registry_image_tag` string — The docker registry image tag.
  - `ports_exposes` string — The ports to expose.
  - `destination_uuid` string — The destination UUID.
  - `name` string — The application name.
  - `description` string — The application description.
  - `domains` string — The application URLs in a comma-separated list.
  - `ports_mappings` string — The ports mappings.
  - `health_check_enabled` boolean — Health check enabled.
  - `health_check_path` string — Health check path.
  - `health_check_port` string, nullable — Health check port.
  - `health_check_host` string, nullable — Health check host.
  - `health_check_method` string — Health check method.
  - `health_check_return_code` integer — Health check return code.
  - `health_check_scheme` string — Health check scheme.
  - `health_check_response_text` string, nullable — Health check response text.
  - `health_check_interval` integer — Health check interval in seconds.
  - `health_check_timeout` integer — Health check timeout in seconds.
  - `health_check_retries` integer — Health check retries count.
  - `health_check_start_period` integer — Health check start period in seconds.
  - `limits_memory` string — Memory limit.
  - `limits_memory_swap` string — Memory swap limit.
  - `limits_memory_swappiness` integer — Memory swappiness.
  - `limits_memory_reservation` string — Memory reservation.
  - `limits_cpus` string — CPU limit.
  - `limits_cpuset` string, nullable — CPU set.
  - `limits_cpu_shares` integer — CPU shares.
  - `custom_labels` string — Custom labels.
  - `custom_docker_run_options` string — Custom docker run options.
  - `post_deployment_command` string — Post deployment command.
  - `post_deployment_command_container` string — Post deployment command container.
  - `pre_deployment_command` string — Pre deployment command.
  - `pre_deployment_command_container` string — Pre deployment command container.
  - `manual_webhook_secret_github` string — Manual webhook secret for Github.
  - `manual_webhook_secret_gitlab` string — Manual webhook secret for Gitlab.
  - `manual_webhook_secret_bitbucket` string — Manual webhook secret for Bitbucket.
  - `manual_webhook_secret_gitea` string — Manual webhook secret for Gitea.
  - `redirect` 'www' | 'non-www' | 'both', nullable — How to set redirect with Traefik / Caddy. www<->non-www.
  - `instant_deploy` boolean — The flag to indicate if the application should be deployed instantly.
  - `is_force_https_enabled` boolean — The flag to indicate if HTTPS is forced. Defaults to true.
  - `use_build_server` boolean, nullable — Use build server.
  - `is_http_basic_auth_enabled` boolean — HTTP Basic Authentication enabled.
  - `http_basic_auth_username` string, nullable — Username for HTTP Basic Authentication
  - `http_basic_auth_password` string, nullable — Password for HTTP Basic Authentication
  - `connect_to_docker_network` boolean — The flag to connect the service to the predefined Docker network.
  - `force_domain_override` boolean — Force domain usage even if conflicts are detected. Default is false.
  - `autogenerate_domain` boolean — If true and domains is empty, auto-generate a domain using the server's wildcard domain or sslip.io fallback. Default: true.
  - `is_container_label_escape_enabled` boolean — Escape special characters in labels. By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$. If you want to use env variables inside the labels, turn this off.

## Response `201`

Application created successfully.

- object
  - `uuid` string

## Other responses

- `400` — Invalid token.
- `401` — Unauthenticated.
- `409` — Domain conflicts detected.

## Changes

- **2026-06-03** `fdd4b338659d` — 1 info
  - the request property `ports_exposes` became optional
- **2026-03-16** `385ee693a76d` — 1 breaking
  - the request property `ports_exposes` became required

[Change history](https://skmtc.dev/coollabsio/apis/coolify/changes/applications/dockerimage/post.md)

---

[API](https://skmtc.dev/coollabsio/apis/coolify.md) · [All operations](https://skmtc.dev/coollabsio/apis/coolify/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/coollabsio/coolify/revisions/ccd37e78d00a/schema)
