Skip to content
Zeitlos
Dashboard

Application hosting

.md

Getting started

Connect a repository, build it, and get your app live on Zeitlos.

Zeitlos hosts your app in the EU. Connect a Git repository, push, and it builds and deploys — no pipeline to configure.

Deploy your first app

  1. Create a project

    In the dashboard, go to Projects → New project and connect the GitHub repository you want to deploy. Pick the branch Zeitlos should follow.

  2. Add environment variables (optional)

    If your app needs API keys or configuration to build, add them under Settings → Secrets before the first build. See Environment variables.

  3. Build it

    Open Builds and trigger the first build. From then on, every push to the connected branch builds and deploys automatically.

  4. Open your app

    Once the build succeeds your app is live at <slug>.ztls.app. The link sits in the project header. To use your own domain, see Custom domains.

Requirements for your app

Zeitlos detects how to build your repository automatically and supports a wide range of languages and frameworks.

Tip

If your application won't build on Zeitlos, please don't hesitate to reach out to us. We're happy to have a look and extend our support of languages and frameworks.

If your apps build only static HTML output, we'll detect that and publish those assets directly on our CDN.

If your app runs a server, we'll build it into a Zeitlos image and run it on our infrastructure. Your application server needs to fulfill some requirements:

Listening port

We only route HTTP traffic to a single port in your app. That's by default port 3000, but can be configured under "Advanced" when setting up the project or in the project settings after creation. We also inject that port into your application at build and runtime as the PORT environment variable. Several common frameworks like Next.JS are already taking that environment variable into account and there's nothing you'll need to configure.

Listening interface

Your app needs to listen on all interfaces (0.0.0.0) and not on localhost, 127.0.0.1, or any other IP. We're also injecting this as the environment variable HOST into your application, which is respected by several frameworks.

Persistent data

Your applicatoin can't persist data on the file system. Writing to the file system will get lost lately on the next deploy of your app. Also we can compile Dockerfile apps, there no support for persistent volumes.

Building subdirectories

When creating your project or later in the project's setting you can configure a subfolder of your repository to be built instead of the root of your repository. This is useful if you want to e.g. build just documentation that's within your monorepo.

Next steps