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.
Small production environment offers a production-ready setup optimized for moderate throughput.
Taking ownership of the Small Production environment
📦 Clone the template repositories
Fork or clone the following repositories to your local machine or GitHub account:
# 1. Identify Your Service Name
Many commands and configurations require your specific service name. You can find this easily in the interface.
- Open your project in the Zerops Dashboard.
- Look at the project overview to find the exact name of the service you want to manage.
- Use this exact name whenever a command or pipeline configuration asks for the
<service-name>placeholder.
# 2. Configure CI/CD Pipeline for Tag-Based Deployments
Go to Service Settings > Pipelines & CI/CD Settings in the Zerops Dashboard and connect your repository with a trigger on new tags. This makes your production deployments intentional and safely versioned. You can also add a regex filter (like ^v[0-9]+\.[0-9]+\.[0-9]+$) for strict semantic versioning.
Alternatively, integrate zcli push into your existing CI/CD pipeline for maximum control. Learn more about pipeline triggers.
# 3. Deploy to Production
Using tags gives you full control over exactly which version goes live. Publish a new tag in your repository (like a GitHub Release) to trigger a production deployment:
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0
lightbulb Tip
Explore the pipeline detail in the Zerops Dashboard to check build durations and verify all steps complete successfully before the app goes live.
# 4. Configure Autoscaling
Review and tune the autoscaling options for your databases and runtime applications in Service Settings > Automatic Scaling Configuration within the Zerops Dashboard. Here are the key parameters:
verticalAutoscaling:
minRam: 1
minFreeRamGB: 0.5
minFreeRamPercent: 20
report Caution
Keep an eye on the minFreeRamGB setting (default 0.125 GB). This threshold tells Zerops when to scale vertically. Adjust it based on your app's actual needs to keep things running smoothly and avoid memory limits. RAM scales up immediately, while CPU scales after two consecutive measurements below the threshold.
[!TIP] Run a quick stress test using tools like hey on your HTTP apps. Seeing how your app behaves under load helps you fine-tune these parameters before real users arrive.
# 5. Enable Custom Domain Access
To route real traffic to your app, configure public HTTP access in Service Settings > Public Access & Internal Ports from the Zerops Dashboard. Add your custom domain and point your DNS records to the provided Zerops IPs:
Type Name Content TTL
A example.com <zerops-ipv4> Auto
AAAA example.com <project-ipv6> Auto
For wildcard domains, add a CNAME for SSL validation. Check the public access documentation for full details.
lightbulb Tip
When changing DNS records for production, it is good practice to use low TTL values initially. Make sure SSL certificates are active before you turn off the fallback access.
Once everything is working perfectly, you can disable the Zerops subdomain access so all traffic flows through your official custom domain.
# 🎉 You are good to go!
Your application is now live and running in production. You have successfully completed the core setup.
The following sections are entirely optional. They cover extra features like notifications, advanced logging, and backups. You can safely stop reading here and come back later whenever you want to level up your environment.
# 6. Configure Notifications (Optional)
Set up notifications in your project settings on the Zerops Dashboard to get alerted if anything needs your attention. This helps you react quickly to any production events.
# 7. Enable Log Forwarding (Optional)
For better observability, head to Project Settings > Log Forwarding & Logs Overview inside the Zerops Dashboard. You can easily forward your logs to services like Better Stack, Papertrail, or self-hosted solutions. Learn more about log forwarding.
# 8. Configure Database Backups (Optional)
Manage your automated encrypted backups in Service Settings > Backups on the Zerops Dashboard. By default, backups run daily (00:00-01:00 UTC) with a solid retention policy.
It is always a good idea to create a manual, protected backup before a major deployment:
zcli backup create <db-service> --tags pre-deploy,protected
Read the backup documentation for more options.
# 9. Set Up Diagnostic Access (Optional)
Install zCLI and set up secure access for maintenance:
For runtime services:
zcli vpn up
ssh <service-name>.zerops
For databases: Connect via 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 for instructions.
🏁 What's next?
Learn how the apps were modified — Curious how the template apps are configured to run on Zerops? Switch to the to see the integration guide for each service.
Explore other environments — Want to test other stages of the development lifecycle? Each environment below is a clone of the same baseline infrastructure—identical topology, zero drift, no more "but it worked on stage." They differ only in resource allocation and guidance tailored to that environment's daily workflow:
Knowledge Base
Related Recipes
More recipes with similar technologies and categories.
Bun Hello World
A Bun application connected to PostgreSQL, running on Zerops with six ready-made environment configurations — from AI agent and remote development to stage and highly-available production.

Python Hello World
A Python 3.11 application built with Flask and served by
Gunicorn, backed by PostgreSQL on Zerops.
Demonstrates vendored dependencies via pip --target, idempotent database
migrations, and a production-ready WSGI setup — paired with six ready-made
environment configurations from AI agent workspaces to highly-available production.
Go Hello World
Go recipe for Zerops — a minimal HTTP server backed by PostgreSQL, showcasing idempotent database migrations, environment-variable-driven configuration, and the complete set of Zerops infrastructure patterns across six ready-to-deploy environment configurations.

Java Hello World
Java Hello World recipe running on Zerops, backed by a PostgreSQL database. Built with Spring Boot, the recipe demonstrates the full Zerops integration pattern: idempotent schema migration, database-backed health check, and ready-made environment configurations spanning the entire development lifecycle.