KTVSinglePublisher/Dockerfile
2025-06-18 15:17:46 +08:00

32 lines
1.5 KiB
Docker

FROM php:8.3-fpm
# ---- system & PHP extensions -------------------------------------------------
RUN apt-get update && apt-get install -y --no-install-recommends \
procps nginx gettext logrotate \
git unzip zip curl ca-certificates supervisor cron nano \
libpng-dev libjpeg62-turbo-dev libfreetype6-dev \
libonig-dev libxml2-dev libzip-dev libpq-dev libicu-dev libxslt-dev \
libsqlite3-dev sqlite3 default-mysql-client \
&& curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y --no-install-recommends nodejs \
&& npm install -g npm \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd pdo_mysql zip bcmath intl xsl pcntl sockets opcache\
&& pecl install redis && docker-php-ext-enable redis \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# ---- composer ---------------------------------------------------------------
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# ---- config files -----------------------------------------------------------
COPY docker/php/php.ini /usr/local/etc/php/conf.d/custom-php.ini
COPY docker/php/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
COPY docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY docker/entrypoint.sh /entrypoint.sh
COPY docker/nginx/default.conf.template /etc/nginx/templates/default.conf.template
COPY docker/logrotate/laravel /etc/logrotate.d/app/laravel.conf
RUN chmod 644 /etc/logrotate.d/app/laravel.conf
WORKDIR /var/www
ENTRYPOINT ["/entrypoint.sh"]