Skip to main content
The fastest way to deploy to Orchard is using a pre-built Docker image. This is ideal when you have an existing CI/CD pipeline that builds and pushes images, or when using public images.

Prerequisites

  • A project in Orchard
  • A Docker image accessible from the cluster (public or with credentials)

Creating a Deployment

1

Navigate to your project

Open the project where you want to create the deployment.
2

Click 'New Deployment'

Click the New Deployment button.
3

Select 'From Image'

Choose the From Image deployment method.
4

Configure the deployment

Fill in the required fields:
FieldDescriptionExample
NameUnique name for this deploymentapi-server
ImageFull Docker image URL with tagnginx:latest
PortPrimary port your app listens on8080
ReplicasNumber of instances to run2
5

Add environment variables (optional)

Add any environment variables your application needs.
6

Configure networking (optional)

Choose whether to expose your deployment publicly.
7

Create

Click Create Deployment to start your application.

Image Sources

Orchard can pull images from various sources:
For public Docker Hub images, use the simple format:
nginx:latest
redis:7-alpine
postgres:15
For official images, you don’t need a registry prefix.

Image Tags

Always specify an image tag to ensure consistent deployments:
Tag TypeExampleUse Case
Specific versionnginx:1.25.3Production deployments
Minor versionnginx:1.25Auto-update patch versions
Latestnginx:latestDevelopment only
Git SHAmyapp:abc123fCI/CD pipelines
Avoid using latest in production. If the upstream image changes, your deployment behavior may change unexpectedly.

Port Configuration

Single Port

For applications with one port:
Port: 8080
This creates a service that routes traffic to port 8080 in your container.

Multiple Ports

For applications with multiple ports (e.g., HTTP and gRPC):
NameContainer PortService PortProtocol
http808080TCP
grpc90909090TCP

Updating the Image

To deploy a new version of your image:
1

Go to your deployment

Open the deployment you want to update.
2

Open Settings

Navigate to the Settings tab.
3

Update the image

Change the image tag to the new version (e.g., myapp:v2.0.0).
4

Save

Click Save. Orchard will pull the new image and perform a rolling update.

Rolling Updates

When you update an image, Orchard performs a rolling update by default:
  1. New pods with the updated image are created
  2. Once new pods are healthy, old pods are terminated
  3. This ensures zero downtime during updates

Example: Deploying nginx

Here’s a complete example of deploying nginx:
1

Create deployment

  • Name: web-server
  • Image: nginx:1.25-alpine
  • Port: 80
  • Replicas: 2
2

Add environment variables

  • NGINX_HOST: example.com
  • NGINX_PORT: 80
3

Expose publicly

Enable Expose Public to create a LoadBalancer service.
After creation, you’ll get an external IP or can create an ingress for a custom domain.

Troubleshooting

If your deployment fails with an image pull error:
  1. Verify the image name and tag are correct
  2. Check if the image exists in the registry
  3. For private registries, ensure pull secrets are configured
If pods keep restarting:
  1. Check the container logs for error messages
  2. Verify environment variables are correct
  3. Ensure the port configuration matches your application
If the deployment is running but not responding:
  1. Verify the port matches what your application listens on
  2. Check if a service has been created
  3. Review network policies that might block traffic

Next Steps

Environment Variables

Configure your application with environment variables

Services

Expose your deployment to the network

Ingresses

Add a custom domain to your deployment

Volumes

Add persistent storage