start supervisor
This commit is contained in:
+43
-43
@@ -1,58 +1,58 @@
|
|||||||
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 \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
libjpeg62-turbo-dev \
|
libjpeg62-turbo-dev \
|
||||||
libmcrypt-dev \
|
libmcrypt-dev \
|
||||||
libgd-dev \
|
libgd-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user