Hello Bun¶
A minimal Hono web application running on Bun. TypeScript without a compilation step. One container, one service, no database, no cache.
Overview¶
| Repository | git@gitlab.com:appmecca-sample-apps/hello-bun.git |
| Tech Stack | Bun 1.x / Hono / TypeScript |
| Services | web (port 3000) |
| Database | None |
| Cache | None |
| URL Pattern | https://hello-bun-web.{env}.appmecca.net |
What This App Demonstrates¶
- Deploying a Bun/TypeScript application on AppMecca
- Native TypeScript execution (no compilation step)
- Lightweight container with fast startup
- Health check endpoint pattern
appmecca.yaml¶
containers:
- name: hello-bun
dockerfile: Dockerfile
context: .
deploy:
- name: web
container: hello-bun
port: 3000
health_check:
path: /health
The configuration is identical in structure to any other single-container app. Hono on Bun listens on port 3000.
Step-by-Step Deployment¶
1. Register the app¶
2. Build the container¶
Expected output
Bun builds are fast because there is no compilation step -- Bun runs TypeScript natively.
3. Deploy¶
Expected output
4. Verify¶
Test the endpoint:
Key Concepts¶
Bun runtime¶
Bun is an all-in-one JavaScript/TypeScript runtime that natively executes TypeScript files without a separate compilation step. It includes a package manager, bundler, and test runner. Container images based on oven/bun are small and start quickly.
Hono framework¶
Hono is a small, fast web framework designed for edge runtimes and modern JavaScript runtimes like Bun, Deno, and Cloudflare Workers. It provides Express-like routing with excellent TypeScript support and minimal overhead.
Any language, same workflow
AppMecca does not care what language your application is written in. As long as your container listens on the declared port and responds to health checks, the deployment workflow is identical.
What's Next?¶
- Node Express API -- see the Node.js/Express equivalent
- Hello Rust -- see a compiled language deployment
- Hello Java -- see the same pattern in Java
- App with Database -- add PostgreSQL to your application