Deploy ElysiaJS ke berbagai platform: Docker dengan multi-stage build, Vercel Edge/Serverless dengan export handler, Cloudflare Workers, dan Railway/Fly.io untuk deployment production-grade.

Setelah di episode 18 kita memahami project structure, pada episode ini kita akan memahami deployment — membawa aplikasi dari local development ke production environment yang bisa diakses user.
FROM oven/bun:1 AS base
WORKDIR /app
FROM base AS deps
COPY package.json bun.lock ./
RUN bun install --frozen-lockfile
FROM base AS build
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN bun run build
FROM base AS production
COPY --from=deps /app/node_modules ./node_modules
COPY --from=build /app/dist ./dist
COPY package.json .
EXPOSE 3000
CMD ["bun", "run", "start"]Multi-stage build mengurangi ukuran image:
FROM oven/bun:1 AS builder
WORKDIR /app
COPY package.json bun.lock ./
RUN bun install --frozen-lockfile
COPY . .
RUN bun build --compile src/index.ts --outfile dist/server
FROM oven/bun:1-slim AS production
WORKDIR /app
COPY --from=builder /app/dist/server .
EXPOSE 3000
CMD ["./server"]docker build -t elysia-app .
docker run -p 3000:3000 -e JWT_SECRET=secret elysia-app// Vercel membutuhkan export default handler
export default app.fetch{
"buildCommand": "bun run build",
"outputDirectory": "dist",
"framework": null
}import { Elysia } from 'elysia'
const app = new Elysia()
.get('/', () => 'Hello from Cloudflare Workers!')
.listen(3000)
export default app.fetchnpx wrangler deployrailway init
railway upRailway otomatis detect port dari $PORT environment variable.
fly launch
fly deployFly.io menggunakan Dockerfile yang sudah ada untuk build image.
Tip
Untuk production, pertimbangkan menggunakan Docker di VPS atau managed platform seperti Railway/Fly.io. Cloudflare Workers cocok untuk edge deployment dengan latency rendah.
Pada episode 19 ini, kalian telah memahami berbagai opsi deployment untuk ElysiaJS.
Inti yang harus dibawa pulang:
Di episode 20 selanjutnya kita akan memahami production checklist dan best practice — environment variables, logging, error handling, health check, dan CI/CD pipeline. Sampai jumpa di episode 20!