start supervisor
This commit is contained in:
+30
-30
@@ -1,6 +1,6 @@
|
||||
FROM php:8.2-fpm
|
||||
|
||||
# Установка необходимых пакетов
|
||||
# Установка системных зависимостей
|
||||
RUN apt-get update && apt-get install -y \
|
||||
apt-utils \
|
||||
libpq-dev \
|
||||
@@ -15,44 +15,44 @@ RUN apt-get update && apt-get install -y \
|
||||
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/*
|
||||
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
|
||||
@@ -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
|
||||
@@ -23,8 +23,6 @@ services:
|
||||
restart: always
|
||||
ports:
|
||||
- '5173'
|
||||
command: >
|
||||
sh -c "cron && php artisan inertia:start-ssr & php-fpm"
|
||||
|
||||
php-queue-worker:
|
||||
restart: always
|
||||
|
||||
Reference in New Issue
Block a user