| ARG BASE=node:20.18.0 |
| FROM ${BASE} |
|
|
| |
| RUN apt-get update && apt-get install -y git procps |
|
|
| WORKDIR /app |
|
|
| |
| RUN git clone --recurse-submodules https://github.com/stackblitz-labs/bolt.diy ./ |
|
|
| |
| RUN npm install -g corepack@latest |
| RUN corepack enable pnpm && pnpm install --frozen-lockfile |
|
|
| |
| RUN sed -i '/export default defineConfig(/a \ plugins: [remix()],' vite.config.ts && \ |
| sed -i "1i import { vitePlugin as remix } from '@remix-run/dev';" vite.config.ts |
| RUN pnpm add -D @remix-run/dev @remix-run/react @cloudflare/workers-types |
| |
| RUN echo "import { vitePlugin as remix } from '@remix-run/dev';" > vite.config.header.ts && \ |
| cat vite.config.ts >> vite.config.tmp && \ |
| mv vite.config.tmp vite.config.ts |
|
|
| |
| ENV WRANGLER_SEND_METRICS=false \ |
| NODE_OPTIONS="--max-old-space-size=4096" \ |
| TCMALLOC_RELEASE_RATE=0 \ |
| NODE_ENV=production \ |
| MINIFLARE_PERSIST="false" |
|
|
| |
| RUN mkdir -p /root/.config/.wrangler && \ |
| echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json && \ |
| mkdir -p /root/.config/wrangler && \ |
| echo 'workers_dev = true' > /root/.config/wrangler/config.toml |
|
|
| |
| RUN pnpm run build |
|
|
| EXPOSE 5173 |
|
|
| CMD ["pnpm", "run", "dockerstart"] |