Here are just a few of the languages we support and have tested:

We have Quick Start Examples available for these and other languages and frameworks we support.

Adding an Application

To add an application, click Add service on the Applications page and select Add application from the dropdown menu.

The first time you add an application, you’ll need to select a Git service provider and repository from your account. You can choose from any (or all) of the following:

Once you’ve connected your Git provider account, you’ll be returned to MyKinsta to continue with the rest of the Add application steps.

The following fields are available in the multipart form with the described effects.

Application details

Add application details.
Add application details.

Select branch

You have the option here to select from any of the supported Git service providers.

  • Repository: Select the Git Repository to use.
  • Default branch: Set the branch that will be deployed on changes and manually.
  • Automatic deployment on commit: Check this box to automatically deploy your application each time a commit is made to the branch selected above.

Basic details

  • Application name: This name will be displayed in MyKinsta for easy reference.
  • Data center location: Choose the data center you want to use for this application. Currently, internal connections are only supported between applications in the same region. If you’re deploying an application and a database, you must choose the same region for both.

Environment variables

Environment variables feed your application information from outside of the running of the application. They typically set things like database connection details and API keys. Expand this section to enter any environment variables for your application and select if the variables are to be available during runtime and/or the build process.

Click Continue.

Build environment

The build environment dictates how we build your application.

Add application build environment.
Add application build environment.
  • Build resources: Choose the build machine needed to build your application. The more resources the build machine has, the faster the build process will run.

The next 2 options let you choose between using a buildpack or a Dockerfile to create the container for your application:

  • Set up container image automatically: Choose this option to have Kinsta use a buildpack to create a container for your application based on your repository. We’ll try to automatically determine the best environment for your project and create a container for it. If no version is specified, we’ll use the latest available version for the language your application is written in. If you want to use a different language version for your application, set the version in your application’s files.
    • Build path: The path in the repository to the files required to build the application. Most applications are built from the repository root, and the Build path defaults to this (.). If you have a different build path, specify it here. For example, if your application needs to be built from a subdirectory (e.g. app), enter that subdirectory path in the Build path field: app.
  • Use Dockerfile to set up container image: If you want more control; or already have things set up in a Dockerfile in your repository, select this option and set the Dockerfile path and Context. With a Dockerfile, you can use almost any language.
    • Dockerfile path: The path to your Dockerfile relative to the repository root. For example, if your Dockerfile is in the repository root, enter Dockerfile in that field. If your Dockerfile is in a subdirectory named app, enter the path to the Dockerfile: app/Dockerfile.
    • Context: The path in the repository we need access to so we can build your application. Most applications are built from the repository root, and you can enter the repository root (.) in the Context field. If your application needs to be built from a subdirectory (e.g. app), enter that subdirectory path in the Context field: app.

Click Continue.


This allows you to set the resources and start command for your processes.

Add application resources.
Add application resources.

Set up your processes

  • Process name: This name will be displayed in the list of the application’s processes for easy reference. The web process is added automatically. If you want to rename it, you can.
  • Process type: For the automatically added web service, this cannot be changed. If you need to add additional processes like a background worker or cron job, you can add them here or on your application’s Processes page after deployment.
  • Start command: Enter the start command for your web process. If you leave this blank, we’ll try to detect it during deployment. The start command for the web process can also be added or edited on your application’s Processes page after deployment. The start command is required for any additional processes you add.
  • Pod size: Choose the pod size for your process. This determines the CPU and RAM dedicated to the process.
    • Note: If you choose a Hobby pod size for your web process, you will not be able to add a custom domain to your application. If you need a custom domain for your application, you can upgrade this anytime.
  • Instance count: The number of instances for the process, up to a maximum of 50. Each instance represents one pod, and the instances all use the same pod size; you cannot define a different pod size for each instance.

Click Continue.

Payment Method

Review your application’s monthly usage costs and confirm your payment method.

Add application payment method.
Add application payment method.

Click Confirm payment method.

Adding an Internal Connection

If you’d like to use a database with your application, you can create the database at Kinsta and use an internal connection between the two. You can create this connection from the application’s Settings page or the database’s Info page. See Adding Internal Connections for more information.