Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Reference
Integrating a service
Testing a service locally
Last updated Aug 4, 2026

Forge Container services reference: manifest (Preview)

Forge Container services is now in Preview, and therefore fully supported. However, it remains under active development and may be subject to shorter deprecation windows. Preview features are suitable for early adopters in production environments.

We release preview features so partners and developers can study, test, and integrate them prior to General Availability (GA). For more details, see Forge EAP, Preview, and GA.

The endpoint module described on this page is also documented in the Endpoint manifest reference.

To customize Forge Container services configuration by environment type and placement, see Manifest overrides.

Forge features a top-level manifest property named services that lets you define a service and its corresponding container. It supports the following properties:

PropertyRequired?Description
keyYesA key for the service, which modules (like endpoint) can refer to. Each service in the manifest must have a unique key (regex: ^[a-zA-Z0-9_-]+$)
containersYesDefines a container (and its properties) within the service. The containers property supports its own set of properties to configure a container; see Property: containers for details.
tunnelNoDefines the local port that invocations of the service should be made to whilst tunnelling. If undefined, requests will be made to port 7071. See Property: tunnel for details.
scalingNoHorizontal scaling configuration defining the min & max number of container instances to run. See Property: scaling for details.

Containers

The containers property lets you configure a container’s resource, scaling, and health check settings:

PropertyRequired?Description
keyYesA unique key that maps to the container’s image repository URI. This key is created with the forge containers create command; to view all container keys and their corresponding repository URIs, use the forge repositories list command.
tagYesThe tag of the image that Forge should use to deploy the container. This image (and tag) must exist in the Forge Container Registry.
resourcesYesVertical scaling configuration defining CPU and memory available to your container. See Resources.
healthYesConfiguration for an HTTP Health check that the Forge Platform uses to determine container availability and health. See Health.
tunnelNoConfiguration to deploy the container locally and start it automatically with forge tunnel. These settings follow the same syntax as a standard docker compose file. See Testing a containerised service locally for more information.

Resources

The resources property defines what compute resources are allocated to the container.

PropertyRequired?Description
cpuYesReserved amount of CPU units for the container in either cpu or millicpu, for example "1" or "1000m". Must be one of the valid resource size combinations listed below.
memoryYesReserved amount of memory units for the container in either mebibytes or gibibytes, for example "2048Mi" or "2Gi". Must be one of the valid resource size combinations listed below.

Valid resource size combinations

The cpu and memory values must be one of the following supported combinations. Deployments with unsupported combinations will fail.

CPUMemory
4000m16Gi
4000m8Gi
2000m4Gi
1000m2Gi
500m1Gi
250m512Mi
125m256Mi
60m128Mi
30m64Mi

Health

The health property defines how your container is determined as healthy and ready to receive traffic. For more details around timing for configured container health checks during deployment and runtime, see Deploy the Service.

PropertyRequired?Description
typeYesThe type of health check operation to perform. Currently only http is supported.
routeYesThe operation that will be performed depending on the type. When using http:
  • path Expects a path that your container exposes that will be used to assess your container health status. The endpoint for the path must support GET requests and return a response with status between 200 and 399 (inclusive) for the request to be successful.

Scaling

The scaling property defines how the service should scale the number of instances.

PropertyRequired?Description
minYesThe minimum number of instances that the service can scale down to.
maxYesThe maximum number of instances that the service can scale up to.
profileNoThe scaling configuration used by this service.

Scaling profiles

For now, the only supported profile is default. With this profile, scaling behaviors are triggered whenever the average CPU or memory usage reaches the following thresholds:

ResourceAverage resource usage threshold
CPU50%
Memory70%

The following table describes the default profile’s scaling behavior:

Scaling behaviorScale byTrigger
Scale Up100%Instances reached the average usage threshold.
Scale Down50%Instances stay under the average usage threshold for a full 300 seconds.

Forge Container services checks average resource usage every 15 seconds.

Scale to zero

You can configure a container service to scale down to zero running instances when it is idle. This can help reduce costs for containers used in non-production environments by ensuring that no instances are running when there is no traffic. Scaling a container service to zero is supported in DEVELOPMENT and STAGING environments.

To enable this, set min to 0 in your service's scaling configuration:

1
2
services:
  - key: example-service
    scaling:
      min: 0
      max: 2

With scale to zero enabled, a container service scales down to 0 running instances if it receives no traffic for 15 minutes. When the next request arrives, Forge returns a 503 response and starts scaling the service back up.

The service typically becomes available within a few minutes. Once the container has scaled up, subsequent requests are processed normally.

When enabling scale to zero, consider the following differences in behavior:

  • Scheduled triggers have a short retry window of around 2 minutes. If the container service does not come online within that window, Forge may silently drop the scheduled trigger invocation. If scheduled trigger delivery is important, we recommend handling the scheduled trigger with a Forge function that creates an async event.
  • Product events and async events have longer retry windows, so Forge processes them after the container service comes online.

Tunnel

The tunnel property lets you configure settings for running the container locally, including which port service invocations should be made to.

See Testing a containerised service locally for more details.

Example

The following snippet shows a service named java-service, which is backed by a container of the same name. The service is accessible via the /webtrigger route on the webtrigger-ep endpoint module.

1
2
modules:
  webtrigger:
    - key: container-webtrigger
      endpoint: webtrigger-ep
  endpoint:
    - key: webtrigger-ep
      service: java-service
      route:
        path: /webtrigger

services:
  - key: java-service
    containers:
      - key: java-service
        tag: latest
        resources:
          cpu: "1"
          memory: "2Gi"
        health:
          type: http
          route:
            path: "/healthcheck"
    scaling: 
      min: 1
      max: 1

Rate this page: