Skip to main content
hookfish init can scaffold five runtime targets. Choose the runtime that fits your existing infrastructure, then choose production storage independently where the target supports it. Create a project with an explicit target:
Every scaffold provides:
  • pnpm dev for the backend and packaged dashboard
  • pnpm dev:server for only the runtime-native backend
  • hookfish.config.ts or an equivalent Worker entrypoint
  • A gitignored local environment file with an encryption key and development broker key

Choose storage deliberately

PGlite is a good local default and can serve a single persistent process. Use PostgreSQL when the runtime has an ephemeral filesystem, runs multiple instances, or needs established backup and recovery tooling. On Cloudflare Workers, use Hyperdrive for PostgreSQL connections. The SQLite-backed Durable Objects adapter is experimental and is not the advised production storage path.

Separate the dashboard from the backend

The dashboard is static. You can serve it with hookfish serve and proxy /api to the broker, or deploy it separately by setting VITE_BACKEND_URL during the frontend build. Cross-origin deployments must also configure HOOKFISH_FRONTEND_URL and the corresponding trusted origin.
Keep the operator dashboard and backend on one origin when possible. This reduces the CORS configuration needed for administrative requests.