From 341de2dff630d6fa6f17de783ea0a070843c6207 Mon Sep 17 00:00:00 2001 From: alex-chevski Date: Mon, 4 Dec 2023 10:20:47 +0300 Subject: [PATCH] Added node docker service --- Makefile | 10 ++++++++-- docker-compose.yml | 16 ++++++++++++++++ phpdocker/node/Dockerfile.dev | 25 +++++++++++++++++++++++++ phpdocker/php-fpm/Dockerfile | 11 ++++++++--- 4 files changed, 57 insertions(+), 5 deletions(-) create mode 100755 phpdocker/node/Dockerfile.dev diff --git a/Makefile b/Makefile index d9d5f66..751c0b8 100644 --- a/Makefile +++ b/Makefile @@ -32,11 +32,17 @@ lint-code-style: artisan: docker-compose exec php-fpm ./artisan $(ARGS) + mysql-console: docker-compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} -init: clone copy-infra-env compose-down compose-up setup-laravel-packages copy-laravel-env setup-laravel-key run-migrations fix-permissions - +start-frontend: + docker-compose exec php-fpm npm run watch +start-frontend-prod: + docker-compose exec php-fpm npm run production +node-frontend-deps: + docker-compose exec php-fpm npm i --legacy-peer-deps +init: clone copy-infra-env compose-down compose-up setup-laravel-packages copy-laravel-env setup-laravel-key run-migrations node-frontend-deps start-frontend-prod fix-permissions diff --git a/docker-compose.yml b/docker-compose.yml index f5370e1..391d34d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -80,6 +80,22 @@ services: ns-eatvio: ipv4_address: 172.118.0.4 + + frontend: + build: + context: ./phpdocker/node + dockerfile: Dockerfile.dev + networks: + ns-eatvio: + ipv4_address: 172.118.0.6 + volumes: + - ./app:/application + command: ["npm", "run", "watch"] + working_dir: /application + # labels: + # - "traefik.enable=false" + restart: always + networks: web: external: true diff --git a/phpdocker/node/Dockerfile.dev b/phpdocker/node/Dockerfile.dev new file mode 100755 index 0000000..df77b8c --- /dev/null +++ b/phpdocker/node/Dockerfile.dev @@ -0,0 +1,25 @@ +FROM ubuntu:22.04 + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=Europe/Moscow +ENV PATH=node_modules/.bin:$PATH + +WORKDIR /application + +RUN apt-get update && apt-get install -y \ + # make \ + curl \ + libpq-dev \ + libzip-dev \ + unzip \ + zip + +RUN apt-get update && apt-get install -y \ + software-properties-common \ + && rm -rf /var/lib/apt/lists/* + +RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - +RUN apt-get update && apt-get install -y nodejs && npm install -g npm@10.1.0 + +ENV PATH=node_modules/.bin:$PATH + diff --git a/phpdocker/php-fpm/Dockerfile b/phpdocker/php-fpm/Dockerfile index 34b02b6..7051d88 100644 --- a/phpdocker/php-fpm/Dockerfile +++ b/phpdocker/php-fpm/Dockerfile @@ -3,9 +3,14 @@ WORKDIR "/application" RUN apt-get update; \ apt-get -y --no-install-recommends install \ - git \ - php8.2-gd \ - php8.2-mysql \ + git \ + php8.2-gd \ + php8.2-mysql \ php8.2-pgsql; \ apt-get clean; \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* + +RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - +RUN apt-get update && apt-get install -y nodejs && npm install -g npm@10.1.0 + +ENV PATH=node_modules/.bin:$PATH