Skip to main content
POST
/
environment
/
{environmentId}
/
container
Create a container
curl --request POST \
  --url https://api.qovery.com/environment/{environmentId}/container \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "storage": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "type": "FAST_SSD",
      "size": 16,
      "mount_point": "/mnt/images"
    }
  ],
  "ports": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "internal_port": 8080,
      "external_port": 8080,
      "publicly_accessible": true,
      "is_default": true,
      "protocol": "HTTP",
      "public_path": "<string>",
      "public_path_rewrite": "<string>"
    }
  ],
  "name": "<string>",
  "description": "<string>",
  "registry_id": "<string>",
  "image_name": "<string>",
  "tag": "<string>",
  "arguments": [
    "<string>"
  ],
  "entrypoint": "<string>",
  "cpu": 1250,
  "memory": 1024,
  "gpu": 1,
  "min_running_instances": 1,
  "max_running_instances": 1,
  "healthchecks": {
    "readiness_probe": {
      "type": {
        "tcp": {
          "port": 123,
          "host": "<string>"
        },
        "http": {
          "path": "<string>",
          "scheme": "<string>",
          "port": 123
        },
        "exec": {
          "command": [
            "<string>"
          ]
        },
        "grpc": {
          "service": "<string>",
          "port": 123
        }
      },
      "initial_delay_seconds": 123,
      "period_seconds": 123,
      "timeout_seconds": 123,
      "success_threshold": 123,
      "failure_threshold": 123
    },
    "liveness_probe": {
      "type": {
        "tcp": {
          "port": 123,
          "host": "<string>"
        },
        "http": {
          "path": "<string>",
          "scheme": "<string>",
          "port": 123
        },
        "exec": {
          "command": [
            "<string>"
          ]
        },
        "grpc": {
          "service": "<string>",
          "port": 123
        }
      },
      "initial_delay_seconds": 123,
      "period_seconds": 123,
      "timeout_seconds": 123,
      "success_threshold": 123,
      "failure_threshold": 123
    }
  },
  "auto_preview": true,
  "auto_deploy": true,
  "annotations_groups": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "labels_groups": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "icon_uri": "<string>"
}'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "storage": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "type": "FAST_SSD",
      "size": 16,
      "mount_point": "/mnt/images"
    }
  ],
  "image_name": "<string>",
  "tag": "<string>",
  "registry_id": "<string>",
  "registry": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "url": "<string>",
    "kind": "ECR"
  },
  "environment": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "maximum_cpu": 16000,
  "maximum_memory": 16384,
  "maximum_gpu": 2,
  "name": "<string>",
  "description": "<string>",
  "arguments": [
    "<string>"
  ],
  "entrypoint": "<string>",
  "cpu": 1250,
  "memory": 1024,
  "gpu": 1,
  "min_running_instances": 1,
  "max_running_instances": 1,
  "healthchecks": {
    "readiness_probe": {
      "type": {
        "tcp": {
          "port": 123,
          "host": "<string>"
        },
        "http": {
          "path": "<string>",
          "scheme": "<string>",
          "port": 123
        },
        "exec": {
          "command": [
            "<string>"
          ]
        },
        "grpc": {
          "service": "<string>",
          "port": 123
        }
      },
      "initial_delay_seconds": 123,
      "period_seconds": 123,
      "timeout_seconds": 123,
      "success_threshold": 123,
      "failure_threshold": 123
    },
    "liveness_probe": {
      "type": {
        "tcp": {
          "port": 123,
          "host": "<string>"
        },
        "http": {
          "path": "<string>",
          "scheme": "<string>",
          "port": 123
        },
        "exec": {
          "command": [
            "<string>"
          ]
        },
        "grpc": {
          "service": "<string>",
          "port": 123
        }
      },
      "initial_delay_seconds": 123,
      "period_seconds": 123,
      "timeout_seconds": 123,
      "success_threshold": 123,
      "failure_threshold": 123
    }
  },
  "auto_preview": true,
  "ports": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "internal_port": 8080,
      "external_port": 8080,
      "publicly_accessible": true,
      "is_default": true,
      "protocol": "HTTP",
      "public_path": "<string>",
      "public_path_rewrite": "<string>"
    }
  ],
  "auto_deploy": true,
  "annotations_groups": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "name": "<string>",
      "annotations": [
        {
          "key": "<string>",
          "value": "<string>"
        }
      ],
      "scopes": [
        "DEPLOYMENTS"
      ]
    }
  ],
  "labels_groups": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "name": "<string>",
      "labels": [
        {
          "key": "<string>",
          "value": "<string>",
          "propagate_to_cloud_provider": true
        }
      ]
    }
  ],
  "icon_uri": "<string>",
  "service_type": "APPLICATION"
}

