Reference
Reference: deployment sources
Reference: deployment sources
Cloudflare Workers + Pages + Hyperdrive
Source
- Cloudflare docs (search tool): Workers Wrangler configuration, Hyperdrive bindings, Pages Functions bindings, migrate-from-pages.
- Skills:
workers-best-practices,wrangler. - https://developers.cloudflare.com/workers/wrangler/configuration/
- https://developers.cloudflare.com/hyperdrive/
Relevant rule
- Connect to external PostgreSQL from Workers via Hyperdrive; do not open raw origin connections.
- Hyperdrive requires Node.js compatibility. The Wrangler docs show
"compatibility_flags": ["nodejs_compat"]with ahyperdrivebinding{ binding, id }. - Set a recent
compatibility_date. GenerateEnvtypes withwrangler typesafter config changes; never hand-write bindings. Store secrets withwrangler secret put, never in config/source. Enableobservability. - Access the binding as
env.HYPERDRIVE.connectionStringinside the Worker. Optionalenv.HYPERDRIVE_CACHE_DISABLED.connectionStringfor auth/agent fresh reads (see Hyperdrive query caching).
Project decision
- API deploys as a Worker using
deploy/cloudflare/wrangler.api.jsonc(nodejs_compat, Hyperdrive bindingsHYPERDRIVE+HYPERDRIVE_CACHE_DISABLED,observability). - Frontend deploys to Pages (build
apps/web, publishapps/web/dist). BETTER_AUTH_SECRETis a Worker secret;BASE_URLis a Worker var, never committed.deploy/cloudflare/secrets.example.jsonlists key names only. See ../operations/cloudflare.md.
Docker Compose
Source
- Docker Compose: https://docs.docker.com/compose/
@hono/node-server: https://github.com/honojs/node-server
Relevant rule
- Multi-service local/self-hosted deployment: a database service plus app services, wired by service name over an internal network, secrets via env.
Project decision
deploy/docker/docker-compose.ymlrunspostgres,api(Node Hono server), andweb(static build served by a lightweight server). The API uses a plainDATABASE_URLpointing at thepostgresservice — no Hyperdrive locally.deploy/docker/.env.exampledocuments required env. See ../operations/docker.md.