App Guides

Deploying with a Dockerfile

This guide will help you deploy your web app to the Adaptable Cloud using a Dockerfile.

Using this guide, in just a few clicks, Adaptable deploys all the cloud-based resources you need to run your web app, including:

  • Building your app into Serverless Containers
  • Fully-managed Serverless Database (MongoDB, PostgreSQL, or MS SQL Server)
  • Autoscaling
  • Load Balancing
  • HTTPS (SSL/TLS)

»When should I use a Dockerfile?

Adaptable supports many app types natively, without requiring a Dockerfile.

Using a Dockerfile to build your app is helpful:

  • For app types that Adaptable does not yet support natively
  • If your app has a complex build process
  • If you need complete control over the base OS and libraries
  • If you already have a working Dockerfile

If you need some help creating a Dockerfile, try the official Docker Samples.

»Step 1: Choose a GitHub repo to deploy

Start by clicking the button below:

If you're new to Adaptable, you'll need to sign in with GitHub and authorize Adaptable to access your repo.

Choose the repo you'd like to deploy to Adaptable, then choose a branch.

Once connected, Adaptable will deploy your repo each time you push to this branch.

List of GitHub repos
tip

If you don't see the repo you're looking for, click Add more GitHub repositories to authorize Adaptable on more of your repos or GitHub organizations.

»Step 2: Choose a Deploy Template

To build your app using a Dockerfile, choose the Dockerfile App Template.

Choosing a deploy template

»Step 3: Choose database type

You can choose to have Adaptable create a new fully-managed database for your app. Adaptable supports MongoDB, PostgreSQL, and Microsoft SQL Server.

If you choose an Adaptable database, Adaptable automatically sets DATABASE_URL in your app's environment.

If your app does not need a database or if you already have a database hosted elsewhere, choose None.

important

If you use a PostgreSQL database provided by Adaptable, see Enabling SSL for Adaptable PostgreSQL below.

»Step 4: Review settings

These settings tell Adaptable where to find your app files and your Dockerfile within your repo.

»Base Directory

By default, Adaptable will use the root of your repository as the Docker build context. If you want to build a subdirectory within your repo, set Base Directory to the directory you would like to build.

All commands in your Dockerfile are relative to Base Directory.

»Dockerfile Name

By default, Adaptable will look in the Base Directory for a file named Dockerfile.

If your Dockerfile is named something else or is in a different directory, set Dockerfile Name to the complete path plus filename of your Dockerfile within your repo.

When you're satisfied with the settings, click Next.

Reviewing template settings

»Step 5: Choose an app name

Choose a name for your app project on Adaptable. This name will be used to create a URL for your project like https://YOURAPPNAME.adaptable.app, so it must be unique among all other app names on Adaptable.

Enter your chosen app name and click Next.

»Step 6: Pre-flight checks

Adaptable will now perform some basic checks on your GitHub repo to ensure it's ready to deploy.

For more information on any of the checks, see Pre-flight checks.

When the checks have passed, click Deploy App to start deploying your new app.

»Deployed!

Once deployment is complete, your app will be running at https://YOURAPPNAME.adaptable.app. You will be redirected to the app status page with a congratulations message if your app deployed successfully. Otherwise you'll get an error message and some help to resolve the error. In either case, you will have the option to take a tour to see how Adaptable works!

tip

Now that your app is set up on Adaptable, each time you push to the branch you selected on your GitHub repo, Adaptable will automatically deploy your code changes.

»Having trouble?

Look for the How to Fix This App tip box on your App Status page. It will help guide you toward logs and documentation appropriate for the error your app has.

If you need to make any code changes, you can push to your GitHub repo to update your app and Adaptable will re-deploy it.

If you're still having trouble deploying, contact our support team for help.

»Next Steps: Connect to the database

If you chose to have Adaptable create a new database for your app, Adaptable will automatically set the DATABASE_URL environment variable.

Ensure your app uses DATABASE_URL to connect to the Adaptable database.

»Enabling SSL for Adaptable PostgreSQL

If you chose to have Adaptable create a PostgreSQL database for you, the DATABASE_URL environment variable contains a reference to the root certificate required to fully verify the SSL/TLS connection to the database.

In order for DATABASE_URL to work correctly, you must add the following step to your Dockerfile to copy the Adaptable root certificate into your Docker image:

COPY .adaptable /.adaptable

»Additional info