-
Notifications
You must be signed in to change notification settings - Fork 54
Expand file tree
/
Copy pathDockerfile.base
More file actions
79 lines (60 loc) · 2.04 KB
/
Copy pathDockerfile.base
File metadata and controls
79 lines (60 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
ARG PHP_VERSION=8.3
ARG NODE_VERSION=22
FROM node:${NODE_VERSION}-alpine AS node
FROM php:${PHP_VERSION}-cli-alpine
ARG NODE_VERSION
LABEL org.opencontainers.image.source=https://github.com/shopware/shopware-cli
COPY --from=composer/composer:2-bin /composer /usr/bin/composer
COPY --from=mlocati/php-extension-installer:2 /usr/bin/install-php-extensions /usr/bin/install-php-extensions
COPY --from=oven/bun:alpine /usr/local/bin/bun /usr/local/bin/bun
COPY --link --from=node /usr/local/bin/node /usr/local/bin/node
COPY --link --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
RUN <<EOF
set -euxo pipefail
apk add --no-cache \
git \
libstdc++ \
gettext \
openssh-client \
rsync \
patch \
jq \
bash
ln -s /usr/local/bin/bun /usr/local/bin/bunx
ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
ln -s /usr/local/lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack
node --version
npm --version
INSTALLED_NODE_VERSION=$(node -e "console.log(process.versions.node.substring(0,2))")
if [ "$INSTALLED_NODE_VERSION" != "$NODE_VERSION" ]; then
echo "ERROR: Installed Node.js version ($INSTALLED_NODE_VERSION) does not match expected version ($NODE_VERSION)"
exit 1
fi
install-php-extensions \
bcmath \
gd \
intl \
pdo_mysql \
pcntl \
sockets \
bz2 \
gmp \
soap \
zip \
sodium \
redis \
amqp \
opcache
echo 'memory_limit=512M' > "$PHP_INI_DIR/conf.d/docker.ini"
EOF
COPY internal/verifier/js /opt/verifier/js
COPY internal/verifier/php /opt/verifier/php
RUN <<EOF
set -euxo pipefail
npm install --prefix /opt/verifier/js
composer install --no-dev --working-dir /opt/verifier/php
EOF
ENV SHOPWARE_CLI_TOOLS_DIR=/opt/verifier
COPY scripts/entrypoint.sh /usr/local/bin/entrypoint.sh
CMD ["sh"]