Cloudflare Workers
One of the simplest ways to deploy your server is through Cloudflare Workers, which are lightweight, fast, and very inexpensive.
Deployment
Login to Cloudlfare
Using the wrangler CLI login to your Cloudflare account to authorize it
!terminal
bunx wrangler loginAdd wrangler.jsonc File
Create a new file called wrangler.jsonc in the root of your server package and paste in the following template.
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "server",
"main": "src/index.ts",
"compatibility_date": "2025-05-25"
// "compatibility_flags": [
// "nodejs_compat"
// ],
// "vars": {
// "MY_VAR": "my-variable"
// },
// "kv_namespaces": [
// {
// "binding": "MY_KV_NAMESPACE",
// "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
// }
// ],
// "r2_buckets": [
// {
// "binding": "MY_BUCKET",
// "bucket_name": "my-bucket"
// }
// ],
// "d1_databases": [
// {
// "binding": "MY_DB",
// "database_name": "my-database",
// "database_id": ""
// }
// ],
// "ai": {
// "binding": "AI"
// },
// "observability": {
// "enabled": true,
// "head_sampling_rate": 1
// }
}Update package.json Files
Add the following items to your server/package.json file
{
"name": "server",
"version": "0.0.1",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsc",
"dev": "bun run --hot src/index.ts",
"dev": "wrangler dev",
"deploy": "wrangler deploy --minify",
"cf-typegen": "wrangler types --env-interface CloudflareBindings"
},
"dependencies": {
"hono": "^4.7.7",
"shared": "workspace:*"
},
"devDependencies": {
"@types/bun": "latest",
"wrangler": "^4.4.0"
}
}Then update scripts section of the root package.json for your bhvr project
"scripts": {
"dev": "turbo dev",
"dev:client": "turbo dev --filter=client",
"dev:server": "turbo dev --filter=server",
"build": "turbo build",
"build:client": "turbo build --filter=client",
"build:server": "turbo build --filter=server",
"deploy:server": "cd server && bun run deploy",
"lint": "turbo lint",
"type-check": "turbo type-check",
"test": "turbo test",
"postinstall": "turbo build --filter=shared --filter=server"
},Deploy
Install dependencies for your updated server/package.json then run the deploy command
!terminal
bun install
bun run deploy:server