mirror of
https://github.com/basketikun/infinite-canvas.git
synced 2026-07-24 06:54:06 +08:00
28 lines
957 B
Docker
28 lines
957 B
Docker
# 构建 Next.js 前端产物。
|
|
FROM oven/bun:1.3.13 AS web-build
|
|
|
|
WORKDIR /app/web
|
|
COPY web/package.json web/bun.lock ./
|
|
RUN --mount=type=cache,target=/root/.bun/install/cache bun install --frozen-lockfile --cache-dir=/root/.bun/install/cache
|
|
COPY VERSION /app/VERSION
|
|
COPY CHANGELOG.md /app/CHANGELOG.md
|
|
COPY web ./
|
|
RUN bun run build
|
|
|
|
# 运行镜像:只启动 Next.js,AI 请求由浏览器前台直连用户自己的接口。
|
|
FROM node:22-bookworm-slim
|
|
|
|
WORKDIR /app
|
|
COPY VERSION /app/VERSION
|
|
COPY CHANGELOG.md /app/CHANGELOG.md
|
|
COPY --from=web-build /app/web/public /app/web/public
|
|
COPY --from=web-build /app/web/.next/standalone /app/web
|
|
COPY --from=web-build /app/web/.next/static /app/web/.next/static
|
|
ENV NODE_ENV=production
|
|
ENV HOSTNAME=0.0.0.0
|
|
ENV PORT=3000
|
|
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
|
|
|
|
EXPOSE 3000
|
|
CMD ["sh", "-c", "cd /app/web && PORT=3000 node server.js"]
|