37f5bd8a80
Co-authored-by: Copilot <copilot@github.com>
45 lines
980 B
Docker
45 lines
980 B
Docker
FROM smanx/opencode:latest AS base
|
|
USER root
|
|
RUN apt-get update && apt-get install -y curl unzip && \
|
|
curl -fsSL https://bun.sh/install | bash && \
|
|
ln -s /root/.bun/bin/bun /usr/local/bin/bun
|
|
|
|
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
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
COPY .opencode ./.opencode
|
|
|
|
EXPOSE 8787
|
|
CMD ["bun", "src/server.ts"]
|