Deno Deploy
Deno Deploy is the official hosting platform for Deno, offering global edge deployment.Quick Deploy
Configure in deno.json
deno.json
Environment Variables
Set environment variables in Deno Deploy:Build Configuration
deno.json
Static Site Deployment
deno.json
Standalone Executables
Compile your application to a standalone executable:Basic Compilation
Compile Configuration
deno.json
Include Assets
Docker Deployment
Basic Dockerfile
Dockerfile
Multi-stage Build
Dockerfile
Alpine-based Image (Smaller)
Dockerfile
Docker Compose
docker-compose.yml
Build and Run
Cloud Platforms
AWS Lambda
lambda.ts
Dockerfile.lambda
Google Cloud Run
Dockerfile
Azure Container Instances
Fly.io
fly.toml
Systemd Service (Linux)
Run Deno as a system service:/etc/systemd/system/myapp.service
PM2 (Process Manager)
ecosystem.config.json
Nginx Reverse Proxy
/etc/nginx/sites-available/myapp
Health Checks
Implement health check endpoints:main.ts
Production Checklist
Security
Security
- Set minimal permissions
- Use environment variables for secrets
- Enable HTTPS/TLS
- Set security headers
- Review npm package scripts (allowScripts)
- Use lock files
Performance
Performance
- Enable caching
- Optimize images and assets
- Use CDN for static files
- Implement rate limiting
- Configure appropriate timeout values
Monitoring
Monitoring
- Add health check endpoints
- Set up logging
- Configure error tracking
- Add metrics and monitoring
- Set up alerts
Reliability
Reliability
- Implement graceful shutdown
- Configure restart policies
- Set up backups
- Test deployment process
- Document rollback procedure
Environment Configuration
config.ts
Best Practices
Use lock files
Always commit
deno.lock and use --frozen in productionPin versions
Use exact versions for dependencies in production
Minimize permissions
Grant only the permissions your app needs
Health checks
Implement health and readiness endpoints
Graceful shutdown
Handle shutdown signals properly
Monitor logs
Set up centralized logging and monitoring
Example: Complete Production Setup
main.ts
deno.json