After deploying one of the environments and getting to know Zerops, you have two paths forward. 1 Clone our GitHub repositories and use the whole recipe as a template, or if you already have an existing application on a similar stack, 2 integrate the recipe setup with your application.
Highly-available production environment provisions dedicated infrastructure, replicated PostgreSQL, and autoscaling API containers for maximum durability and throughput.
Taking ownership of the HA Production environment
content_copy Clone the template repositories
Fork or clone the following to your local machine or GitHub account:
# 1. Find your service name
Many commands and configurations need the exact name of your service. You can find it in the Zerops Dashboard.
- Open your project in the Zerops Dashboard.
- In the project overview, find the service you want to manage.
- Use this exact name whenever a command or pipeline configuration asks for
<service-name>.
# 2. Configure deployment pipeline
Go to Service Settings > Pipelines & CI/CD Settings in the Zerops Dashboard and connect your repository.
For production, use a trigger on new tags. This keeps deployments intentional and tied to a specific version. You can also add a regex filter, such as ^v[0-9]+\.[0-9]+\.[0-9]+$, if you want to allow only semantic version tags.
Alternatively, add zcli push to your existing CI/CD pipeline if you want full control over when deployments happen.
Learn more about pipeline triggers: https://docs.zerops.io/features/pipeline
# 3. Deploy to production
Create and push a new Git tag to deploy a specific version of your app:
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0
lightbulb Tip
Open the pipeline detail in the Zerops Dashboard to check the build progress and verify that all steps finish successfully.
# 4. Configure high availability
Review the autoscaling settings in Service Settings > Automatic Scaling Configuration in the Zerops Dashboard.
For high availability, make sure your service runs at least two containers:
minContainers: 2
maxContainers: 6
verticalAutoscaling:
cpuMode: DEDICATED
minRam: 2
minFreeRamGB: 0.5
minFreeRamPercent: 20
report Caution
Pay attention to minFreeRamGB. This value tells Zerops when to scale RAM vertically. Adjust it based on your app’s real memory needs to avoid memory limits under load.
In HA mode, each container runs on a different physical server. A load balancer distributes traffic across healthy instances.
Because of this setup, your application should be stateless. Avoid local file storage for sessions or user uploads. Use external stores such as Redis or Valkey instead.
# 5. Set up your domain
To send real traffic to your app, configure public HTTP access in Service Settings > Public Access & Internal Ports in the Zerops Dashboard.
Add your custom domain and point your DNS records to the Zerops IPs shown in the dashboard:
Type Name Content TTL
A example.com <zerops-ipv4> Auto
AAAA example.com <project-ipv6> Auto
Check the public access documentation for full details, including wildcard domain configuration:
https://docs.zerops.io/features/access
lightbulb Tip
When changing DNS records for production, start with a low TTL value. Make sure SSL certificates are active before you disable the fallback Zerops subdomain.
Once everything works, you can disable the Zerops subdomain so all traffic goes through your custom domain.
# 🎉 You are good to go!
Your application is live in production and the core setup is complete.
The following sections are optional. They cover extra production features such as observability, backups, and diagnostic access. You can stop here and come back later when you need them.
# 6. Set up observability (Optional)
Forward logs and metrics to external services or self-hosted tools from Project Settings > Log Forwarding & Logs Overview in the Zerops Dashboard.
Zerops supports log forwarding to services such as Better Stack, Papertrail, and self-hosted ELK stacks.
For metrics, you can use the Prometheus and Grafana recipes available in the Zerops recipe marketplace. These can help you monitor PostgreSQL, MariaDB, and other services.
Learn more about log forwarding: https://docs.zerops.io/references/logging
# 7. Configure database backups (Optional)
Manage automated encrypted backups in Service Settings > Backups in the Zerops Dashboard.
For HA production, consider increasing backup frequency and testing restore procedures regularly.
HA database services on Zerops run as primary-replica clusters. Backups are taken from replicas, which helps reduce performance impact on the primary database.
Before a major deployment or migration, create a manual protected backup:
zcli backup create <db-service> --tags pre-deploy,protected
Read the backup documentation for more options:
https://docs.zerops.io/features/backup
# 8. Set up diagnostic access (Optional)
Use zCLI and VPN access when you need to inspect or maintain production services directly.
For runtime services:
zcli vpn up
ssh <service-name>.zerops
For HA services with multiple containers, you can connect to specific instances. Find the full DNS names for individual containers in Service Settings > Service Containers & Overview in the Zerops Dashboard.
For databases, connect through the VPN to reach the project’s private network, or set up secure direct IP access for your database admin tools.
Check the VPN documentation: https://docs.zerops.io/references/cli/commands#vpn-up
These services were wired into Zerops with per-service integration guides. Open the Integrate flow to follow the same steps for your own application.
lan Deploy more environments
One environment rarely tells the full story — deploy environments for other stages of development to see how they work on Zerops.
Related platform & services docs
Related Recipes
More recipes with similar technologies and categories.
TanStack Start Hello World
A server-rendered TanStack Start application with Nitro Node output, deployed on Zerops. Includes ready-made environment configurations for the full development lifecycle.

React (Vite) Static Hello World
A complete React + Vite hello world recipe for Zerops, demonstrating static site deployment with build-time environment variable injection — compiled by Node.js, served by Nginx, ready-made for every stage of the development lifecycle.

React Router Static Hello World
A complete React Router v7 hello world recipe for Zerops — deploying a React Router v7 SPA (static mode, no SSR) as a static site built by Node.js and served by Nginx, with ready-made environment configurations demonstrating build-time environment variable injection via Vite.

React Router SSR Hello World
A minimal server-side rendered application built with React Router v7 on Zerops, connecting to a PostgreSQL database. Includes ready-made environment configurations for every stage of the development lifecycle - from AI agent workspaces through local development to highly-available production.