bolt / Dockerfile
adowu's picture
Update Dockerfile
00c67bf verified
ARG BASE=node:20.18.0
FROM ${BASE}
# Instalacja wymaganych pakietów
RUN apt-get update && apt-get install -y git procps
WORKDIR /app
# Klonowanie repozytorium z submodułami
RUN git clone --recurse-submodules https://github.com/stackblitz-labs/bolt.diy ./
# Instalacja zależności
RUN npm install -g corepack@latest
RUN corepack enable pnpm && pnpm install --frozen-lockfile
# Aktualizacja konfiguracji Remix
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
# Konfiguracja future flags dla Remix
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
# Zmienne środowiskowe
ENV WRANGLER_SEND_METRICS=false \
NODE_OPTIONS="--max-old-space-size=4096" \
TCMALLOC_RELEASE_RATE=0 \
NODE_ENV=production \
MINIFLARE_PERSIST="false"
# Konfiguracja Wrangler
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
# Build aplikacji
RUN pnpm run build
EXPOSE 5173
CMD ["pnpm", "run", "dockerstart"]