fix conflicts

This commit is contained in:
2025-12-24 13:08:08 +03:00
7 changed files with 119 additions and 136 deletions

View File

@@ -14,4 +14,6 @@ MYSQL_PASSWORD="eatvio_pass_nhbnhb22"
PROD_DB_USER=readonly_user
PROD_DB_PASS=baexueShosei0AiD
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"

View File

@@ -1,19 +1,35 @@
include .env.infra-example
include .env
clone:
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:
docker compose up -d
stop:
docker compose down --remove-orphans -v
docker compose down
restart: stop start
status:
docker compose ps
rm-promo-image-assets:
rm -rf app/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
bash:
docker compose exec php-fpm bash
@@ -60,10 +76,10 @@ fix-permissions:
docker compose exec php-fpm chown -R www-data:www-data storage
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:
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:
docker compose exec php-fpm ./artisan $(ARGS)
@@ -71,25 +87,28 @@ artisan:
mysql-console:
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:
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:
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:
docker compose exec mysql bash -c "cat ./${PROD_DB_FILE} | mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}"
mysql-remove-latest-prod-db:
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
start-frontend:
docker compose exec php-fpm npm run watch
docker compose exec frontend npm run watch
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:
docker compose exec php-fpm ./artisan storage:link
@@ -100,9 +119,6 @@ node-frontend-deps:
paratest-bin:
docker compose exec -u www-data php-fpm vendor/bin/paratest
test-artisan:
docker compose exec -u www-data php-fpm ./artisan test --stop-on-failure --env=testing
paratest-artisan:
docker compose exec -u www-data -T php-fpm ./artisan test --parallel --stop-on-failure --env=testing
@@ -128,30 +144,31 @@ clear-app-cache:
docker compose exec php-fpm ./artisan optimize:clear
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:
docker compose exec php-fpm composer dump-auto
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
# ci: fix-web-permissions fix-code-style detect-magic-numbers test rector insights static-analysis fix-web-permissions
ci: fix-web-permissions detect-magic-numbers test rector insights static-analysis fix-web-permissions
pull:
cd app && git pull ssh://git@10.55.5.123:222/eatvio/eatvio.git && cd ../
update: pull restart fix-permissions setup-laravel-packages run-migrations
local-composer-ci:
docker compose exec php-fpm composer ci
test: fix-web-permissions test-artisan
test: fix-web-permissions paratest-artisan
test-file-by-path:
docker compose exec php-fpm ./artisan test --env=testing $(ARGS)

View File

@@ -58,25 +58,27 @@ services:
- ns-eatvio
volumes:
- "./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.4/fpm/conf.d/99-overrides.ini"
- "./tbank_certs:/tbank_certs"
# - "./eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json:/eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json"
labels:
- "traefik.enable=false"
restart: always
frontend:
build: phpdocker/front-end
command: "npm run watch"
command: "npm run dev"
working_dir: /application
environment:
- TZ=Europe/Moscow
- CHOKIDAR_USEPOLLING=true
networks:
- ns-eatvio
volumes:
- "./app:/application"
labels:
- "traefik.enable=false"
restart: always
restart: unless-stopped
worker:
build: phpdocker/worker
@@ -90,9 +92,10 @@ services:
- ns-eatvio
volumes:
- "./app:/application"
- "./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.4/fpm/conf.d/99-overrides.ini"
- "./phpdocker/worker/laravel-worker.conf:/etc/supervisor/conf.d/laravel-worker.conf"
- "./tbank_certs:/tbank_certs"
# - "./eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json:/eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json"
labels:
- "traefik.enable=false"
restart: always
@@ -107,8 +110,6 @@ services:
volumes:
- "./app:/application"
- "./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:
- "10443:5000"
- "1092:80"
@@ -130,8 +131,15 @@ services:
- ns-eatvio
typesense:
image: typesense/typesense:26.0
image: typesense/typesense:29.0
restart: always
healthcheck:
test:
- CMD
- wget
- "--no-verbose"
- "--spider"
- "http://localhost:8108/health"
networks:
- ns-eatvio
volumes:

View File

@@ -1,15 +1,15 @@
FROM phpdockerio/php:8.3-fpm
FROM phpdockerio/php:8.4-fpm
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 && \
apt-get -y --no-install-recommends install \
git \
php8.3-gd \
php8.3-mysql \
php8.3-sqlite3 \
php8.3-pgsql \
nodejs && npm install -g npm@10.1.0 \
php8.4-gd \
php8.4-mysql \
php8.4-sqlite3 \
php8.4-pgsql \
nodejs && npm install -g npm@latest \
apt-get clean; \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

