Enabled boh dev and production docker images. Added convenience scripts and deconflicted start and dockerstart scripts

This commit is contained in:
Colin Hill 2024-10-24 03:54:45 -04:00
parent 7448666846
commit fdc2f6c0fc
3 changed files with 23 additions and 2 deletions

View File

@ -1,4 +1,5 @@
FROM node:20.18.0 ARG BASE=node:20.18.0
FROM ${BASE} AS base
WORKDIR /app WORKDIR /app
@ -13,4 +14,19 @@ COPY . .
# Expose the port the app runs on # Expose the port the app runs on
EXPOSE 5173 EXPOSE 5173
CMD [ "pnpm", "run", "dev", "--host" ] # Production image
FROM base AS bolt-ai-production
ENV WRANGLER_SEND_METRICS=false
# Pre-configure wrangler to disable metrics
RUN mkdir -p /root/.config/.wrangler && \
echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
RUN npm run build
CMD [ "pnpm", "run", "dockerstart"]
# Development image
FROM base AS bolt-ai-dev
ENTRYPOINT ["pnpm", "run", "dev", "--host"]

View File

@ -15,6 +15,10 @@
"lint": "eslint --cache --cache-location ./node_modules/.cache/eslint .", "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint .",
"lint:fix": "npm run lint -- --fix", "lint:fix": "npm run lint -- --fix",
"start": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings", "start": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings",
"dockerstart": "bindings=$(./bindings.sh) && wrangler pages dev ./build/client $bindings --ip 0.0.0.0 --port 5173 --no-show-interactive-dev-session",
"dockerrun": "docker run -it -d --name bolt-ai-live -p 5173:5173 --env-file .env.local bolt-ai",
"dockerbuild-prod": "docker build -t bolt-ai:production bolt-ai:latest --target bolt-ai-production .",
"dockerbuild": "docker build -t bolt-ai:development -t bolt-ai:latest --target bolt-ai-dev .",
"typecheck": "tsc", "typecheck": "tsc",
"typegen": "wrangler types", "typegen": "wrangler types",
"preview": "pnpm run build && pnpm run start" "preview": "pnpm run build && pnpm run start"

View File

@ -3,3 +3,4 @@ name = "bolt"
compatibility_flags = ["nodejs_compat"] compatibility_flags = ["nodejs_compat"]
compatibility_date = "2024-07-01" compatibility_date = "2024-07-01"
pages_build_output_dir = "./build/client" pages_build_output_dir = "./build/client"
send_metrics = false