Guides

Your stack. Live on run.zero.

Eight guides, each with example code and a demo that is running right now. Hosted in Germany.

  • Every example runs live
  • Examples under the MIT license
  • Limits stated openly
Stacks

Pick your path.

From a compose file to an agent in Claude Code.

Ground rules

Four rules apply everywhere.

Know them and most apps pass their first build.

Buildpacks, not Dockerfiles

Paketo detects Node, Python, Go, PHP and Java from the manifest file.

Paketo buildpacks
package.json      -> Node.jsrequirements.txt  -> Pythongo.mod            -> Gocomposer.json     -> PHPpom.xml           -> Java

Listen on $PORT

The web process listens on the port from run-zero.yaml, 8080 by default.

Procfile
web: gunicorn app:app --bind 0.0.0.0:$PORT

Pin Node 22

"engines": {"node": "22.x"}, newer releases do not run yet.

package.json
"engines": { "node": "22.x" }

Addons at the top of the file

postgres or keycloak, attached to services with attachTo.

run-zero.yaml
version: "1"services:  web:    port: 8080addons:  db:    type: postgres    attachTo: [web]

Questions.

Applies to every guide.

Which languages does run.zero support?

Node.js, Python, Go, PHP and Java through Paketo buildpacks, plus ready-made container images from a registry.

Which addons are there?

Postgres, and Keycloak for login. You attach both to your services in run-zero.yaml.

Where are my apps hosted?

On servers at Hetzner in Nuremberg, with backups in Germany as well.

What does it cost?

One website is free. Apps with their own server, like the ones in these guides, a database and a custom domain come with the Developer plan.

Your code. Live on run.zero.

One website is free, no credit card. Apps with a server, a database and a custom domain come with the Developer plan.