1- FROM node:21.3.0 as base
1+ FROM node:21.3.0 AS base
22ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
33RUN echo "Installing system dependencies (git+puppeteer deps)..." \
44 && apt-get update \
@@ -16,32 +16,32 @@ RUN npm i -g ts-node
1616USER node
1717WORKDIR /app
1818
19- FROM base as prepare_system
19+ FROM base AS prepare_system
2020USER root
2121RUN echo "Installing system deps..." && apt-get -y update && apt-get -y install r-base python3-dev python3-pip python3-venv pkg-config libhdf5-dev && rm -rf /var/lib/apt/lists/*
2222ENV PYTHON_BIN="python3"
2323USER node
2424
25- FROM prepare_system as prepare_r
25+ FROM prepare_system AS prepare_r
2626USER root
2727COPY --chown=node:node cli/setup.R /app/setup.R
2828RUN echo "Running setup.R..." && R -e "source('/app/setup.R')" && rm /app/setup.R
2929USER node
3030
31- FROM base as prepare_src
31+ FROM base AS prepare_src
3232COPY --chown=node:node . /app
3333
34- FROM prepare_src as prepare_package_json
34+ FROM prepare_src AS prepare_package_json
3535RUN find /app -type d -name "node_modules" -exec rm -rf {} + \
3636 && find /app -type f -a \! \( -name "package.json" -o -name "package-lock.json" -o -name ".puppeteerrc.cjs" \) -delete \
3737 && find /app -type d -empty -delete
3838
39- FROM prepare_src as prepare_requirements_txt
39+ FROM prepare_src AS prepare_requirements_txt
4040RUN find /app -type d -name "node_modules" -exec rm -rf {} + \
4141 && find /app -type f -a \! \( -name "requirements.txt" -o -name "enumerate-requirements.ts" \) -delete \
4242 && find /app -type d -empty -delete
4343
44- FROM base as prepare_npm_i
44+ FROM base AS prepare_npm_i
4545COPY --from=prepare_package_json /app /app
4646RUN echo "Installing NodeJS dependencies..." && npm i
4747
@@ -56,18 +56,18 @@ RUN mv /app/requirements.txt /tmp/requirements.txt \
5656 && chown node:node /app/requirements.txt
5757USER node
5858
59- FROM prepare_src as prepare_build
59+ FROM prepare_src AS prepare_build
6060COPY --from=prepare_npm_i /app /app
6161RUN echo "Building app..." && LANDING_PAGE=/graph/extend PUBLIC_URL=https://playbook-workflow-builder.cloud npm run build
6262
63- FROM prepare_system as prepare_python
63+ FROM prepare_system AS prepare_python
6464COPY --from=prepare_requirements_txt_complete /app /app
6565USER root
6666RUN echo "Installing python dependencies..." && python3 -m pip install --break-system-packages -r /app/requirements.txt && rm /app/requirements.txt
6767USER node
6868
6969# TARGET: dev -- development environment with dependencies to run dev tools
70- FROM prepare_system as dev
70+ FROM prepare_system AS dev
7171USER root
7272RUN echo "Installing dev deps..." \
7373 && apt-get -y update \
@@ -98,13 +98,13 @@ COPY --from=prepare_python /usr/local/lib/ /usr/local/lib/
9898CMD ["/bin/bash" ]
9999
100100# TARGET: app_minimal -- production server with dependencies to run just the webserver
101- FROM base as app_minimal
101+ FROM base AS app_minimal
102102COPY --from=prepare_build /app /app
103103ENV PORT 3000
104104CMD ["npm" , "run" , "start" ]
105105
106106# TARGET: app -- production server with dependencies to run everything
107- FROM prepare_system as app
107+ FROM prepare_system AS app
108108COPY --from=prepare_r /usr/local/lib/ /usr/local/lib/
109109COPY --from=prepare_python /usr/local/lib/ /usr/local/lib/
110110COPY --from=prepare_build /app /app
0 commit comments