Authorizations

Authorization
string
header
required

Token API are generated by Qovery to manage machine to machine interaction and do not have a TTL. Prefix your token with "Token ". Curl Example: curl https://console.qovery.com/organization -H "Authorization: Token $qovery_token"

Path Parameters

environmentId
string<uuid>
required

Environment ID

Body

application/json
name
string
required

name is case insensitive

registry_id
string
required

id of the linked registry

image_name
string
required

The image name pattern differs according to chosen container registry provider:

  • ECR: repository
  • SCALEWAY_CR: namespace/image
  • DOCKER_HUB: image or repository/image
  • PUBLIC_ECR: registry_alias/repository
tag
string
required

tag of the image container

healthchecks
object
required
storage
object[]
ports
object[]
description
string

give a description to this container

arguments
string[]
entrypoint
string

optional entrypoint when launching container

cpu
integer
default:500

unit is millicores (m). 1000m = 1 cpu

Example:

1250

memory
integer
default:512

unit is MB. 1024 MB = 1GB

Example:

1024

gpu
integer
default:0
Required range: x >= 0
Example:

1

min_running_instances
integer
default:1

Minimum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: 0 means that there is no container running.

Required range: x >= 0
max_running_instances
integer
default:1

Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: -1 means that there is no limit.

auto_preview
boolean

Indicates if the 'environment preview option' is enabled for this container.
If enabled, a preview environment will be automatically cloned when /preview endpoint is called.
If not specified, it takes the value of the auto_preview property from the associated environment.

auto_deploy
boolean | null

Specify if the container will be automatically updated after receiving a new image tag. The new image tag shall be communicated via the "Auto Deploy container" endpoint https://api-doc.qovery.com/#tag/Containers/operation/autoDeployContainerEnvironments

annotations_groups
object[]
labels_groups
object[]
icon_uri
string<uri>

Icon URI representing the container.

Response

Create container

id
string<uuid>
required
created_at
string<date-time>
required
image_name
string
required

The image name pattern differs according to chosen container registry provider:

  • ECR: repository
  • SCALEWAY_CR: namespace/image
  • DOCKER_HUB: image or repository/image
  • PUBLIC_ECR: registry_alias/repository
tag
string
required

tag of the image container

registry
object
required
environment
object
required
maximum_cpu
integer
required

Maximum cpu that can be allocated to the container based on organization cluster configuration. unit is millicores (m). 1000m = 1 cpu

Example:

16000

maximum_memory
integer
required

Maximum memory that can be allocated to the container based on organization cluster configuration. unit is MB. 1024 MB = 1GB

Example:

16384

maximum_gpu
integer
default:0
required

Maximum memory that can be allocated to the container based on organization cluster configuration. unit is MB. 1024 MB = 1GB

Required range: x >= 0
Example:

2

name
string
required

name is case insensitive

cpu
integer
required

unit is millicores (m). 1000m = 1 cpu

Example:

1250

memory
integer
required

unit is MB. 1024 MB = 1GB

Example:

1024

gpu
integer
default:0
required
Required range: x >= 0
Example:

1

min_running_instances
integer
default:1
required

Minimum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: 0 means that there is no container running.

Required range: x >= 0
max_running_instances
integer
default:1
required

Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: -1 means that there is no limit.

healthchecks
object
required
auto_preview
boolean
required

Indicates if the 'environment preview option' is enabled for this container.
If enabled, a preview environment will be automatically cloned when /preview endpoint is called.
If not specified, it takes the value of the auto_preview property from the associated environment.

icon_uri
string<uri>
required

Icon URI representing the container.

service_type
enum<string>
required

type of the service (application, database, job, ...)

Available options:
APPLICATION,
DATABASE,
CONTAINER,
JOB,
HELM,
TERRAFORM
updated_at
string<date-time>
storage
object[]
registry_id
string

tag of the image container

description
string

give a description to this container

arguments
string[]
entrypoint
string

optional entrypoint when launching container

ports
object[]
auto_deploy
boolean

Specify if the container will be automatically updated after receiving a new image tag. The new image tag shall be communicated via the "Auto Deploy container" endpoint https://api-doc.qovery.com/#tag/Containers/operation/autoDeployContainerEnvironments

annotations_groups
object[]
labels_groups
object[]