← All use cases

Host an app on your own server

Deploy an app you built with AI on a Hetzner VM or an Ubuntu server you already have. Start with one node and serve it over HTTPS.

Built a small app with an AI coding assistant? RunOS can deploy it on an Ubuntu VM or server you already have. You keep your infrastructure account, and RunOS builds and runs the app on your cluster.

For a side project that can tolerate downtime, start with one node. Reuse a suitable server with spare capacity, or provision a VM in your own Hetzner Cloud account.

From a local app to an HTTPS URL

Say you built a small booking app that runs locally. The production container listens on port 8080. Here’s how to get it online:

  1. Follow the quickstart to create a cluster and configure it for deployment.
  2. Give the app a Dockerfile that starts the production server as a non-root user on port 8080.
  3. Add a runos.yaml file next to the Dockerfile:
app: booking-app
servicePortMappings:
  - port: 8080
    standardHttps: true
resourceRequirementClassId: app.sl1.beff

From that directory, run:

runos deploy --follow

RunOS uploads the project and builds the image on your cluster. You don’t need local Docker, a Git remote, or a registry login for this deploy. Open the app’s HTTPS URL in the Console and test a booking end to end.

What one server can and can’t do

Budget for the VM or hardware, storage, and any traffic charges from your provider. Leave enough memory and disk space for the app and its builds. If the app needs persistent data, add a database on your cluster and set up backups before you accept real bookings.

One node has no failover. If it goes offline, the app can go offline with it. Start there when that tradeoff works, then plan redundancy before the app needs it.

When you want deployments tied to commits, use the GitHub or GitLab deploy flow. The app can stay on the same cluster.