a9bab86d64
Co-authored-by: Copilot <copilot@github.com>
35 lines
693 B
Docker
35 lines
693 B
Docker
FROM oven/bun:canary-slim AS base
|
|
|
|
FROM base AS deps
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json bun.lock ./
|
|
COPY .opencode/package.json .opencode/bun.lock ./.opencode/
|
|
RUN bun install --frozen-lockfile
|
|
|
|
FROM base AS build
|
|
WORKDIR /app
|
|
|
|
COPY tsconfig.json opencode.json README.md ./
|
|
COPY src ./src
|
|
COPY .opencode ./.opencode
|
|
RUN bun run check
|
|
|
|
FROM base AS runner
|
|
WORKDIR /app
|
|
|
|
ENV NODE_ENV=production
|
|
ENV HOST=0.0.0.0
|
|
ENV PORT=8787
|
|
|
|
COPY --from=deps /app/node_modules ./node_modules
|
|
COPY --from=deps /app/.opencode/node_modules ./.opencode/node_modules
|
|
COPY package.json bun.lock ./
|
|
COPY tsconfig.json opencode.json ./
|
|
COPY src ./src
|
|
COPY .opencode ./.opencode
|
|
|
|
EXPOSE 8787
|
|
CMD ["bun", "src/server.ts"]
|