|
1 | 1 | FROM php:8.3-fpm |
2 | 2 |
|
3 | 3 | ARG DEBIAN_FRONTEND=noninteractive |
4 | | -ARG NVM_VERSION="v0.39.7" |
| 4 | +ARG NVM_VERSION="v0.40.3" |
| 5 | +ENV NODE_VERSION="18.20.4" |
| 6 | +ARG YARN_VERSION="1.22.22" |
5 | 7 | ARG GITHUB_OAUTH_TOKEN |
6 | 8 | ARG XDEBUG_VERSION="xdebug-3.3.2" |
7 | 9 |
|
8 | 10 | ENV NVM_VERSION=$NVM_VERSION |
9 | | -ENV NODE_VERSION="18.20.4" |
10 | 11 | ENV NVM_DIR=/root/.nvm |
11 | 12 | ENV COMPOSER_ALLOW_SUPERUSER=1 |
12 | 13 | ENV GITHUB_OAUTH_TOKEN=$GITHUB_OAUTH_TOKEN |
@@ -40,26 +41,16 @@ COPY docker-compose/php/docker-php-ext-xdebug.ini $PHP_DIR/conf.d/docker-php-ext |
40 | 41 | RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" |
41 | 42 | RUN echo 'memory_limit = 512M' >> $PHP_INI_DIR/php.ini; |
42 | 43 |
|
43 | | -# nvm |
44 | | - |
45 | | -RUN mkdir $NVM_DIR \ |
46 | | - && curl https://raw.githubusercontent.com/creationix/nvm/$NVM_VERSION/install.sh | bash \ |
47 | | - && . $NVM_DIR/nvm.sh \ |
48 | | - && nvm install $NODE_VERSION \ |
49 | | - && nvm alias default $NODE_VERSION \ |
50 | | - && nvm use default |
51 | | - |
52 | | -ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules |
53 | | -ENV PATH $NVM_DIR/v$NODE_VERSION/bin:$PATH |
54 | | - |
55 | | -# yarn |
56 | | -RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - |
57 | | -RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list |
58 | | -RUN apt update && apt install -y yarn |
| 44 | +# nvm + node + yarn via corepack |
| 45 | +ENV NVM_DIR=/root/.nvm |
| 46 | +RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh | bash |
| 47 | +# Install Node, enable Corepack (Yarn) |
| 48 | +RUN bash -lc "source $NVM_DIR/nvm.sh && nvm install $NODE_VERSION && corepack enable && corepack prepare yarn@$YARN_VERSION --activate" |
| 49 | +RUN apt clean && rm -rf /var/lib/apt/lists/* |
59 | 50 |
|
60 | | -# install node |
61 | | -RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - |
62 | | -RUN apt-get install -y nodejs |
| 51 | +# Set up our PATH correctly so we don't have to long-reference npm, node, &c. |
| 52 | +ENV NODE_PATH=$NVM_DIR/versions/node/v$NODE_VERSION/lib/node_modules |
| 53 | +ENV PATH=$NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH |
63 | 54 |
|
64 | 55 | WORKDIR /var/www |
65 | 56 | COPY . /var/www |
|
0 commit comments