mirror of
https://github.com/different-ai/openwork
synced 2026-04-25 17:15:34 +02:00
2.2 KiB
2.2 KiB
OpenWork Cloud App (packages/web)
Frontend for app.openwork.software.
What it does
- Signs up / signs in users against Den service auth.
- Launches cloud workers via
POST /v1/workers. - Handles paywall responses (
402 payment_required) and shows Polar checkout links. - Uses a Next.js proxy route (
/api/den/*) to reachapi.openwork.softwarewithout browser CORS issues. - Uses a same-origin auth proxy (
/api/auth/*) so GitHub OAuth callbacks can land onapp.openwork.software.
Local development
- Install workspace deps from repo root:
pnpm install - Run the app:
pnpm --filter @different-ai/openwork-web dev - Open:
http://localhost:3005
Optional env vars
DEN_API_BASE(server-only): upstream API base used by proxy route.- default:
https://api.openwork.software
- default:
DEN_AUTH_ORIGIN(server-only): Origin header sent to Better Auth endpoints when the browser request does not include one.- default:
https://app.openwork.software
- default:
DEN_AUTH_FALLBACK_BASE(server-only): fallback Den origin used ifDEN_API_BASEserves an HTML/5xx error.- default:
https://den-control-plane-openwork.onrender.com
- default:
NEXT_PUBLIC_OPENWORK_APP_CONNECT_URL(client): Base URL for "Open in App" links.- Example:
https://openwork.software/app - The web panel appends
/connect-remoteand injects worker URL/token params automatically.
- Example:
NEXT_PUBLIC_OPENWORK_AUTH_CALLBACK_URL(client): Canonical URL used for GitHub auth callback redirects.- default:
https://app.openwork.software - this host must serve
/api/auth/*; the included proxy route does that
- default:
NEXT_PUBLIC_POSTHOG_KEY(client): PostHog project key used for Den analytics.- set this to the same project key used by
packages/landing
- set this to the same project key used by
NEXT_PUBLIC_POSTHOG_HOST(client): PostHog host URL.- default:
https://us.i.posthog.com
- default:
LOOPS_API_KEY(server-only): Loops API key for signup contact capture.
Deploy on Vercel
Recommended project settings:
- Root directory:
packages/web - Framework preset: Next.js
- Build command:
next build - Output directory:
.next - Install command:
npm install(orpnpm install)
Then assign custom domain:
app.openwork.software