View File

@@ -2,29 +2,62 @@ upstream phpupstream {
server php-fpm:9000 fail_timeout=5s max_fails=5;
}
resolver 127.0.0.11 ipv6=off;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name hasan.eatvio.local;
server_name my-dev.eatvio.test; # change me
client_max_body_size 108M;
rewrite_log on;
# access_log /var/log/nginx/application.access.log;
access_log /dev/stdout;
error_log /dev/stdout info;
root /application/public;
index index.php;
# Vite HMR WebSocket and assets
location /_vite {
proxy_pass http://frontend:5173;
proxy_http_version 1.1;
# WebSocket support
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# Headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
# Timeouts
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
}
# Production build assets
location /build {
try_files $uri $uri/ =404;
expires 1y;
add_header Cache-Control "public, immutable";
}
# try to serve file directly, fallback to index.php
location / {
try_files $uri /index.php$is_args$args;
}
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
location ~ \.php$ {
#resolver 127.0.0.11;
#set $upstream php-fpm:9000;
@@ -39,87 +72,10 @@ server {
include fastcgi_params;
}
}
server {
listen 5000 ssl;
server_name localhost;
ssl_certificate /etc/nginx/hasan.eatvio.local+4.pem;
ssl_certificate_key /etc/nginx/hasan.eatvio.local+4-key.pem;
ssl_protocols TLSv1.2;
rewrite_log on;
error_log /dev/stdout debug;
charset UTF-8;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# add_header Content-Security-Policy "default-src 'self';";
server_tokens off;
client_max_body_size 100M;
root /application/public;
index index.php;
# location ^~ /visualization/ {
# rewrite /visualization/(.*) /$1 break;
# proxy_pass http://imageproxy:8080;
# }
# try to serve file directly, fallback to index.php
location / {
try_files $uri /index.php$is_args$args;
}
# if (!-e $request_filename) {
# rewrite ^.*$ /index.php last;
# }
location ~ \.php$ {
fastcgi_pass phpupstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log";
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
include fastcgi_params;
}
}
server {
listen 5000 ssl;
server_name socket.hasan.eatvio.local;
ssl_certificate /etc/nginx/hasan.eatvio.local+4.pem;
ssl_certificate_key /etc/nginx/hasan.eatvio.local+4-key.pem;
ssl_protocols TLSv1.2;
location / {
proxy_pass http://soketi:6001;
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
# Allow the use of websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
error_log /dev/stdout info;
access_log /dev/stdout;
}
server {
listen 80;
server_name socket.hasan.eatvio.local;
server_name ws-my-dev.eatvio.test; # change me
location / {
proxy_pass http://soketi:6001;

View File

@@ -1,20 +1,20 @@
FROM phpdockerio/php:8.3-fpm
FROM phpdockerio/php:8.4-fpm
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 && \
apt-get -y --no-install-recommends install \
git \
imagemagick php8.3-imagick \
php8.3-gd \
php8.3-mysql \
php8.3-sqlite3 \
php8.3-intl \
php8.3-memcached \
php8.3-pgsql \
php8.3-xdebug \
imagemagick php8.4-imagick \
php8.4-gd \
php8.4-mysql \
php8.4-sqlite3 \
php8.4-intl \
php8.4-memcached \
php8.4-pgsql \
php8.4-xdebug \
python3-pkg-resources supervisor ffmpeg jpegoptim \
nodejs && npm install -g npm@10.1.0 \
nodejs && npm install -g npm@latest \
apt-get clean; \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

View File

@@ -1,12 +1,12 @@
FROM phpdockerio/php:8.3-fpm
FROM phpdockerio/php:8.4-fpm
WORKDIR "/application"
RUN apt-get update && \
apt-get -y --no-install-recommends install git \
php8.3-gd php8.3-mysql php8.3-sqlite3 php8.3-pgsql ffmpeg jpegoptim \
php8.3-intl \
php8.3-memcached \
imagemagick php8.3-imagick \
php8.4-gd php8.4-mysql php8.4-sqlite3 php8.4-pgsql ffmpeg jpegoptim \
php8.4-intl \
php8.4-memcached \
imagemagick php8.4-imagick \
python3-pkg-resources supervisor && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*