Deploying Websites
This guide walks you through deploying a website to Forte Platforms from start to finish.
Prerequisites
- A Forte Platforms account
- A GitHub repository with your website's source code
- The Forte GitHub App installed on your repository
If you prefer using the CLI, make sure you have the Forte CLI installed before continuing.
Step 1: Create a Project
Projects group related resources together. You'll need at least one project before creating a website.
- Open the Forte Console and click Create Project from the dashboard.
- Enter a name for your project (e.g.,
my-app). - Click Create — your project is ready.
Step 2: Create a Website
A website connects a GitHub repository to Forte's build and hosting pipeline.
- Select your project from the sidebar, then navigate to Websites.
- Click Create Website to open the creation form.
- Fill in the website details:
- Website Name — A unique name within the project (e.g.,
marketing-site). - GitHub Repository — Select from repositories where the Forte GitHub App is installed.
- Build trigger — Choose On every push to branch for continuous deployment, or On GitHub release published for tagged-release deploys.
- GitHub Branch — The branch to deploy from (typically
main). Required when the trigger is push-based.
- Website Name — A unique name within the project (e.g.,
- (Optional) Expand the Advanced section to override Forte's framework auto-detection by setting the build command, output directory, install command, package manager, or Node.js version.
- Click Create Website to start the first deployment.
Step 3: Monitor Your Deployment
Once created, Forte starts the first build automatically. You can follow along in real time on the website's detail page:
- Public URL — Shown at the top once the build is live (
https://{websiteId}.sites.tryforte.dev). - Domain status — Shows
Liveonce the URL is reachable; otherwise showsVerifying URL…while the CDN propagates. - Detected framework — Forte fills this in after the first successful build (e.g.,
Next.js,Vite,Astro). - Recent deployments — A timeline of each build with logs and status.
Once configured, Forte automatically deploys when you push to your configured branch — or when you publish a GitHub release, depending on your trigger. No further action is needed for routine deployments.
Step 4: Deploy a Specific Commit (Optional)
To redeploy a specific commit — for example, to roll back to a previous build:
- On the website's deployment page, click Deploy Different Commit.
- Select the commit from the list.
- Click Deploy to start the build.
You can also click Retry Deployment on any past deployment to rebuild it as-is.
Setting Environment Variables and Secrets
To add or update environment variables and secrets:
- From the website's detail page, click Edit.
- Expand the Environment Variables or Secrets section.
- Add
KEY=VALUEpairs as needed. Secrets are encrypted at rest and never displayed once saved. - Click Save — Forte will trigger a new build that picks up the new values.
The FORTE_ and AWS_ prefixes are reserved — you cannot create custom variables that start with either.
Monorepo Support
If your repository contains multiple projects (e.g., a Next.js app in apps/web/ and a Node API in apps/api/), set the Subdirectory field when creating the website. Forte will build from that subdirectory only.
For repositories where you want to deploy both a website and a Service from the same repo, create both resources separately and configure each one's subdirectory accordingly. See the Monorepo guide for more.
What Happens Behind the Scenes
When you create a website, Forte runs a multi-stage pipeline:
- Repository connection — Forte connects to your GitHub repository through the Forte GitHub App.
- Framework detection — Forte auto-detects your framework. Next.js, Vite, Astro, Create React App, Vue, Angular, plain HTML, and others are recognized out of the box. You can override the detection by setting the build command and output directory manually.
- Build — Your code is built in a Linux build environment using your selected Node.js version and package manager. Environment variables and secrets are available during the build.
- Publishing — The build output is published to a global content delivery network. Each push to your configured branch creates a new immutable build.
- DNS & TLS — A permanent HTTPS URL is provisioned on the
sites.tryforte.devdomain. This URL never changes for the lifetime of the website.
Each step is logged and visible on the website's deployment detail page.
GitHub Deployment Status
Like services, websites report deployment status back to your GitHub repository using GitHub Deployments. For each deployment, Forte:
- Creates a GitHub Deployment linked to the commit (or branch HEAD for manual triggers).
- Posts status updates as the pipeline progresses:
in_progresswhen the build starts, andsuccessorfailurewhen it completes. - Links back to the Forte Console — each status includes a link to the deployment detail page with full build logs.
The deployment environment name in GitHub is set to your website name, so you can track deployment history per website directly in your repository's Environments tab.