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