Skip to content
sandros94Public

About

Self-hosted serverless deployment platform for JavaScript applications. Celld made simple

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

scafo

Self-hosted serverless deployment platform for JavaScript applications.

Scafo stores its registry as JSON objects in an S3-compatible bucket and mutates them with conditional writes. It has no database or consensus protocol. One binary provides both the node daemon (scafo sail) and the CLI. Celld runs the deployed code; Caddy or Traefik pulls the fleet's routing from the node next to it.

Documentation: scafo.dev

  • Docs — concepts, installation, guides, operations
  • Configuration — every setting, environment variable and flag
  • Deploy — Docker Compose, bare metal, VPS mesh, K3s/RKE2, Coolify, Dokploy, container image
  • Reference — CLI, node API, ingress protocol, Caddy modules, registry layout, errors

Install

npm install --global scafo

Linux node: scripts/install.sh downloads and verifies Scafo, Celld, Caddy and esbuild, and writes systemd units and /etc/scafo when run as root. Container image: ghcr.io/sandros94/scafo:<version> (:edge tracks main).

Quickstart

The self-contained playgrounds need no external DNS or cloud credentials:

Production recipes live in examples/. The Caddy ingress is scafo-ingress.

Security

Read SECURITY.md before production use: trusted workload model, public and private API surfaces, Celld limitations, bucket and lease requirements.

Development

local development
  • Clone this repository.
  • Install Node.js >=24.17.0.
  • Enable Corepack with corepack enable.
  • Run pnpm install.
  • Run pnpm build.
  • Run pnpm test.
  • Run pnpm lint.
  • Run pnpm typecheck.

Credits

Celld provides application runtime; Caddy and Traefik provide ingress; and WireGuard provides private network transport. H3, citty, and confbox support the API and CLI; unjwt, uns3, and tar support authentication, storage, and archives; esbuild bundles Worker entries on the node; tavolato renders CLI tables.

License

Apache-2.0

About

Self-hosted serverless deployment platform for JavaScript applications. Celld made simple

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages