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:
- Follow the quickstart to create a cluster and configure it for deployment.
- Give the app a
Dockerfilethat starts the production server as a non-root user on port8080. - Add a
runos.yamlfile next to theDockerfile:
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.
Related use cases
- Managed Kubernetes Run apps on standard Kubernetes on your own VMs or bare metal. Use RunOS to deploy and operate them while keeping direct cluster access.
- Self-hosted databases Run managed databases on your own servers. Choose PostgreSQL for app data and transactions, or ClickHouse for analytics over large event datasets.