From cfffdcd980104f12f72a06399da859245b0de15c Mon Sep 17 00:00:00 2001 From: Kamil Niemczycki Date: Tue, 19 Apr 2022 18:08:07 +0200 Subject: [PATCH] Updated files for docker --- config/docker/dev/laravel/Dockerfile | 25 +++++++++++++++++++++++++ config/docker/dev/laravel/install.sh | 20 ++++++++++++++++++++ config/docker/dev/nginx/default.conf | 2 +- config/docker/dev/php/Dockerfile | 12 ------------ docker-compose.yml | 8 ++++---- 5 files changed, 50 insertions(+), 17 deletions(-) create mode 100644 config/docker/dev/laravel/Dockerfile create mode 100755 config/docker/dev/laravel/install.sh delete mode 100644 config/docker/dev/php/Dockerfile diff --git a/config/docker/dev/laravel/Dockerfile b/config/docker/dev/laravel/Dockerfile new file mode 100644 index 0000000..c2668ae --- /dev/null +++ b/config/docker/dev/laravel/Dockerfile @@ -0,0 +1,25 @@ +FROM php:8.0-fpm + +ARG USER_UID +ARG USER_NAME +ENV COMPOSER_HOME=/home/$USER_NAME/.composer + +RUN useradd -G www-data,root -u $USER_UID -d /home/$USER_NAME $USER_NAME +RUN mkdir -p /home/$USER_NAME/.composer && \ + chown $USER_NAME:$USER_NAME -R /home/$USER_NAME +RUN set -eux \ + && apt-get update \ + && apt-get upgrade -y \ + && apt-get install git zip unzip -y +RUN curl -sS https://getcomposer.org/installer \ + | php -- --version=2.3.5 --install-dir=/usr/local/bin --filename=composer +RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - +RUN set -eux \ + && apt-get install nodejs -y +RUN npm install --global npm@latest + +COPY ./install.sh /usr/local/bin/install + +USER $USER_UID + +EXPOSE 9000 diff --git a/config/docker/dev/laravel/install.sh b/config/docker/dev/laravel/install.sh new file mode 100755 index 0000000..f706a14 --- /dev/null +++ b/config/docker/dev/laravel/install.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +if [ ! -d "vendor" ] && [ -f "composer.json" ]; then + echo "" + echo "########################################" + echo "# vendor directory not found... #" + echo "########################################" + composer install +fi + +if [ ! -d "node_modules" ] && [ -f "package.json" ]; then + echo "" + echo "########################################" + echo "# node_modules directory not found... #" + echo "########################################" + npm install + npm run dev +fi + +exec "$@" diff --git a/config/docker/dev/nginx/default.conf b/config/docker/dev/nginx/default.conf index 8960db1..a2d383f 100644 --- a/config/docker/dev/nginx/default.conf +++ b/config/docker/dev/nginx/default.conf @@ -9,7 +9,7 @@ server { } location ~ \.php$ { - fastcgi_pass php:9000; + fastcgi_pass laravel:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; diff --git a/config/docker/dev/php/Dockerfile b/config/docker/dev/php/Dockerfile deleted file mode 100644 index 5632f09..0000000 --- a/config/docker/dev/php/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM php:8.0-fpm - -ARG USER_UID -ARG USER_NAME - -RUN useradd -G www-data,root -u $USER_UID -d /home/$USER_NAME $USER_NAME -RUN mkdir -p /home/$USER_NAME/.composer && \ - chown -R $USER_NAME:$USER_NAME /home/$USER_NAME - -USER $USER_UID - -EXPOSE 9000 diff --git a/docker-compose.yml b/docker-compose.yml index f737761..3c23032 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,17 +11,17 @@ services: - .:/application - ./config/docker/dev/nginx/default.conf:/etc/nginx/conf.d/default.conf links: - - php + - laravel networks: - localnet - php: + laravel: build: args: USER_UID: ${USER_UID} USER_NAME: ${USER_NAME} - context: ./config/docker/dev/php - container_name: kamilcraft-api_php8 + context: ./config/docker/dev/laravel + container_name: kamilcraft-api_laravel working_dir: /application volumes: - .:/application