chore: add Dockerfile and dockerignore for production build

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-05-18 08:39:57 +07:00
co-authored by Claude Opus 4.7
parent 2c1c5ad638
commit d7f5180eab
2 changed files with 39 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
node_modules
.git
.github
docs
logs
dist
.env
+32
View File
@@ -0,0 +1,32 @@
# Stage 1: Builder
FROM oven/bun:1.1-alpine AS builder
WORKDIR /usr/src/app
# Install dependencies (including devDependencies for build and lint)
COPY package.json tsconfig.json biome.json ./
RUN bun install
# Copy src and test directories
COPY src ./src
COPY test ./test
# Run lint and build
RUN bun run lint
RUN bun run build
# Stage 2: Runner
FROM oven/bun:1.1-slim AS runner
WORKDIR /usr/src/app
# Copy built files, schema, and package.json
COPY --from=builder /usr/src/app/dist/index.js ./dist/index.js
COPY schema.sql ./
COPY package.json ./
# Expose port
EXPOSE 3000
# Start server
CMD ["bun", "dist/index.js"]