Skip to content

Commit 4913732

Browse files
committed
feat: add node image variant
Resolves: #138
1 parent 3f6773a commit 4913732

3 files changed

Lines changed: 213 additions & 159 deletions

File tree

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ jobs:
155155

156156
- name: Login into Github Docker Registery
157157
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
158-
158+
159159
- name: Build and Push
160160
if: matrix.php != '8.1'
161161
uses: docker/build-push-action@v6
@@ -279,7 +279,7 @@ jobs:
279279

280280
- name: Login into Github Docker Registery
281281
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
282-
282+
283283
- name: Build and Push
284284
uses: docker/build-push-action@v6
285285
with:

fpm/Dockerfile

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
ARG PHP_PATCH_VERSION
44
ARG PHP_DIGEST
55

6-
FROM docker.io/library/php:${PHP_PATCH_VERSION}-fpm-alpine@${PHP_DIGEST}
6+
ARG NODE_VERSION=none
7+
8+
FROM docker.io/library/php:${PHP_PATCH_VERSION}-fpm-alpine@${PHP_DIGEST} AS fpm
79
ARG REDIS_PHP_MODULE=redis
810

911
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
@@ -73,3 +75,42 @@ USER www-data
7375
COPY --link rootfs /
7476

7577
WORKDIR /var/www/html
78+
79+
ARG NODE_VERSION
80+
FROM docker.io/library/node${NODE_VERSION:+:}${NODE_VERSION:+$NODE_VERSION-alpine} AS node
81+
82+
FROM fpm AS fpm-node
83+
84+
COPY --link --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules/
85+
COPY --link --from=node /opt/yarn-* /opt/
86+
87+
COPY --link --from=node \
88+
/usr/local/bin/node \
89+
/usr/local/bin/
90+
91+
COPY --link --from=node \
92+
/usr/local/include/node \
93+
/usr/local/include/
94+
95+
USER root
96+
97+
RUN <<EOF
98+
ln -s /usr/local/bin/node /usr/local/bin/nodejs
99+
ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
100+
ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
101+
ln -s /opt/yarn-*/bin/yarn /usr/local/bin/yarn
102+
ln -s /opt/yarn-*/bin/yarnpkg /usr/local/bin/yarnpkg
103+
EOF
104+
105+
USER www-data
106+
107+
FROM node as node-22
108+
109+
FROM node as node-24
110+
111+
FROM fpm as node-none
112+
113+
ARG NODE_VERSION
114+
FROM node-${NODE_VERSION:-none} AS final
115+
116+
FROM final

0 commit comments

Comments
 (0)