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"]