# syntax=docker/dockerfile:1.7 FROM oven/bun:1.3.13 AS deps WORKDIR /app COPY package.json bun.lock ./ COPY .opencode/package.json .opencode/bun.lock ./.opencode/ RUN bun install --frozen-lockfile FROM deps AS build WORKDIR /app COPY tsconfig.json opencode.json README.md ./ COPY src ./src COPY .opencode ./.opencode RUN bun run check FROM oven/bun:1.3.13 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"]