forked from eatvio/eatvio-infra
Merge pull request 'update(infra): php 8.3 to 8.4, typesense 26 -> 29' (#26) from apoloz/eatvio-infra:main into main
Reviewed-on: eatvio/eatvio-infra#26
This commit is contained in:
@@ -14,4 +14,6 @@ MYSQL_PASSWORD="eatvio_pass_nhbnhb22"
|
|||||||
PROD_DB_USER=some_user
|
PROD_DB_USER=some_user
|
||||||
PROD_DB_PASS=strong_pass
|
PROD_DB_PASS=strong_pass
|
||||||
PROD_DB_FILE="latest-prod-db.sql"
|
PROD_DB_FILE="latest-prod-db.sql"
|
||||||
|
PROD_DB_HOST="10.nn.n.n"
|
||||||
|
PROD_DB_PORT="10nn"
|
||||||
MY_APP_GIT_URL="ssh://git@10.55.5.123:222/eatvio/eatvio.git"
|
MY_APP_GIT_URL="ssh://git@10.55.5.123:222/eatvio/eatvio.git"
|
||||||
|
|||||||
47
Makefile
47
Makefile
@@ -1,13 +1,21 @@
|
|||||||
include .env.infra-example
|
include .env
|
||||||
|
|
||||||
clone:
|
clone:
|
||||||
git clone ${MY_APP_GIT_URL} app
|
git clone ${MY_APP_GIT_URL} app
|
||||||
|
|
||||||
|
rm-promo-image-assets:
|
||||||
|
docker compose exec php-fpm rm -rf application/database/assets/images
|
||||||
|
|
||||||
|
clone-promo-image:
|
||||||
|
git clone http://gitea.office.local:3000/alex_chevski/eatvio_images_assets app/database/assets/images
|
||||||
|
|
||||||
|
reinit-promo-images: rm-promo-image-assets clone-promo-image
|
||||||
|
|
||||||
start:
|
start:
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
|
|
||||||
stop:
|
stop:
|
||||||
docker compose down --remove-orphans -v
|
docker compose down
|
||||||
|
|
||||||
restart: stop start
|
restart: stop start
|
||||||
|
|
||||||
@@ -68,10 +76,10 @@ fix-permissions:
|
|||||||
docker compose exec php-fpm chown -R www-data:www-data storage
|
docker compose exec php-fpm chown -R www-data:www-data storage
|
||||||
|
|
||||||
fix-code-style:
|
fix-code-style:
|
||||||
docker compose exec -T php-fpm vendor/bin/pint
|
docker compose exec -T php-fpm bash -c "vendor/bin/pint --parallel; composer run fix-blade-fomatting"
|
||||||
|
|
||||||
fix-blade-formatting:
|
fix-blade-formatting:
|
||||||
docker compose exec -T php-fpm ./node_modules/.bin/prettier --write resources/**/**/**/**/*.blade.php
|
docker compose exec -T php-fpm composer run test-blade-formatting
|
||||||
|
|
||||||
artisan:
|
artisan:
|
||||||
docker compose exec php-fpm ./artisan $(ARGS)
|
docker compose exec php-fpm ./artisan $(ARGS)
|
||||||
@@ -79,25 +87,28 @@ artisan:
|
|||||||
mysql-console:
|
mysql-console:
|
||||||
docker compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}
|
docker compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}
|
||||||
|
|
||||||
|
mysql-dump-local:
|
||||||
|
docker compose exec mysql mysqldump --single-transaction --skip-opt -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}
|
||||||
|
|
||||||
mysql-restore:
|
mysql-restore:
|
||||||
docker compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} \< /application/eatvio-11-03-2025.sql
|
docker compose exec mysql bash -c "mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} < /application/eatvio-restore.sql"
|
||||||
|
|
||||||
mysql-save-prod-db:
|
mysql-save-prod-db:
|
||||||
mysqldump --single-transaction -u${PROD_DB_USER} -p${PROD_DB_PASS} -h10.55.5.7 -P1094 eatvio > ${PROD_DB_FILE}
|
mysqldump --single-transaction -u${PROD_DB_USER} -p${PROD_DB_PASS} -h${PROD_DB_HOST} -P${PROD_DB_PORT} eatvio > ${PROD_DB_FILE}
|
||||||
|
|
||||||
mysql-restore-saved-from-prod-db:
|
mysql-restore-saved-from-prod-db:
|
||||||
docker compose exec mysql bash -c "cat ./${PROD_DB_FILE} | mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}"
|
docker compose exec mysql bash -c "cat ./${PROD_DB_FILE} | mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}"
|
||||||
|
|
||||||
mysql-remove-latest-prod-db:
|
mysql-remove-latest-prod-db:
|
||||||
rm -f ${PROD_DB_FILE}
|
rm -f ${PROD_DB_FILE}
|
||||||
|
|
||||||
mysql-import-db-from-prod: mysql-save-prod-db mysql-restore-saved-from-prod-db mysql-remove-latest-prod-db
|
mysql-import-db-from-prod: mysql-save-prod-db mysql-restore-saved-from-prod-db mysql-remove-latest-prod-db
|
||||||
|
|
||||||
start-frontend:
|
start-frontend:
|
||||||
docker compose exec php-fpm npm run watch
|
docker compose exec frontend npm run watch
|
||||||
|
|
||||||
build-frontend-prod:
|
build-frontend-prod:
|
||||||
docker compose exec php-fpm npm run production
|
docker compose exec php-fpm bash -c "npm install -g npm@latest; npm run production"
|
||||||
|
|
||||||
make-storage-link:
|
make-storage-link:
|
||||||
docker compose exec php-fpm ./artisan storage:link
|
docker compose exec php-fpm ./artisan storage:link
|
||||||
@@ -133,15 +144,21 @@ clear-app-cache:
|
|||||||
docker compose exec php-fpm ./artisan optimize:clear
|
docker compose exec php-fpm ./artisan optimize:clear
|
||||||
|
|
||||||
build-front:
|
build-front:
|
||||||
docker compose exec php-fpm npm run production
|
docker compose exec php-fpm bash -c "npm install -g npm@latest;npm run production"
|
||||||
|
|
||||||
|
reindex-search:
|
||||||
|
docker compose exec php-fpm ./artisan search:init
|
||||||
|
|
||||||
composer-do:
|
composer-do:
|
||||||
docker compose exec php-fpm composer dump-auto
|
docker compose exec php-fpm composer dump-auto
|
||||||
|
|
||||||
run-once-oprations:
|
run-once-oprations:
|
||||||
docker compose exec php-fpm bash -c "./artisan operations:process --test && ./artisan operations:process"
|
docker compose exec php-fpm bash -c "./artisan operations:process"
|
||||||
|
|
||||||
after-deploy-light: composer-do run-once-oprations clear-app-cache build-front fix-permissions reload-wokers
|
reload-wokers:
|
||||||
|
docker-compose exec worker ./artisan queue:restart
|
||||||
|
|
||||||
|
after-deploy-light: composer-do run-migrations run-once-oprations clear-app-cache build-front fix-permissions reload-wokers
|
||||||
|
|
||||||
after-deploy: composer-do clear-app-cache run-migrations run-once-oprations build-front fix-permissions reload-wokers reindex-search
|
after-deploy: composer-do clear-app-cache run-migrations run-once-oprations build-front fix-permissions reload-wokers reindex-search
|
||||||
|
|
||||||
|
|||||||
@@ -60,23 +60,25 @@ services:
|
|||||||
- "./app:/application"
|
- "./app:/application"
|
||||||
- "./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/8.3/fpm/conf.d/99-overrides.ini"
|
- "./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/8.3/fpm/conf.d/99-overrides.ini"
|
||||||
- "./tbank_certs:/tbank_certs"
|
- "./tbank_certs:/tbank_certs"
|
||||||
|
# - "./eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json:/eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=false"
|
- "traefik.enable=false"
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
build: phpdocker/front-end
|
build: phpdocker/front-end
|
||||||
command: "npm run watch"
|
command: "npm run dev"
|
||||||
working_dir: /application
|
working_dir: /application
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Moscow
|
- TZ=Europe/Moscow
|
||||||
|
- CHOKIDAR_USEPOLLING=true
|
||||||
networks:
|
networks:
|
||||||
- ns-eatvio
|
- ns-eatvio
|
||||||
volumes:
|
volumes:
|
||||||
- "./app:/application"
|
- "./app:/application"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=false"
|
- "traefik.enable=false"
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
build: phpdocker/worker
|
build: phpdocker/worker
|
||||||
@@ -93,6 +95,7 @@ services:
|
|||||||
- "./phpdocker/worker/php-ini-overrides.ini:/etc/php/8.3/fpm/conf.d/99-overrides.ini"
|
- "./phpdocker/worker/php-ini-overrides.ini:/etc/php/8.3/fpm/conf.d/99-overrides.ini"
|
||||||
- "./phpdocker/worker/laravel-worker.conf:/etc/supervisor/conf.d/laravel-worker.conf"
|
- "./phpdocker/worker/laravel-worker.conf:/etc/supervisor/conf.d/laravel-worker.conf"
|
||||||
- "./tbank_certs:/tbank_certs"
|
- "./tbank_certs:/tbank_certs"
|
||||||
|
# - "./eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json:/eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=false"
|
- "traefik.enable=false"
|
||||||
restart: always
|
restart: always
|
||||||
@@ -107,8 +110,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- "./app:/application"
|
- "./app:/application"
|
||||||
- "./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf"
|
- "./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf"
|
||||||
- "./phpdocker/nginx/shalom.eatvio.local+2.pem:/etc/nginx/shalom.eatvio.local+2.pem"
|
|
||||||
- "./phpdocker/nginx/shalom.eatvio.local+2-key.pem:/etc/nginx/shalom.eatvio.local+2-key.pem"
|
|
||||||
ports:
|
ports:
|
||||||
- "10443:5000"
|
- "10443:5000"
|
||||||
- "1092:80"
|
- "1092:80"
|
||||||
@@ -130,8 +131,15 @@ services:
|
|||||||
- ns-eatvio
|
- ns-eatvio
|
||||||
|
|
||||||
typesense:
|
typesense:
|
||||||
image: typesense/typesense:26.0
|
image: typesense/typesense:29.0
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
- CMD
|
||||||
|
- wget
|
||||||
|
- "--no-verbose"
|
||||||
|
- "--spider"
|
||||||
|
- "http://localhost:8108/health"
|
||||||
networks:
|
networks:
|
||||||
- ns-eatvio
|
- ns-eatvio
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
FROM phpdockerio/php:8.3-fpm
|
FROM phpdockerio/php:8.4-fpm
|
||||||
WORKDIR "/application"
|
WORKDIR "/application"
|
||||||
|
|
||||||
RUN curl -sL https://deb.nodesource.com/setup_22.x | bash -
|
RUN curl -sL https://deb.nodesource.com/setup_24.x | bash -
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get -y --no-install-recommends install \
|
apt-get -y --no-install-recommends install \
|
||||||
git \
|
git \
|
||||||
php8.3-gd \
|
php8.4-gd \
|
||||||
php8.3-mysql \
|
php8.4-mysql \
|
||||||
php8.3-sqlite3 \
|
php8.4-sqlite3 \
|
||||||
php8.3-pgsql \
|
php8.4-pgsql \
|
||||||
nodejs && npm install -g npm@10.1.0 \
|
nodejs && npm install -g npm@latest \
|
||||||
apt-get clean; \
|
apt-get clean; \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
FROM phpdockerio/php:8.3-fpm
|
FROM phpdockerio/php:8.4-fpm
|
||||||
WORKDIR "/application"
|
WORKDIR "/application"
|
||||||
|
|
||||||
RUN curl -sL https://deb.nodesource.com/setup_22.x | bash -
|
RUN curl -sL https://deb.nodesource.com/setup_24.x | bash -
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get -y --no-install-recommends install \
|
apt-get -y --no-install-recommends install \
|
||||||
git \
|
git \
|
||||||
imagemagick php8.3-imagick \
|
imagemagick php8.4-imagick \
|
||||||
php8.3-gd \
|
php8.4-gd \
|
||||||
php8.3-mysql \
|
php8.4-mysql \
|
||||||
php8.3-sqlite3 \
|
php8.4-sqlite3 \
|
||||||
php8.3-intl \
|
php8.4-intl \
|
||||||
php8.3-memcached \
|
php8.4-memcached \
|
||||||
php8.3-pgsql \
|
php8.4-pgsql \
|
||||||
php8.3-xdebug \
|
php8.4-xdebug \
|
||||||
python3-pkg-resources supervisor ffmpeg jpegoptim \
|
python3-pkg-resources supervisor ffmpeg jpegoptim \
|
||||||
nodejs && npm install -g npm@10.1.0 \
|
nodejs && npm install -g npm@10.1.0 \
|
||||||
apt-get clean; \
|
apt-get clean; \
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
FROM phpdockerio/php:8.3-fpm
|
FROM phpdockerio/php:8.4-fpm
|
||||||
WORKDIR "/application"
|
WORKDIR "/application"
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get -y --no-install-recommends install git \
|
apt-get -y --no-install-recommends install git \
|
||||||
php8.3-gd php8.3-mysql php8.3-sqlite3 php8.3-pgsql ffmpeg jpegoptim \
|
php8.4-gd php8.4-mysql php8.4-sqlite3 php8.4-pgsql ffmpeg jpegoptim \
|
||||||
php8.3-intl \
|
php8.4-intl \
|
||||||
php8.3-memcached \
|
php8.4-memcached \
|
||||||
imagemagick php8.3-imagick \
|
imagemagick php8.4-imagick \
|
||||||
python3-pkg-resources supervisor && \
|
python3-pkg-resources supervisor && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||||
|
|||||||
Reference in New Issue
Block a user