mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-06 22:03:59 -05:00
## Changes 🏗️ - Run the API query generation as part of the `dev` command - update the `README` to reflect so - Add CI job to generate queries and type-check to make sure we are not out of sync - the job is run both in Front-end and Back-end changes - Generate the files via script to load the BE URL dynamically from the env - Remove generated files from Git - rename the `type-check` command to `types` ## Checklist 📋 ### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] CI passes - [x] `README` updates make sense #### For configuration changes: None --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
41 lines
1.1 KiB
Docker
41 lines
1.1 KiB
Docker
# Base stage for both dev and prod
|
|
FROM node:21-alpine AS base
|
|
WORKDIR /app
|
|
RUN corepack enable
|
|
COPY autogpt_platform/frontend/package.json autogpt_platform/frontend/pnpm-lock.yaml ./
|
|
RUN --mount=type=cache,target=/root/.local/share/pnpm pnpm install --frozen-lockfile
|
|
|
|
# Build stage for prod
|
|
FROM base AS build
|
|
|
|
COPY autogpt_platform/frontend/ .
|
|
RUN if [ -f .env ]; then \
|
|
cat .env.default .env > .env.merged && mv .env.merged .env; \
|
|
else \
|
|
cp .env.default .env; \
|
|
fi
|
|
RUN pnpm run generate:api
|
|
RUN pnpm build
|
|
|
|
# Prod stage - based on NextJS reference Dockerfile https://github.com/vercel/next.js/blob/64271354533ed16da51be5dce85f0dbd15f17517/examples/with-docker/Dockerfile
|
|
FROM node:21-alpine AS prod
|
|
ENV NODE_ENV=production
|
|
ENV HOSTNAME=0.0.0.0
|
|
WORKDIR /app
|
|
|
|
RUN addgroup --system --gid 1001 nodejs
|
|
RUN adduser --system --uid 1001 nextjs
|
|
|
|
RUN mkdir .next
|
|
RUN chown nextjs:nodejs .next
|
|
|
|
COPY --from=build --chown=nextjs:nodejs /app/.next/standalone ./
|
|
COPY --from=build --chown=nextjs:nodejs /app/.next/static ./.next/static
|
|
|
|
COPY --from=build /app/public ./public
|
|
|
|
USER nextjs
|
|
|
|
EXPOSE 3000
|
|
CMD ["node", "server.js"]
|