App Platform

App Platform is a Platform-as-a-Service (PaaS) offering that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure.

App Platform can either automatically analyze and build code from your GitHub, GitLab or public Git repositories and publish your application to the cloud, or publish a container image you have already uploaded to DigitalOcean Container Registry or Docker Hub. It also has lifecycle management features, vertical and horizontal scaling, push-to-deploy support, introspection and monitoring features, built-in database management and integration — everything a developer needs to get code live in production.

Try it Now! Read the Quickstart Browse the Samples Learn the Concepts

Plans and Pricing

App Platform has three pricing tiers:

  • Starter: Free. Good for trying App Platform and deploying static sites. You can build and deploy 3 static sites for free on the Starter tier. Every additional static site costs $3.00 per month.
  • Basic: Starts at $5.00 per month (for one container). Good for prototyping apps.
  • Professional: Starts at $12.00 per month (for one container). Good for deploying production apps.

If your dynamic app has static site components, all of them will be deployed at no additional charge on the Basic and Professional tiers.

Container Pricing

An app is made up of one or more components like web services, databases, or workers. When you run an app, we deploy an instance (i.e., a container) for each of the components. The table below shows the monthly pricing per container and the available container sizes for the Basic and Professional tiers.

CPUs RAM Basic Price Professional Price
1 shared 512 MiB $5.00 per month -
1 shared 1 GiB $10.00 per month $12.00 per month
1 shared 2 GiB $20.00 per month $25.00 per month
2 shared 4 GiB $40.00 per month $50.00 per month
1 dedicated 4 GiB - $75.00 per month
2 dedicated 8 GiB - $150.00 per month
4 dedicated 16 GiB - $300.00 per month

Containers and static sites (service, worker, static site, and job components) are billed by the second, starting at a minimum of one minute. Databases (both development and production) are billed by the hour, starting at a minimum of one hour.

Tip
The total cost of running a component is determined by the container size multiplied by the number of containers.

Add-on Pricing

If you need more resources than what is included in the Starter, Basic, and Professional tiers, then the following prices apply.

Additional development databases are $7.00 per month per 256MB database. Additional outbound data transfer is $0.10 per GiB extra in a month. You can view the pricing for DigitalOcean Managed Databases and Spaces (object storage) on the pricing page.

Regional Availability

You can deploy App Platform apps to our Amsterdam, Frankfurt, London, New York, San Francisco, Toronto, Singapore, and Bangalore regions.

Features

Build and deploy your app in the cloud directly from GitHub with App Platform.

App Platform is ideal for developers that want to focus on shipping code, and prefer the simplicity of linking their GitHub, GitLab, public Git repository, or container registry to App Platform and letting DigitalOcean build and deploy their app in the cloud.

You can provide a Dockerfile for DigitalOcean to use in the build process, provide an already-built container image, or let us inspect the code and automatically build the app for you. From there, apply the proper settings so that the build runs (such as routing details, custom domains, and environment variables) and add a database to your solution in the user interface.

Feature Comparison by Tier

Feature Starter Basic Professional
Build and deploy static assets
Build and deploy dynamic apps
(e.g. Node.js, Python, Go, Ruby, PHP, Docker)
Continuous deployment from Git repository
Automatic SSL/TLS certificates (HTTPS)
Bring your custom domain
Global CDN for performance
DDoS mitigation
Unlimited team members
Application metrics Hourly Hourly Per-minute
CPU Shared Shared or dedicated
Auto OS patching
Vertical scaling
Horizontal scaling
High availability
Outbound transfer 1 GiB 40 GiB 100 GiB

Cloud-Hosted Builds

App Platform allows you to hook up your source code repo and deploy using a cloud-hosted build system that automatically detects the needed environment to run your app.

App Platform automatically downloads and installs any necessary frameworks at build time for supported environments. You can try our sample applications to see App Platform’s auto-detection and cloud builds in action.

Horizontal and Vertical Scaling

App Platform apps can be scaled horizontally (adding more instances that serve your app), and vertically (beefing up the instances with more CPU and memory resources), at any time, by simply visiting your app’s deployment in the dashboard. For details, see the scaling instructions in the Quickstart

When Not to Use App Platform

While you can control the scaling of your app, manage the individual services that comprise your app, and integrate databases using App Platform, that may not be enough. App Platform is optimized for ease of code deployment rather than deep customization of the underlying infrastructure. Teams that require more control over their production environment and the design and behavior of their infrastructure may prefer one of our other two compute options:

  1. DigitalOcean Kubernetes gives users control of a managed Kubernetes cluster that can run their container-based applications. It supports private registries, autoscaling, and push-to-deploy (through GitHub actions). It also provides a DigitalOcean-hosted instance of the Kubernetes dashboard for each cluster, and replaces the concept of “master nodes” with a node pool that manages capacity for you, resulting in a Kubernetes experience that is significantly simpler than the native experience.

  2. You can build your own infrastructure solution that uses Droplets (Linux based virtual machines) for compute capacity. Common techniques and workflows for configuration management tools like Terraform and Ansible are covered in the Navigator’s Guide. You can also get a sense of how the various products work together by reading the Solutions guides.

Limits

  • The local filesystem on the host instances running App Platform containers is ephemeral and limited to 2GiB. When deployments happen or containers are replaced, the local disk storage will be LOST and not recoverable. To use App Platform, you must re-implement or reconfigure your app to use other forms of persistent storage such as Spaces or Managed Databases. The local disk should only be used as temporary storage. Filling the disk to capacity will cause the container to be detected as unhealthy and replaced.

  • App Platform can only integrate with GitHub repositories, GitLab repositories, or public Git repositories over HTTPS. Support for other source providers is planned.

  • App Platform does not support block storage volumes.

  • Your dev database permissions will not allow you to create databases; instead you will need to use the default database.

  • App Platform applications do not have a persistent IP address.

  • Configuration changes that result in a redeployment of your app will not also trigger a pull of the latest source code from your repo. This is by design.

  • High availability (HA) is only supported for Professional apps when running two or more containers so that there is a failover for App Platform’s load-balancer to use. If you require HA when using Starter or Basic apps, you must upgrade your app to the Professional tier.

  • App Platform’s engine support for dev databases is currently limited to PostgresSQL, but you can create a PostgresSQL, MySQL, Redis, or MongoDB managed database with DigitalOcean for use in your app.

  • Git submodules that reference SSH path style repos fail to build. You will need to replace SSH submodule links with HTTPS.

  • Private Git submodules may fail to build. If you attempt to reference private git submodules that are not accessible via the authenticated GitHub account you have connected, builds will fail. You must have your private git submodules stored in the GitHub account you have authorized App Platform to use.

  • Browsers aggressively cache redirects, and as such you may need to clear your cache and hard refresh to see changes in your redirect configuration.

  • Currently, App Platform does not support VPC. All connections from apps to other services running in DigitalOcean occur over the public network.

  • App Platform only supports binaries built for the AMD64 or AArch64 CPU architectures.

  • App Platform uses the gVisor container runtime sandbox and some system calls are not supported.

  • App Platform does not support resource usage reporting with PM2 in Node.js apps. Instead, use the Insights tab to see insights such as memory and CPU usage.

Latest Updates

22 September 2021

  • App Platform is now available in TOR1 and LON1.

20 August 2021

  • Released v1.64.0 of doctl, the official DigitalOcean CLI. This release includes support for managing App Platform alerts.

18 August 2021

For more information, see the full release notes.