Files
simple-laravel/Dockerfile
vista 0d3c7639a0
Some checks failed
ci/woodpecker/tag/build Pipeline failed
ci/woodpecker/tag/build-dev Pipeline was successful
dev (#2)
Reviewed-on: #2
[SKIP CI]
2023-03-16 13:50:35 +01:00

41 lines
1.6 KiB
Docker

FROM ubuntu:latest
ARG USERNAME=laravel
ARG USER_UID=1000
ARG NODE_VERSION='' # node version number like "12.22.1" or empty for the latest version
ARG COMPOSER_VERSION='' # composer version number like "2.1" or empty for the latest version
ENV NVM_DIR="/home/$USERNAME/.nvm"
COPY start-container.sh /usr/local/bin/start-container
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y update \
&& apt-get install -y curl git 7zip php php-xml php-curl php-xml php-mbstring php-mysql \
&& useradd --create-home --uid=$USER_UID $USERNAME \
&& 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/* \
&& chown $USERNAME:$USERNAME /var/www/html
EXPOSE 8080
WORKDIR /var/www/html
USER $USERNAME
RUN 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 \
&& echo "source $NVM_DIR/nvm.sh" >> /home/$USERNAME/.bashrc \
&& [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION
ENTRYPOINT ["start-container"]