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.
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.