Supabaselaktek,inianAnnouncement
Supabase Edge Runtime: Self-hosted Deno Functions
Summary
Supabase has open-sourced Edge Runtime, an MIT-licensed Rust web server built on Deno Runtime 1.32+ for self-hosting Deno Edge Functions. It serves TypeScript, JavaScript, and WASM functions, and existing Supabase Edge Functions can run without code changes; the release also adds npm modules and Node built-in APIs. The Supabase CLI uses it to serve all local functions with JWT verification, import maps, custom environment variables, hot reload, and defaults of 150 MB memory and 60 seconds execution time. Its architecture combines hyper, a Main Worker in a V8 isolate, and restricted User Workers that handle requests with controllable resource limits, while exposing APIs intended to improve development and deployment parity. A Fly.io demonstration shows deployment, with Digital Ocean and AWS also cited as provider options; the project is in beta with bugs and performance quirks still expected.
Context
Supabase had no easy solution for self-hosting Edge Functions, despite using Deno Deploy to host them globally. Local development was also limited because the CLI could serve only one function at a time, and differences between the local environment and the more restrictive Deno Deploy Runtime could cause functions to work locally but fail after deployment.
Approach / What changed
Edge Runtime is a Rust web server with a custom Deno runtime, distributed under the MIT license. It uses an HTTP server built with hyper, a Main Worker running in a V8 isolate, and restricted User Workers for individual Edge Functions. The Supabase CLI uses it to serve all local functions with JWT verification, import maps, environment variables, hot reload, and configurable-style memory and duration controls. A Docker-based Fly.io demo documents self-hosting, with other providers also possible.
Takeaways
Edge Runtime is MIT-licensed, written in Rust, based on Deno Runtime 1.32+, and supports TypeScript, JavaScript, and WASM functions without requiring changes to existing Edge Functions.
The CLI command supabase functions serve can serve all local Edge Functions, hot-reload changes, verify JWTs, use import maps, and pass custom environment variables.
User Workers run in separate V8 isolates with restricted APIs and default limits of 150 MB memory and 60 seconds of execution time; the beta still has bugs and performance quirks.
Source and freshness
- Source
- supabase.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.