FAQs

Below we’ve compiled the most common technical questions about Kinsta’s Application Hosting.

What kind of repository can I use with Application Hosting?

When you add an application in MyKinsta you can use a public or private Git repository or Docker image.

If you use a public Git repository, you need the URL and branch of the repository. Private Git repositories must be hosted on Bitbucket, GitHub, or GitLab.

If you use a public Docker image you need the path to the Docker image. Private Docker images must be hosted on a GitHub (ghcr.io), GitLab (registry.gitlab.com), or Docker Hub (docker.io) registry. 

Can I save data to the file system?

Yes, if you add persistent storage, which adds a storage volume that retains data even if the application is restarted or redeployed.

Can I host (insert your preferred CMS or framework) with Kinsta’s Application Hosting?

There’s a good chance the answer is yes, and we’ve created a guide for Supported Frameworks and Languages. If you don’t see the framework or language you’re looking for there, one thing you can check is if it follows the guidelines of The Twelve-Factor App (aka Cloud-Native apps). For the best compatibility, we recommend it does.

If you’re not sure, feel free to give it a try! Our Support team will work with you to help with any bugs you encounter on our platform, though we cannot guarantee all applications will work.

Can applications send email?

Yes, if your application uses a service like SendGrid or Mailchimp to send emails through their API. Ports 25, 465, and 587 (standard SMTP ports) are blocked at Kinsta because we do not provide email hosting services. For examples of how to set up an application to send emails through a third-party email service, check out these quick start guides:

Can I get a static external IP address to add my application to an allowlist with third-party services?

Because the IP address of your application may change/rotate with each deployment, it isn’t possible to provide a single specific outbound IP address. We recommend using a different authorization method (e.g. OAuth, a bastion server, etc.) to authenticate your application with your third-party service.

Can you specify the Python version and module version?

Yes, you can specify the Python version in your application’s runtime.txt file:

python-3.10.6

The module version can be specified in the requirements.txt file:

Django==3.2
virtualenv==20.18.0

Can I deploy multi-container Docker applications?

No. Our Application Hosting only permits a single container per application.

Can I run Composer?

Yes, you can use Composer to declare the libraries and dependencies your project needs, and Composer automatically handles downloading, installing, and updating those dependencies. You can define the required dependencies for your project in a composer.json file in your project’s root directory. For more information, check out our blog post on How to create your own Composer package.

Can I define PHP extensions?

Yes, you can specify the required PHP extensions in your composer.json file to ensure that the necessary extensions are installed and enabled for your application to work correctly. For example, if you want to use the Imagick extension from ImageMagick for image processing, you can add the following to composer.json:

{
    "require": {
        "ext-imagick": "*",
    }
}
Was this article helpful?