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
+43 -43
View File
@@ -1,58 +1,58 @@
FROM php:8.2-fpm
# Установка необходимых пакетов
# Установка системных зависимостей
RUN apt-get update && apt-get install -y \
apt-utils \
libpq-dev \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libgd-dev \
libwebp-dev \
libzip-dev \
zip \
unzip \
git \
cron && \
docker-php-ext-configure gd --with-webp --with-jpeg && \
docker-php-ext-install gd && \
docker-php-ext-install pdo_mysql && \
docker-php-ext-install bcmath && \
docker-php-ext-install zip && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
apt-utils \
libpq-dev \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libgd-dev \
libwebp-dev \
libzip-dev \
zip \
unzip \
git \
cron \
supervisor \
zlib1g-dev \
libicu-dev \
g++ \
default-mysql-client \
&& docker-php-ext-configure gd --with-webp --with-jpeg \
&& docker-php-ext-install gd pdo_mysql bcmath zip intl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Установка дополнительных библиотек
RUN apt-get update && apt-get install -y zlib1g-dev libicu-dev g++
RUN docker-php-ext-configure intl
RUN docker-php-ext-install intl
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
# Установка Node.js (актуальная LTS-версия)
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
&& apt-get install -y nodejs \
&& npm install -g npm
# Установка Composer
ENV COMPOSER_ALLOW_SUPERUSER=1
RUN curl -sS https://getcomposer.org/installer | php -- \
--filename=composer \
--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
COPY ./_docker/app/crontab /etc/cron.d/laravel-cron
RUN chmod 0644 /etc/cron.d/laravel-cron # Устанавливаем правильные права
RUN crontab /etc/cron.d/laravel-cron # Добавляем задачи в crontab
RUN touch /var/log/cron.log # Создаем файл для логов Cron
RUN chmod 0644 /etc/cron.d/laravel-cron \
&& crontab /etc/cron.d/laravel-cron \
&& touch /var/log/cron.log
# Рабочая директория
WORKDIR /var/www
# Запуск Cron и PHP-FPM
CMD ["sh", "-c", "cron && php-fpm"]
# Запуск Supervisor (управляет PHP-FPM и Inertia SSR)
CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]
# Открываем порты
EXPOSE 9000
EXPOSE 13714
+20 -7
View File
@@ -1,12 +1,25 @@
[supervisord]
nodaemon=true
logfile=/var/www/storage/logs/supervisord.log
pidfile=/var/run/supervisord.pid
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/artisan queue:work --sleep=3 --tries=3
[program:php-fpm]
command=/usr/local/sbin/php-fpm
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/storage/logs/worker.log
stderr_logfile=/var/www/storage/logs/php-fpm.err.log
stdout_logfile=/var/www/storage/logs/php-fpm.out.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