Skip to main content

What you need

  • A Gradle project with the Gradle wrapper (gradlew) at its root. The platform builds with your wrapper, so it uses your Gradle version.
  • At least one target the platform can deploy: a Ktor server, a web app, an Android app or a Compose Desktop app. See Project structure.
  • An account. The platform is in early access; ask for an invite on the home page.

Deploy your first app

1

Install the CLI

The atoll CLI is a single native binary for Linux, macOS and Windows. There is no download yet, so build it from the platform’s source repository with the link task for your system:
The binary ends up in cli/build/bin/<target>/releaseExecutable/: atoll.kexe on Linux and macOS, atoll.exe on Windows. Rename it to atoll (or keep atoll.exe), put it on your PATH, and check that it runs:
2

Sign in

Sign in to your server:
The CLI prints a URL and a short code, and opens the panel in your browser. Check that the code matches and approve the sign-in. The CLI saves a token and remembers the server, so later commands need neither. atoll whoami shows who you are signed in as, and atoll status checks that the server answers.
In CI, skip atoll login and pass a personal access token instead. See Deploying from CI.
3

Deploy

Run atoll deploy in the root of your project:
The CLI packages your source, uploads it and prints the build log as it runs. At the end it prints one line per target:
Open the URL. Your server is live.

Naming the project

The project is named after the directory. If the directory name is not a valid project name, pass one with --name:
A new project goes to your personal org. To put it in a team’s org, pass --org <slug> or pick a default with atoll orgs switch <slug>.

Next steps

Add more targets

Add a web app or an Android app to the same build. The next deploy picks them up.

Set environment variables

Give your server its configuration and secrets.

Link a GitHub repository

Every push deploys and every pull request gets a preview.

Invite your team

Add members to an org and give them roles.