Dashboard

Set up and run the Reloop dashboard app locally.

Main workspace app — campaigns, contacts, templates, analytics, and settings.

Run bun setup once from the monorepo root before starting individual apps. The dashboard needs auth (and usually the rest of bun backend:dev or bun dev).

Overview

PropertyValue
Directoryapps/frontend/dashboard
Port3001
Local URLhttps://local.reloop.sh/dashboard
Direct URLhttp://localhost:3001/dashboard
StackTanStack Start · Vite · React 19 · Tailwind CSS

Quick start

From the monorepo root (after bun setup):

bun fe:dashboard:dev

Or start every frontend together:

bun frontend:dev

Vite HMR serves the app on port 3001 with base path /dashboard.

Open https://local.reloop.sh/dashboard, not localhost:3001, so session cookies work with auth. Local OTP is 888888.

Environment

No committed .env is required for local same-origin use via Caddy. The auth client falls back to the browser origin when public URL vars are unset.

Optional overrides:

# Optional locally — browser origin is used when unset (via Caddy at local.reloop.sh).
# Required at Docker/image *build* time for production if you cannot rely on same-origin.
# NEXT_PUBLIC_URL=https://local.reloop.sh
# VITE_PUBLIC_URL=https://local.reloop.sh

NEXT_PUBLIC_WS_URL="wss://local.reloop.sh"

API calls use relative paths (/api/*) through Caddy, so no public API URL is required.

Auth (@reloop/auth/client) resolves the public origin as: NEXT_PUBLIC_URL / VITE_PUBLIC_URLwindow.location.origin. For production Docker images you can pass --build-arg NEXT_PUBLIC_URL=https://your-domain.com; if omitted, the browser origin is used so same-host reverse-proxy deploys work without a rebuild.

VariableRequiredDefault
NEXT_PUBLIC_URL / VITE_PUBLIC_URLNoBrowser origin (window.location.origin)
NEXT_PUBLIC_WS_URLNoCurrent host (template collaboration WebSocket)

Commands

CommandDescription
bun fe:dashboard:devStart Vite + TanStack Start dev server
bun run --filter=fe-dashboard buildCompile production bundle (Nitro)
bun run --filter=fe-dashboard previewPreview production build
bun run --filter=fe-dashboard typecheckRun TypeScript checks
bun run --filter=fe-dashboard testRun Vitest

Next

Was this page helpful?

Edit this page