Web
Set up and run the Reloop marketing web app locally.
Public marketing site — landing pages, pricing, and product content.
Overview
| Property | Value |
|---|---|
| Directory | apps/frontend/web |
| Port | 3000 |
| Local URL | https://local.reloop.sh |
| Direct URL | http://localhost:3000 |
| Stack | Next.js · React 19 · Tailwind CSS |
Quick start
From the monorepo root (after bun setup):
bun fe:web:dev
Or start every frontend together:
bun frontend:dev
Turbopack serves the app on port 3000. Prefer https://local.reloop.sh when Caddy is running.
Environment
Committed local defaults live in apps/frontend/web/.env (and .env.dev). Fresh clones already have them; bun env:setup / bun setup recreate or merge missing keys.
NEXT_PUBLIC_URL=https://local.reloop.sh
# Must match TRACKING_SECRET in the mail backend and REDIRECT_SECRET in auth/email backends
REDIRECT_SECRET=reloop_tracking_secret_default_123
# Rybbit analytics (optional)
NEXT_PUBLIC_RYBBIT_HOST=https://app.rybbit.io
NEXT_PUBLIC_RYBBIT_SITE_ID=reloop-web
| Variable | Required | Default |
|---|---|---|
NEXT_PUBLIC_URL | No | https://reloop.sh — canonical site URL for metadata and OG tags |
REDIRECT_SECRET | No | Shared redirect/tracking secret for local mail links |
NEXT_PUBLIC_RYBBIT_HOST | No | Rybbit analytics host |
NEXT_PUBLIC_RYBBIT_SITE_ID | No | Rybbit site identifier |
Commands
| Command | Description |
|---|---|
bun fe:web:dev | Start dev server with Turbopack |
bun run --filter=fe-web build | Compile production bundle |
bun run --filter=fe-web start | Run production build |
bun run --filter=fe-web lint | Run ESLint checks |
Next
Was this page helpful?