diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..469f765564 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +FROM node:20-alpine AS frontend +RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app + +WORKDIR /home/node/app +COPY ./frontend/package*.json ./ +USER node +RUN npm ci +COPY --chown=node:node ./frontend/ ./frontend +COPY --chown=node:node ./static/ ./static +WORKDIR /home/node/app/frontend +RUN NODE_OPTIONS=--max_old_space_size=8192 npm run build + +FROM python:3.11-alpine +RUN apk add --no-cache --virtual .build-deps \ + build-base \ + libffi-dev \ + openssl-dev \ + curl \ + && apk add --no-cache \ + libpq + +COPY requirements.txt /usr/src/app/ +RUN pip install --no-cache-dir -r /usr/src/app/requirements.txt \ + && rm -rf /root/.cache + +COPY . /usr/src/app/ +COPY --from=frontend /home/node/app/static /usr/src/app/static/ +WORKDIR /usr/src/app +EXPOSE 8000 + +CMD ["gunicorn" , "-b", "0.0.0.0:80", "app:app"] diff --git a/WebApp.Dockerfile b/WebApp.Dockerfile index d902410534..469f765564 100644 --- a/WebApp.Dockerfile +++ b/WebApp.Dockerfile @@ -26,6 +26,6 @@ RUN pip install --no-cache-dir -r /usr/src/app/requirements.txt \ COPY . /usr/src/app/ COPY --from=frontend /home/node/app/static /usr/src/app/static/ WORKDIR /usr/src/app -EXPOSE 80 +EXPOSE 8000 -CMD ["gunicorn" , "-b", "0.0.0.0:80", "app:app"] \ No newline at end of file +CMD ["gunicorn" , "-b", "0.0.0.0:80", "app:app"]