Npm-less images
This commit is contained in:
parent
e80a20d61f
commit
ba053490dc
|
@ -18,12 +18,12 @@ ENV TOP_LEVEL_PATH=/
|
||||||
|
|
||||||
# handle node-gyp
|
# handle node-gyp
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends g++ make python3
|
&& apt-get install -y --no-install-recommends g++ make python3 jq
|
||||||
RUN yarn global add pm2
|
RUN yarn global add pm2
|
||||||
|
|
||||||
# Install client for oracle datasource
|
# Install client for oracle datasource
|
||||||
RUN apt-get install unzip libaio1
|
RUN apt-get install unzip libaio1
|
||||||
COPY scripts/integrations/oracle/ scripts/integrations/oracle/
|
COPY packages/server/scripts/integrations/oracle/ scripts/integrations/oracle/
|
||||||
RUN /bin/bash -e scripts/integrations/oracle/instantclient/linux/x86-64/install.sh
|
RUN /bin/bash -e scripts/integrations/oracle/instantclient/linux/x86-64/install.sh
|
||||||
|
|
||||||
# Install postgres client for pg_dump utils
|
# Install postgres client for pg_dump utils
|
||||||
|
@ -35,18 +35,37 @@ RUN apt update && apt upgrade -y \
|
||||||
&& apt install postgresql-client-15 -y \
|
&& apt install postgresql-client-15 -y \
|
||||||
&& apt remove software-properties-common apt-transport-https curl gpg -y
|
&& apt remove software-properties-common apt-transport-https curl gpg -y
|
||||||
|
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
COPY package.json .
|
COPY scripts/removeWorkspaceDependencies.sh scripts/removeWorkspaceDependencies.sh
|
||||||
COPY dist/yarn.lock .
|
RUN chmod +x ./scripts/removeWorkspaceDependencies.sh
|
||||||
RUN yarn install --production=true \
|
|
||||||
|
|
||||||
|
WORKDIR /string-templates
|
||||||
|
COPY packages/string-templates/package.json package.json
|
||||||
|
RUN ../scripts/removeWorkspaceDependencies.sh package.json
|
||||||
|
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production=true
|
||||||
|
COPY packages/string-templates .
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY packages/server/package.json .
|
||||||
|
COPY packages/server/dist/yarn.lock .
|
||||||
|
RUN cd ../string-templates && yarn link && cd - && yarn link @budibase/string-templates
|
||||||
|
|
||||||
|
COPY scripts/removeWorkspaceDependencies.sh scripts/removeWorkspaceDependencies.sh
|
||||||
|
RUN chmod +x ./scripts/removeWorkspaceDependencies.sh
|
||||||
|
RUN ./scripts/removeWorkspaceDependencies.sh package.json
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production=true \
|
||||||
# Remove unneeded data from file system to reduce image size
|
# Remove unneeded data from file system to reduce image size
|
||||||
&& yarn cache clean && apt-get remove -y --purge --auto-remove g++ make python \
|
&& yarn cache clean && apt-get remove -y --purge --auto-remove g++ make python jq \
|
||||||
&& rm -rf /tmp/* /root/.node-gyp /usr/local/lib/node_modules/npm/node_modules/node-gyp
|
&& rm -rf /tmp/* /root/.node-gyp /usr/local/lib/node_modules/npm/node_modules/node-gyp
|
||||||
|
|
||||||
COPY dist/ dist/
|
COPY packages/server/dist/ dist/
|
||||||
COPY docker_run.sh .
|
COPY packages/server/docker_run.sh .
|
||||||
COPY builder/ builder/
|
COPY packages/server/builder/ builder/
|
||||||
COPY client/ client/
|
COPY packages/server/client/ client/
|
||||||
|
|
||||||
EXPOSE 4001
|
EXPOSE 4001
|
||||||
|
|
||||||
|
|
|
@ -5,22 +5,38 @@ LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="scripts/watchtower-ho
|
||||||
LABEL com.centurylinklabs.watchtower.lifecycle.post-update="scripts/watchtower-hooks/post-update.sh"
|
LABEL com.centurylinklabs.watchtower.lifecycle.post-update="scripts/watchtower-hooks/post-update.sh"
|
||||||
LABEL com.centurylinklabs.watchtower.lifecycle.post-check="scripts/watchtower-hooks/post-check.sh"
|
LABEL com.centurylinklabs.watchtower.lifecycle.post-check="scripts/watchtower-hooks/post-check.sh"
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
# handle node-gyp
|
# handle node-gyp
|
||||||
RUN apk add --no-cache --virtual .gyp python3 make g++
|
RUN apk add --no-cache --virtual .gyp python3 make g++ jq
|
||||||
RUN yarn global add pm2
|
RUN yarn global add pm2
|
||||||
|
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
COPY package.json .
|
COPY scripts/removeWorkspaceDependencies.sh scripts/removeWorkspaceDependencies.sh
|
||||||
COPY dist/yarn.lock .
|
RUN chmod +x ./scripts/removeWorkspaceDependencies.sh
|
||||||
RUN yarn install --production=true
|
|
||||||
|
|
||||||
|
WORKDIR /string-templates
|
||||||
|
COPY packages/string-templates/package.json package.json
|
||||||
|
RUN ../scripts/removeWorkspaceDependencies.sh package.json
|
||||||
|
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production=true
|
||||||
|
COPY packages/string-templates .
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY packages/worker/package.json .
|
||||||
|
COPY packages/worker/dist/yarn.lock .
|
||||||
|
RUN cd ../string-templates && yarn link && cd - && yarn link @budibase/string-templates
|
||||||
|
|
||||||
|
RUN ../scripts/removeWorkspaceDependencies.sh package.json
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production=true
|
||||||
# Remove unneeded data from file system to reduce image size
|
# Remove unneeded data from file system to reduce image size
|
||||||
RUN apk del .gyp \
|
RUN apk del .gyp \
|
||||||
&& yarn cache clean
|
&& yarn cache clean
|
||||||
|
|
||||||
COPY dist/ dist/
|
COPY packages/worker/dist/ dist/
|
||||||
COPY docker_run.sh .
|
COPY packages/worker/docker_run.sh .
|
||||||
|
|
||||||
EXPOSE 4001
|
EXPOSE 4001
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# We cannot remove string-templates yet because it cannot be bundled by esbuild as a dependency
|
packages_to_remove="@budibase/backend-core @budibase/bbui @budibase/builder @budibase/cli @budibase/client @budibase/frontend-core @budibase/pro @budibase/sdk @budibase/server @budibase/shared-core @budibase/string-templates @budibase/types @budibase/worker"
|
||||||
packages_to_remove="@budibase/backend-core @budibase/bbui @budibase/builder @budibase/cli @budibase/client @budibase/frontend-core @budibase/pro @budibase/sdk @budibase/server @budibase/shared-core @budibase/types @budibase/worker"
|
|
||||||
|
|
||||||
package_json_path="$1"
|
package_json_path="$1"
|
||||||
package_json=$(cat "$package_json_path")
|
package_json=$(cat "$package_json_path")
|
||||||
|
|
Loading…
Reference in New Issue