From 7273efbe62ee7b32f118d7eb50d56254b3150942 Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Wed, 18 Sep 2024 21:14:25 +0200 Subject: [PATCH 1/2] Update PHP and Node version --- Makefile | 7 +++++++ README.md | 36 +++++++++++++++++++++++++++++------- src/docker/8.1/Dockerfile | 10 ++++++---- src/docker/8.3/Dockerfile | 2 +- 4 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8e0349b --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +IMAGE_NAME:jkaninda/laravel-php-fpm +build-8.1: + docker buildx build -f src/docker/8.1/Dockerfile -t ${IMAGE_NAME}:8.1 . +build-8.2: + docker buildx build -f src/docker/8.2/Dockerfile -t ${IMAGE_NAME}:8.2 . +build-8.3: + docker buildx build -f src/docker/8.3/Dockerfile -t ${IMAGE_NAME}:8.3 . \ No newline at end of file diff --git a/README.md b/README.md index 53676ef..934e062 100644 --- a/README.md +++ b/README.md @@ -62,15 +62,39 @@ services: user: www-data #Use www-data user for production usage volumes: #Project root - - ./:/var/www/html + - ./src:/var/www/html networks: - default #if you're using networks between containers ``` -## Laravel `artisan` command usage: -### Open php-fpm +## Docker: +### Run ```sh -docker compose exec php-fpm /bin/bash + docker compose up -d +``` +### Create Laravel project +```sh +docker compose exec php-fpm composer create-project --prefer-dist laravel/laravel . +``` +### Artisan generate key +```sh +docker compose exec php-fpm php artisan key:generate +``` +### Storage link +```sh +docker compose exec php-fpm php artisan storage:link +``` +### Fix permissions +```sh +docker compose exec php-fpm chmod -R 777 storage bootstrap/cache +``` +### Laravel migration +```sh + docker compose exec php-fpm php artisan migrate +``` +### +```sh +docker exec -it php-fpm bash ``` @@ -82,7 +106,6 @@ docker compose exec php-fpm /bin/bash ## Example Laravel-php-fpm with nginx: ### docker-compose.yml ```yml -version: '3' services: php-fpm: image: jkaninda/laravel-php-fpm @@ -151,7 +174,6 @@ server { ## Advanced Laravel-php-fpm with nginx: ### docker-compose.yml ```yml -version: '3' services: php-fpm: image: jkaninda/laravel-php-fpm @@ -183,7 +205,7 @@ volumes: ## Docker run ```sh - docker-compose up -d + docker compose up -d ``` ## Build from base diff --git a/src/docker/8.1/Dockerfile b/src/docker/8.1/Dockerfile index c398366..2c35901 100644 --- a/src/docker/8.1/Dockerfile +++ b/src/docker/8.1/Dockerfile @@ -2,7 +2,7 @@ FROM php:8.1-fpm ARG WORKDIR=/var/www/html ENV DOCUMENT_ROOT=${WORKDIR} ENV LARAVEL_PROCS_NUMBER=1 -ENV NODE_VERSION=17.x +ENV NODE_MAJOR=20 ARG GROUP_ID=1000 ARG USER_ID=1000 ENV USER_NAME=www-data @@ -28,9 +28,11 @@ RUN apt-get update && apt-get install -y \ nano \ cron -RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION} | bash - - # Install Node -RUN apt-get install -y nodejs +# Install Nodejs +RUN apt-get update && apt-get install -y ca-certificates curl gnupg +RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list +RUN apt-get update && apt-get install nodejs -y # Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/8.3/Dockerfile b/src/docker/8.3/Dockerfile index 5adbd7a..e7fa813 100644 --- a/src/docker/8.3/Dockerfile +++ b/src/docker/8.3/Dockerfile @@ -1,4 +1,4 @@ -FROM php:8.3.3-fpm +FROM php:8.3.4-fpm ARG WORKDIR=/var/www/html ENV DOCUMENT_ROOT=${WORKDIR} ENV LARAVEL_PROCS_NUMBER=1 From b7ed2ad975fc05b5db6c0a32b2357d7e71ceb978 Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Wed, 18 Sep 2024 21:15:44 +0200 Subject: [PATCH 2/2] Fix test --- .github/workflows/integration-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 043d5cd..7ff15e3 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -14,7 +14,7 @@ jobs: - name: Run docker-compose run: cp ./tests/compose.yaml compose.yaml && - docker-compose -f "compose.yaml" up -d + docker compose -f "compose.yaml" up -d - name: Create script.js for K6 test run: | touch script.js && cat > script.js <