1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-28 19:06:12 +01:00
unleash.unleash/Dockerfile

39 lines
757 B
Docker
Raw Normal View History

chore(deps): update dependency node to v20.16.0 (#7766) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | Pending | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---|---| | [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | | minor | `20.15.1` -> `20.16.0` | | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [node](https://togithub.com/nodejs/node) | final | minor | `20.15.0-alpine` -> `20.16.0-alpine` | | [![age](https://developer.mend.io/api/mc/badges/age/docker/node/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/node/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/node/20.15.0/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/node/20.15.0/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [node](https://togithub.com/nodejs/node) | stage | minor | `20.15.0-alpine` -> `20.16.0-alpine` | | [![age](https://developer.mend.io/api/mc/badges/age/docker/node/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/node/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/node/20.15.0/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/node/20.15.0/20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`20.14.10` -> `20.14.13`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.10/20.14.13) | `20.14.14` | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.10/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.10/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>nodejs/node (node)</summary> ### [`v20.16.0`](https://togithub.com/nodejs/node/compare/v20.15.1...v20.16.0) [Compare Source](https://togithub.com/nodejs/node/compare/v20.15.1...v20.16.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am every weekday" in timezone Europe/Madrid, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 04:18:04 +02:00
ARG NODE_VERSION=20.16.0-alpine
2024-09-16 16:09:12 +02:00
FROM node:$NODE_VERSION AS builder
WORKDIR /unleash
COPY . /unleash
RUN corepack enable
2022-08-29 15:00:04 +02:00
RUN yarn install --immutable && yarn prepare:backend && yarn local:package
# frontend/build should already exist (it needs to be built in the local filesystem but in case of a fresh build we'll build it here)
2024-06-07 15:00:02 +02:00
RUN yarn build:frontend:if-needed
chore: Optimize docker build oss (#3951) ## About the changes Reduce the build time of OSS docker image from [~30m](https://github.com/Unleash/unleash/actions/workflows/docker_publish.yaml) to [under 15m](https://github.com/Unleash/unleash/actions/runs/5222180536/jobs/9427342758) 1. Build frontend outside docker multiplatform. 2. Allow `frontend/build` to be copied to the image by removing this from `.dockerignore` 3. Run with `--ignore-scripts` to avoid building the frontend on the `prepare` script, but this requires us to run all the prepare scripts manually (except the frontend build). **Note:** we need to build frontend in the `prepare` script to be able to have source code dependencies ## Manual Testing Manually downloaded from https://hub.docker.com/r/unleashorg/unleash-server/tags?page=1 and compared both `unleash` folders from main and the version built with the new process https://github.com/Unleash/unleash/actions/runs/5223078089/jobs/9429430190#step:5:48 ![Screenshot from 2023-06-10 21-11-33](https://github.com/Unleash/unleash/assets/455064/60a41739-904d-480d-8d80-bf17b7a70432) No major difference was spotted (only expected changes due to development done in main) **Command used to extract the contents:** ``` cd /tmp mkdir main && cd main docker pull unleashorg/unleash-server:main-edge-18-alpine docker export $(docker create unleashorg/unleash-server:main-edge-18-alpine) > container.tar && tar xvf container.tar mkdir ../new-process && cd ../new-process docker pull unleashorg/unleash-server:sha-ccac902-18-alpine docker export $(docker create unleashorg/unleash-server:sha-ccac902-18-alpine) > container.tar && tar xvf container.tar meld ./unleash ../main/unleash ```
2023-06-12 09:15:09 +02:00
RUN mkdir -p /unleash/build/frontend && mv /unleash/frontend/build /unleash/build/frontend/build
WORKDIR /unleash/docker
RUN yarn workspaces focus -A --production
FROM node:$NODE_VERSION
2024-09-16 16:09:12 +02:00
ENV NODE_ENV=production
2024-09-16 16:09:12 +02:00
ENV TZ=UTC
2023-05-03 09:25:56 +02:00
WORKDIR /unleash
COPY --from=builder /unleash/docker /unleash
RUN rm -rf /usr/local/lib/node_modules/npm/
EXPOSE 4242
USER node
CMD ["node", "index.js"]