Self-hosted version of Deno Deploy. Runs serverless functions and full Javascript/Typescript applications with production-grade sandboxing and performance using Firecracker VMs.
docker run -it -p 8080:8080 --privileged ghcr.io/denoland/deployd
docker run -it -p 8080:8080 --privileged ghcr.io/denoland/deployd --help
- JavaScript/TypeScript code runs in isolated Firecracker VMs
- Deployments managed via app.deno.com or
deno deploy
command - S3 integration for deployment artifact storage
Deploy applications by:
- Linking GitHub repositories via app.deno.com
- Creating playgrounds on app.deno.com
- Using
deno deploy
command in your project (requires Deno 2.4.1+)
On first run, deployd displays registration steps for your Deno Deploy account.
Deployments can be stored in three ways:
- S3 Storage (recommended for production): Set AWS credentials and specify bucket with --s3-bucket flag
- Local Storage: Mount
/data
directory to persist deployments locally - Ephemeral Storage (default): Deployments stored in memory, lost when container stops
Storage configuration:
AWS_ACCESS_KEY_ID # S3 access key
AWS_SECRET_ACCESS_KEY # S3 secret key
S3_ENDPOINT # Optional S3-compatible endpoint
--s3-bucket=<bucket> # S3 bucket name
Performance tuning:
--isolate-threads=<n> # Number of isolate threads
# (auto-detected if unspecified, min 8)
Basic usage
docker run -it -p 8080:8080 --privileged ghcr.io/denoland/deployd
Alternative without --privileged:
docker run -it -p 8080:8080 --cap-add CAP_SYS_ADMIN --device /dev/net/tun ghcr.io/denoland/deployd
With S3 storage:
docker run -it -p 8080:8080 --privileged \
-e AWS_ACCESS_KEY_ID=your_key \
-e AWS_SECRET_ACCESS_KEY=your_secret \
ghcr.io/denoland/deployd --s3-bucket=your-bucket
With local storage:
docker run -it -p 8080:8080 -v /path/to/data:/data --privileged ghcr.io/denoland/deployd
With custom thread count:
docker run -it -p 8080:8080 --privileged ghcr.io/denoland/deployd --isolate-threads=16
- Docker with privileged mode, or
CAP_SYS_ADMIN
capability and tun device - Port 8080 available for web interface
- For S3 storage: valid AWS credentials or S3-compatible storage access