User Documentation

Deploy Quarkus on

Sign up for Upsun

Get your free trial by clicking the link below.

Get your Upsun free trial

Quarkus is, in its own words, a cloud-native, (Linux) container-first framework for writing Java applications.

To get Quarkus running on, you have two potential starting places:

  • You already have a Quarkus site you are trying to deploy. Go through this guide to make the recommended changes to your repository to prepare it for

  • You have no code at this point.

    If you have no code, you have two choices:

A template is a starting point for building your project. It should help you get a project ready for production.

To use a template, click the button below to create a Quarkus template project.

Deploy on

Once the template is deployed, you can follow the rest of this guide to better understand the extra files and changes to the repository.

Before you begin Anchor to this heading

You need:

  • Git. Git is the primary tool to manage everything your app needs to run. Push commits to deploy changes and control configuration through YAML files. These files describe your infrastructure, making it transparent and version-controlled.
  • A account. If you don’t already have one, register for a trial account. You can sign up with an email address or an existing GitHub, Bitbucket, or Google account. If you choose one of these accounts, you can set a password for your account later.
  • The CLI. This lets you interact with your project from the command line. You can also do most things through the Web Console.

Initialize a project Anchor to this heading

You can start with a basic code base or push a pre-existing project to

  1. Create your first project by running the following command:

    platform create --title PROJECT_TITLE

    Then choose the region you want to deploy to, such as the one closest to your site visitors. You can also select more resources for your project through additional flags, but a Development plan should be enough for you to get started.

    Copy the ID of the project you've created.

  2. Get your code ready locally.

    If your code lives in a remote repository, clone it to your computer.

    If your code isn't in a Git repository, initialize it by running git init.

  3. Connect your project with Git. You can use as your Git repository or connect to a third-party provider: GitHub, GitLab, or BitBucket.

    Add a Git remote for the project you just created by running the following command from your repository:

    platform project:set-remote PROJECT_ID

    That creates an upstream called platform for your Git repository.

    When you choose to use a third-party Git hosting service the Git repository becomes a read-only mirror of the third-party repository. All your changes take place in the third-party repository.

    Add an integration to your existing third party repository.

    The process varies a bit for each supported service, so check the specific pages for each one.

    Accept the default options or modify to fit your needs.

    All of your existing branches are automatically synchronized to You get a deploy failure message because you haven’t provided configuration files yet. You add them in the next step.

    If you’re integrating a repository to that contains a number of open pull requests, don’t use the default integration options. Projects are limited to three* preview environments (active and deployed branches or pull requests) and you would need to deactivate them individually to test this guide’s migration changes. Instead, each service integration should be made with the following flag:

    platform integration:add --type=<service> ... --build-pull-requests=false

    You can then go through this guide and activate the environment when you’re ready to deploy

    * You can purchase additional preview environments at any time in the Console. Open your project and select Edit plan. Add additional Environments, view a cost estimate, and confirm your changes.

Now you have a local Git repository, a project, and a way to push code to that project. Next you can configure your project to work with

Is this page helpful?