start supervisor

This commit is contained in:
F4ilji
2025-04-27 19:35:41 +05:00
parent 453fb4cccc
commit ab0eb1d3ab
3 changed files with 63 additions and 52 deletions
+30 -30
View File
@@ -1,6 +1,6 @@
FROM php:8.2-fpm FROM php:8.2-fpm
# Установка необходимых пакетов # Установка системных зависимостей
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
apt-utils \ apt-utils \
libpq-dev \ libpq-dev \
@@ -15,44 +15,44 @@ RUN apt-get update && apt-get install -y \
zip \ zip \
unzip \ unzip \
git \ git \
cron && \ cron \
docker-php-ext-configure gd --with-webp --with-jpeg && \ supervisor \
docker-php-ext-install gd && \ zlib1g-dev \
docker-php-ext-install pdo_mysql && \ libicu-dev \
docker-php-ext-install bcmath && \ g++ \
docker-php-ext-install zip && \ default-mysql-client \
apt-get clean && \ && docker-php-ext-configure gd --with-webp --with-jpeg \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && docker-php-ext-install gd pdo_mysql bcmath zip intl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Установка дополнительных библиотек # Установка Node.js (актуальная LTS-версия)
RUN apt-get update && apt-get install -y zlib1g-dev libicu-dev g++ RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
RUN docker-php-ext-configure intl && apt-get install -y nodejs \
RUN docker-php-ext-install intl && npm install -g npm
RUN apt-get update && apt-get install -y default-mysql-client
# Копирование конфигурационного файла PHP
COPY ./_docker/app/php.ini /usr/local/etc/php/conf.d/php.ini
# Установка Node.js
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
RUN apt-get install -y nodejs npm
EXPOSE 6001
EXPOSE 5173
# Установка Composer
ENV COMPOSER_ALLOW_SUPERUSER=1 ENV COMPOSER_ALLOW_SUPERUSER=1
RUN curl -sS https://getcomposer.org/installer | php -- \ RUN curl -sS https://getcomposer.org/installer | php -- \
--filename=composer \ --filename=composer \
--install-dir=/usr/local/bin --install-dir=/usr/local/bin
# Копирование конфигураций
COPY ./_docker/app/php.ini /usr/local/etc/php/conf.d/php.ini
COPY ./_docker/supervisor/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# Настройка Cron # Настройка Cron
COPY ./_docker/app/crontab /etc/cron.d/laravel-cron COPY ./_docker/app/crontab /etc/cron.d/laravel-cron
RUN chmod 0644 /etc/cron.d/laravel-cron # Устанавливаем правильные права RUN chmod 0644 /etc/cron.d/laravel-cron \
RUN crontab /etc/cron.d/laravel-cron # Добавляем задачи в crontab && crontab /etc/cron.d/laravel-cron \
RUN touch /var/log/cron.log # Создаем файл для логов Cron && touch /var/log/cron.log
# Рабочая директория
WORKDIR /var/www WORKDIR /var/www
# Запуск Cron и PHP-FPM # Запуск Supervisor (управляет PHP-FPM и Inertia SSR)
CMD ["sh", "-c", "cron && php-fpm"] CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]
# Открываем порты
EXPOSE 9000
EXPOSE 13714
+20 -7
View File
@@ -1,12 +1,25 @@
[supervisord] [supervisord]
nodaemon=true nodaemon=true
logfile=/var/www/storage/logs/supervisord.log
pidfile=/var/run/supervisord.pid
[program:laravel-worker] [program:php-fpm]
process_name=%(program_name)s_%(process_num)02d command=/usr/local/sbin/php-fpm
command=php /var/www/artisan queue:work --sleep=3 --tries=3
autostart=true autostart=true
autorestart=true autorestart=true
user=www-data stderr_logfile=/var/www/storage/logs/php-fpm.err.log
numprocs=1 stdout_logfile=/var/www/storage/logs/php-fpm.out.log
redirect_stderr=true
stdout_logfile=/var/www/storage/logs/worker.log [program:inertia-ssr]
command=php /var/www/artisan inertia:start-ssr
autostart=true
autorestart=true
stderr_logfile=/var/www/storage/logs/inertia-ssr.err.log
stdout_logfile=/var/www/storage/logs/inertia-ssr.out.log
[program:cron]
command=cron -f
autostart=true
autorestart=true
stderr_logfile=/var/www/storage/logs/cron.err.log
stdout_logfile=/var/www/storage/logs/cron.out.log
-2
View File
@@ -23,8 +23,6 @@ services:
restart: always restart: always
ports: ports:
- '5173' - '5173'
command: >
sh -c "cron && php artisan inertia:start-ssr & php-fpm"
php-queue-worker: php-queue-worker:
restart: always restart: always