Skip to main content
The platform deploys Kotlin Multiplatform and Ktor projects. You point it at a Gradle build, and it finds every target in it: Ktor servers, web apps, Android apps and desktop apps. It builds them in one go and puts them live.

Start here

Getting started

Go from an empty terminal to a live app in a few minutes.

Project structure

How the platform finds the targets in your build and which hosts they get.

Deploy with the CLI

atoll deploy, its output and its exit codes.

What you can deploy

Ktor servers

Your server on its own host, with replicas added as the load goes up.

Web apps

Wasm and JS builds served as a static site on their own URL.

Android apps

A signed APK and App Bundle with every deploy, and Google Play uploads.

Desktop apps

Compose Desktop packages attached to every deployment.

iOS apps

Unsigned simulator builds on a macOS build runner.

How the platform works

1

Start a deployment

Run atoll deploy, or push to a GitHub repository linked to the project.
2

The platform reads your build

It reads your Gradle build and lists the targets it can deploy.
3

It builds every target

It builds them with your project’s own Gradle wrapper.
4

Your apps go live

Ktor servers start on their own hosts, web apps are served from theirs, and Android and desktop builds are attached to the deployment as downloads.
Each run is a deployment. It ends as READY, PARTIAL, FAILED or CANCELLED.

Run it in production

Scaling

Size, replicas and scale to zero for each Ktor server.

Storage

Managed Postgres, Redis and Files stores, connected to your projects.

Logs and metrics

Runtime logs, request and resource charts, and the overview dashboards.

Regions

Pick where a project’s Ktor servers run.

Build runners

Build Windows and macOS installers and iOS apps on your own machines or the platform’s.

Firewall

Rules, IP blocking, managed rulesets and attack mode.

Help

Read the FAQ, or email hello@atoll.app.