Skip to main content

Local setup

Vessl runs as a standard Vite project. The app boots even with no keys configured — analytics, Sentry, Amplitude, Clarity, Google OAuth, FilesHub, and every Cloudflare Worker call silently no-op until their environment variables are set. Only the four core VITE_FIREBASE_* keys are needed to enable Firestore and Auth.

Prerequisites

You need Node.js 20 or newer (22 is recommended) and Yarn. Install dependencies and start the dev server:

# Install dependencies
yarn install

# Copy the env template and fill in your Firebase keys
cp .env.example .env.local

# Start the dev server on http://localhost:7420
yarn dev

The dev server binds to port 7420, a project-specific port chosen to avoid clashing with other local apps.

Required environment variables

Four keys are required for the app to read and write data. The rest are optional and degrade gracefully when absent.

KeyRequiredPurpose
VITE_FIREBASE_API_KEYYesFirebase web API key
VITE_FIREBASE_AUTH_DOMAINYesAuth domain
VITE_FIREBASE_PROJECT_IDYesFirestore project
VITE_FIREBASE_APP_IDYesFirebase app id
VITE_SENTRY_DSNNoError reporting
VITE_AMPLITUDE_API_KEYNoProduct analytics
VITE_CLARITY_PROJECT_IDNoSession insight
VITE_GOOGLE_CLIENT_IDNoGoogle OAuth / Drive
VITE_FILESHUB_API_BASE, VITE_FILESHUB_API_KEYNoAdmin file uploads
VITE_WORKER_* / VITE_*_URLNoCloudflare Worker endpoints

The full, annotated list lives in .env.example, where every key carries a [REQUIRED] or [OPTIONAL] tag and a one-line reason.

Build and verify

# Type-check the project
yarn type-check

# Production build (runs tsc then vite build)
yarn build

# Lint
yarn lint

A clean checkout type-checks, lints, and builds without errors. The dev server is something you start yourself; the build commands above are the verification gates.

Android (optional)

The Android project is initialized under android/. After a web build, sync the native project and open it:

yarn build
yarn cap:sync # cap sync android
yarn cap:open # opens Android Studio

Signing and the Play Console upload are manual steps documented in Android deployment.