Overview

Deploy front-end and full-stack apps on Tower using Static Web Apps or Containers. Use the dashboard to create and manage deployments, or automate with the API.

Next.js

For static sites, run npm run build && npx next export to produce an out or build folder. In the dashboard, go to Static Web Apps, create a new site, and upload or connect that folder (or use the API POST /v1/sites with your build output). For server-side rendering, build a Docker image and deploy it as a container from the dashboard or via the Containers API.

Set environment variables in the dashboard under your project settings.

React (Vite / CRA)

React apps built with Vite or Create React App produce static assets. Build locally (npm run build), then in the dashboard open Static Web Apps and deploy the dist (Vite) or build (CRA) folder. Single-page apps work with our edge network; we serve index.html for client-side routes.

Vue and Nuxt

Vue (Vite) and Nuxt static builds: run npm run build, then deploy the output folder via the dashboard under Static Web Apps. For Nuxt in SSR mode, build a Docker image that runs node .output/server/index.mjs and deploy it as a container.

Node.js and Express

Backend APIs and Express apps run as containers. Build a Docker image that starts your app and expose the port it listens on (e.g. 3000 or 8080). In the dashboard, go to Containers, create a deployment, and use your image (or use the API). Add environment variables and custom domains in the dashboard.

More stacks

Python (Django, Flask), Go, and other runtimes are supported via containers: use a Dockerfile and deploy from the dashboard or API. For static sites from any generator (Hugo, Astro, etc.), build locally and deploy the resulting folder via Static Web Apps in the dashboard or the API Reference.