Basecamp Sherpa
AppsWebsite

Deploy

Build and push the Website Docker image to ghcr.io.

Quick deploy

pnpm website:deploy

Builds the Website Docker image and pushes it to ghcr.io/yannickarmspach/sherpa-website:latest. Railway automatically pulls the updated image.

How it works

Build

The Dockerfile at apps/website/Dockerfile runs a multi-stage build:

  1. deps — installs pnpm dependencies (website + shared UI)
  2. build — runs pnpm --filter web build (Vite SSR bundle with Fumadocs)
  3. runtime — slim Node 22 image running node serve.js on port 3002

Push

The image is pushed to GitHub Container Registry (private):

ghcr.io/yannickarmspach/sherpa-website:latest

Pull

Railway is configured to pull from ghcr.io with registry credentials. After pushing, Railway detects the new image and redeploys automatically.

Prerequisites

  • Docker with buildx enabled
  • Authenticated with ghcr.io: docker login ghcr.io
  • Railway service configured to pull from ghcr.io/yannickarmspach/sherpa-website:latest

The Website has no environment variables. Just deploy and set up a domain in Railway.