Deploy Sample Apps to App Platform

Validated on 12 Aug 2024 • Last edited on 27 Jan 2026

App Platform is a fully managed Platform-as-a-Service (PaaS) that deploys applications from Git repositories or container images. It automatically builds, deploys, and scales components while handling all underlying infrastructure.

App Platform offers sample applications that you can add to your GitHub account and then deploy on App Platform. Each app deploys a basic “Hello, world!” style website that you can view in your browser after deployment. This can help you learn how App Platform works and test different languages on the service.

Along with the application itself, each app contains a spec file and a file native to its programming language that App Platform uses to detect the app’s language. For example, in the Node.js sample app, App Platform uses the app spec file (.do/app.yaml) to configure the app for deployment, and the package.json file to determine that the app uses the Node.js framework. These files are important for understanding how App Platform works.

For a list of available languages, see our list of sample apps.

Deploy a Sample App

To deploy a sample app in App Platform, open the DigitalOcean Control Panel, click Create, and then select App Platform from the dropdown menu.

On the Create an app screen, click the Templates tab.

A screenshot of the Create an app page with the Templates tab selected.

In the Choose popular languages or frameworks section, you can use the search to find a starter app or select one from the grid. Click Deploy on the starter app you want, then choose an option:

  • Create new repository in GitHub creates a new repository in your GitHub account using the sample app.

  • Deploy from template repository deploys the app directly from the sample app’s repository.

We recommend creating a new repository for the app so that you can customize it later and redeploy it as needed.

On the Create New Repository page, select an owner and provide a name for the repository, then click Create repository. GitHub creates a new repository in your account from DigitalOcean’s template repository.

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

After creating the repository, return to the Create an app page and refresh it. When the page updates, GitHub is selected as the Git provider. Click the Repository dropdown menu, select the new sample app repo, then click Next.

If you choose the Deploy from template repository option, the app deploys directly from the sample app’s repository and you do not need to provide any additional information.

Configure Resource Settings

Apps include two types of deployable resources: app resources for running code, and database resources for managed databases.

App resources are made up of components, which define how code is built, deployed, and run. Supported component types include web services, workers, jobs, and static sites. Web services, workers, and jobs run in containers from a repository or container image, while static sites are hosted from a directory of static files on DigitalOcean’s CDN.

The Resource settings table displays the configuration settings for each component, some of which the detection system auto-fills. Click Edit beside the component you want to change.

App configuration options

You can configure the following settings:

  • Name: A unique name for the component.

  • Resource type: The type of component to deploy (web service, static site, or worker service). This field determines which additional configuration options appear on this screen.

  • Instance size: The amount of memory (RAM), CPUs, and bandwidth allocated to the component. You can choose shared or dedicated CPUs. Shared CPUs share their processing power with other DigitalOcean users. Dedicated CPUs are dedicated solely to your app. We recommend dedicated CPUs for more resource-intensive applications that require consistent high performance and autoscaling.

  • Containers: Configure the component’s scaling settings. The instance size you select determines the scaling options available. For more details, see How to Scale Apps in App Platform.

  • Build command: Add a custom build command to run before the app is deployed. This is useful for compiling assets, installing dependencies, or running tests before deployment.

  • Run command: For web and worker services only. You can specify custom run commands for the application to run after deployment. If no run commands are specified, the default run command for your app’s language is used, such as npm start for a Node.js app. For Dockerfile-based builds, entering a run command overrides the Dockerfile’s entrypoint.

  • Public HTTP port: For web services only. The port that the app receives HTTP requests on. The default port is 8080.

  • Internal ports: For web services only. The port that the app receives internal requests on.

  • HTTP request routes: For web services and static sites only. The URL path where the app can be accessed, such as your-app-v3cl4.ondigitalocean.app/api. If not specified, the app is accessible from the provided hostname’s root.

  • Environment variables: Key-value pairs that are available to your app at runtime. Use them to store configuration values, secrets, API keys, or other data that your app needs to access without hardcoding them into the source code. Environment variables can be defined at the component level and, in some cases, overridden per deployment environment. For example, you can provide connection details for an external database using environment variables.

  • Output Directory: For static sites only. An optional path to where the build assets are located, relative to the build context. If not set, App Platform automatically scans for these directory names: _static, dist, public, build.

App Platform uses cloud-native buildpacks to build components and applies the buildpack’s default build and run commands. See the cloud-native buildpack reference for details about supported buildpacks.

Add a Database

In the Add a Database section, you can connect a database to your app.

  • To provision a new dev database directly within your app, click Create dev database.

  • To connect an existing DigitalOcean Managed Database, click Attach DigitalOcean database.

  • If your database is hosted outside of DigitalOcean, add environment variables to provide connection details in the Resource settings table.

After connecting a database, App Platform automatically injects the necessary connection information into the relevant component’s environment variables.

For more information, see How to Manage Databases in App Platform.

App-Level Environment Variables

App-level environment variables are defined at the app level and accessible by all resources in your app. They can be used for configuration values, secrets, API keys, or other data your app needs at build time or runtime.

To set app-level environment variables, in the App-level environment variables box, click Edit. Click Add environment variable, type a key and value, and then select a scope. Select the Encrypt checkbox to obscure the variable’s value in build, deployment, and application logs.

For dynamic, app-specific variables that your app can reference, see app-specific dynamic environment variables.

Datacenter Region

In the Datacenter region section, you can choose the datacenter region to deploy your app into. Click the Choose a datacenter region dropdown menu and select a region. For performance purposes, it is best to select the region geographically closest to the app’s user base.

You cannot select a region for static sites. Static resources are served on DigitalOcean’s global CDN.

Finalize

In the Finalize section, you can update the app’s name and project.

In the Choose a unique app name field, type a name for the app. In the Select a project dropdown menu, you can select an existing project or create a new project. If you create a new project, you can also select an environment for the project.

After you choose a name and project, click Create app.

App Platform creates the app using the selected settings and deploys it automatically. Once your app deploys, you can view the app at the URL at the top of the app’s Overview page.

List of Available Sample Apps

We offer sample apps for the following languages and frameworks. Each link opens the sample app’s repository in GitHub.

We provide the following sample apps:

We can't find any results for your search.

Try using different keywords or simplifying your search terms.