Log in

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
CLI Users

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.

  1. Open the Forte Console and click Create Project from the dashboard.
  2. Enter a name for your project (e.g., my-app).
  3. Click Create — your project is ready.
Open Console →

Step 2: Create a Website

A website connects a GitHub repository to Forte's build and hosting pipeline.

  1. Select your project from the sidebar, then navigate to Websites.
  2. Click Create Website to open the creation form.
  3. 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.
  4. (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.
  5. Click Create Website to start the first deployment.
Open Create Website →

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 Live once the URL is reachable; otherwise shows Verifying 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.
Open Websites →
Auto-Deploy

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:

  1. On the website's deployment page, click Deploy Different Commit.
  2. Select the commit from the list.
  3. 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:

  1. From the website's detail page, click Edit.
  2. Expand the Environment Variables or Secrets section.
  3. Add KEY=VALUE pairs as needed. Secrets are encrypted at rest and never displayed once saved.
  4. 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:

  1. Repository connection — Forte connects to your GitHub repository through the Forte GitHub App.
  2. 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.
  3. 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.
  4. Publishing — The build output is published to a global content delivery network. Each push to your configured branch creates a new immutable build.
  5. DNS & TLS — A permanent HTTPS URL is provisioned on the sites.tryforte.dev domain. 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_progress when the build starts, and success or failure when 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.

Next Steps

  • Read the Websites reference for the full configuration model
  • Set up a Service if you need an authenticated back-end API
  • Configure your Monorepo for projects that deploy multiple resources

Search

Search documentation and console pages