"Hello World" Examples Frameworks Examples React

Wasp Hello World

A full-stack Wasp application — React client, Node.js API, and PostgreSQL — deployed on Zerops. The client ships as static Nginx assets; the API runs on Node.js 24 with Prisma migrations.

Lightweight project core
Single dedicated container with balancers (L3/L7), logger and statistics services
app
Static

Container

1Shared Core

0.25 GBRAM

1 GBDisk (SSD)

 GitHub repo
api:3001
Node.js

Container

1Shared Core

0.5 GBRAM

1 GBDisk (SSD)

 GitHub repo
db:5432,:6432
PostgreSQL

Container

1Shared Core

0.25 GBRAM

1 GBDisk (SSD)

3Shared Cores

1 GBRAM

3 GBDisk (SSD)

$5.10

Per month for
Resources cost
add
FreePer month for
Lightweight pkg.

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.

or
Taking ownership of theenvironment

Stage environment offers a cost-conscious pre-production setup with the same client/API/database topology as production.

Clone the template repositories1Find your service name2Configure deployment pipeline3Deploy to staging
🎉You are good to go!4Set up HTTP access (Optional)Zerops subdomainCustom domain
Deploy more environments

Taking ownership of the Stage environment

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>.
Zerops GUI: Locating the Service Name

2. Configure deployment pipeline

In Service Settings > Pipelines & CI/CD Settings in the Zerops Dashboard, connect your repository.

For staging, use a trigger on push to your staging branch, such as main, develop, or staging. This deploys every change pushed to that branch automatically.

If you want more control, you can use zcli push in your existing CI/CD pipeline instead.

Learn more about pipeline triggers: https://docs.zerops.io/features/pipeline

GitHub integration: https://docs.zerops.io/references/github-integration

GitLab integration: https://docs.zerops.io/references/gitlab-integration

lightbulb Tip

To skip builds for documentation-only changes, add [ci skip] or [skip ci] to your commit message. The webhook is still delivered, but Zerops will not start a build.

3. Deploy to staging

Push to your configured branch to trigger a new staging deployment:

bash
git add .
git commit -m "feat: add new feature for staging"
git push origin main

lightbulb Tip

Open the pipeline detail in the Zerops Dashboard to check the build progress, review logs, and verify that all steps finish successfully. This helps you catch issues early and improve build times.


🎉 You are good to go!

Your staging deployment is triggered and the core setup is complete.

The following section is optional. You can stop here unless you need to configure public access rules for your staging environment.


4. Set up HTTP access (Optional)

Configure public access to your staging application in Service Settings > Public Access & Internal Ports in the Zerops Dashboard.

You have two common options:

Zerops subdomain

Use the Zerops subdomain for instant access without DNS configuration. This is usually enough for staging and QA testing.

Enable it in the Zerops Dashboard or in zerops.yaml:

yaml
enableSubdomainAccess: true

Custom domain

Use a custom domain if your staging environment needs a stable public URL.

Add your domain in the Zerops Dashboard and configure your DNS records with the values provided by Zerops.

See the public access documentation for details: https://docs.zerops.io/features/access

lightbulb Tip

For staging environments, the Zerops subdomain is often enough and avoids DNS propagation delays. Save custom domains for production unless staging specifically needs one.

Have an app already? Integrate Zerops into it

These services were wired into Zerops with per-service integration guides. Open the Integrate flow to follow the same steps for your own application.

Deploy more environments

Deploy environments for the rest of the development lifecycle

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