Skip to content

cschomburg/workerbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workerbox

Small selfhosted environment to deploy Service Worker-like functions similar to Cloudflare Workers and Deno Deploy.

Goals:

  • Have common functionality: deploy multiple workers via a compatible API, get a route
  • Be simple: self-contained with no complicated configuration
  • For personal use: no load balancing, not "web scale", no performance guarantees

Quickstart

# Install workerbox
deno install -qAf --unstable https://raw.githubusercontent.com/cschomburg/workerbox/master/workerbox.ts

# Run the server
workerbox serve

# Publish a worker
cd examples/hello-world
workerbox publish hello-world ./worker.js

Environment variables

  • WORKERBOX_ADDR=0.0.0.0:8000: server listen address
  • WORKERBOX_URL=http://127.0.0.1:8000: server for client to connect to
  • WORKERBOX_DOMAIN=workers.local: wildcard domain to use for worker routes
  • WORKERBOX_DB=./workerbox.db: path to database file

Roadmap

  • publish/update a worker script
  • rudimentary routing
  • commandline client
  • persistence via SQLite
  • manage secret variables
  • KV storage
  • manage routes
  • WASM WASI support
  • external runners / routers
  • rewrite everything in Rust

About

Selfhosted environment for Deno/JS workers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages