> ## Documentation Index
> Fetch the complete documentation index at: https://www.aptible.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy a Node.js + Express Template

> Deploy a starter template Node.js app using the Express framework on Aptible

> [card] [Deploy Now](https://app.aptible.com/create)

> [card] [GitHub Repo](https://github.com/aptible/template-express)

> [card] [View Example](https://app-52737.on-aptible.com/)

# Overview

The following guide is designed to help you deploy a sample [Node.js](https://nodejs.org/) app using the [Express framework](https://expressjs.com/) from the Aptible Dashboard.

# Deploying the template

> [!NOTE]
>
> Prerequisite: Ensure you have [Git](https://git-scm.com/downloads) installed.

Using the [Deploy Code](https://app.aptible.com/create) tool in the Aptible Dashboard, you can deploy the **Express Template**. The tool will guide you through the following:

**1. Deploy with Git Push**

![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node1.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=d2515d892b7f9567751f8a4c6d08955f)

**2. Add an SSH key**

![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node2.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=f6317e159d372b927e2f6fe776c3ee7a) If you have not done so already, you will be prompted to set up an [SSH key](https://www.aptible.com/docs/core-concepts/security-compliance/authentication/ssh-keys.md#ssh-keys).

**3. Environment Setup**

![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node3.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=be3bfb9b4c3a3f6ba39adde4ed70085d)\
Select your [Stack](https://www.aptible.com/docs/core-concepts/architecture/stacks.md) to deploy your resources. This will determine what region your resources are deployed to. Then, name the [Environment](https://www.aptible.com/docs/core-concepts/architecture/environments.md) your resources will be grouped into.

**4. Prepare the template**

![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node4.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=d5fd4b9033690c9daad39d9159a94ec1) Select **Express Template** for deployment, and follow command-line instructions.

**5. Fill environment variables and deploy**

![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node5.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=71400219e31addf9b926b1dc04683cb3)

Aptible will automatically fill this template's required databases, services, and app's configuration with environment variable keys for you to fill with values. Once complete, save and deploy the code!

Aptible will stream logs to you in live time: ![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node6.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=1361b40e7b55dce2ce872e0fe12b7ae6)

**6. Expose your app to the internet**

![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node7.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=656b0e1c2e7987dc335538b3d70d598d) Now that your code is deployed, it's time to expose your app to the internet. Select the service that needs an [endpoint](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/overview.md), and Aptible will automatically provision a managed endpoint.

**7. View your deployed app**

![](https://mintcdn.com/aptible/opX5eNKf32ujRi0n/images/node8.png?fit=max\&auto=format\&n=opX5eNKf32ujRi0n\&q=85\&s=78ef220e736fb8e4cf8083a1db202db3)

# Continue your journey

> [card] [Deploy custom code](https://www.aptible.com/docs/custom-code-quickstart.md)
>
> Read our guide for deploying custom code on Aptible.
