38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
FROM php:8-fpm-alpine
|
|
|
|
# node version number like "12.22.1" or empty for the latest version
|
|
ARG NODE_VERSION=''
|
|
|
|
# composer version number like "2.1" or empty for the latest version
|
|
ARG COMPOSER_VERSION=''
|
|
|
|
ENV NVM_DIR="/root/.nvm"
|
|
|
|
# port to for the webserver
|
|
ENV WEBSERVER_PORT=8080
|
|
|
|
COPY start-container.sh /usr/local/bin/start-container
|
|
|
|
RUN apk add --no-cache libcurl \
|
|
&& docker-php-ext-install ctype curl dom fileinfo filter hash mbstring openssl pcre pdo session tokenizer xml \
|
|
&& chmod +x /usr/local/bin/start-container \
|
|
&& echo "install composer" \
|
|
&& curl -o composer-setup.php https://getcomposer.org/installer \
|
|
&& curl -o composer-setup.sig https://composer.github.io/installer.sig \
|
|
&& echo " composer-setup.php" >> composer-setup.sig \
|
|
&& sha384sum -c composer-setup.sig \
|
|
&& if [ -n "$COMPOSER_VERSION" ]; then COMPOSER_VERSION="--${COMPOSER_VERSION}"; fi \
|
|
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer $COMPOSER_VERSION \
|
|
&& rm composer-setup.php composer-setup.sig /var/www/html/* \
|
|
&& echo "install nvm and node" \
|
|
&& curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash \
|
|
&& if [ -z "$NODE_VERSION" ]; then NODE_VERSION="node"; fi \
|
|
&& [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \
|
|
&& nvm install $NODE_VERSION \
|
|
&& nvm alias default $NODE_VERSION;
|
|
|
|
EXPOSE ${WEBSERVER_PORT}
|
|
|
|
WORKDIR /var/www/html
|
|
|
|
ENTRYPOINT ["start-container"] |