2024-07-24 09:01:22 +00:00
|
|
|
# Base stage for both dev and prod
|
|
|
|
FROM node:21-alpine AS base
|
|
|
|
WORKDIR /app
|
2024-09-20 14:50:43 +00:00
|
|
|
COPY autogpt_platform/frontend/package.json autogpt_platform/frontend/yarn.lock ./
|
2024-07-24 09:01:22 +00:00
|
|
|
RUN yarn install --frozen-lockfile
|
|
|
|
|
|
|
|
# Dev stage
|
|
|
|
FROM base AS dev
|
|
|
|
ENV NODE_ENV=development
|
2024-09-20 14:50:43 +00:00
|
|
|
COPY autogpt_platform/frontend/ .
|
2024-07-24 09:01:22 +00:00
|
|
|
EXPOSE 3000
|
2024-09-10 13:46:22 +00:00
|
|
|
CMD ["yarn", "run", "dev"]
|
2024-07-24 09:01:22 +00:00
|
|
|
|
|
|
|
# Build stage for prod
|
|
|
|
FROM base AS build
|
2024-09-20 14:50:43 +00:00
|
|
|
COPY autogpt_platform/frontend/ .
|
2024-10-11 14:51:15 +00:00
|
|
|
RUN yarn build
|
2024-07-24 09:01:22 +00:00
|
|
|
|
|
|
|
# Prod stage
|
|
|
|
FROM node:21-alpine AS prod
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
COPY --from=build /app/package.json /app/yarn.lock ./
|
|
|
|
RUN yarn install --frozen-lockfile
|
|
|
|
|
|
|
|
COPY --from=build /app/.next ./.next
|
|
|
|
COPY --from=build /app/public ./public
|
2024-08-09 08:59:39 +00:00
|
|
|
COPY --from=build /app/next.config.mjs ./next.config.mjs
|
2024-07-24 09:01:22 +00:00
|
|
|
|
|
|
|
EXPOSE 3000
|
2024-10-11 14:51:15 +00:00
|
|
|
CMD ["yarn", "start"]
|