chore: add Dockerfile and dockerignore for production build
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
2c1c5ad638
commit
d7f5180eab
@@ -0,0 +1,7 @@
|
||||
node_modules
|
||||
.git
|
||||
.github
|
||||
docs
|
||||
logs
|
||||
dist
|
||||
.env
|
||||
+32
@@ -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"]
|
||||
Reference in New Issue
Block a user