LaravelPublisher/Dockerfile

33 lines
1.5 KiB
Docker
Raw Normal View History

2025-06-09 18:11:59 +08:00
FROM php:8.3-fpm
# ---- system & PHP extensions -------------------------------------------------
RUN apt-get update && apt-get install -y \
2025-06-10 10:21:36 +08:00
nginx \
2025-06-09 18:11:59 +08:00
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 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 \
&& docker-php-ext-install 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/entrypoint.git.sh /entrypoint.git.sh
2025-06-10 10:21:36 +08:00
COPY docker/nginx/default.conf.template /etc/nginx/conf.d/default.conf
2025-06-09 18:11:59 +08:00
WORKDIR /var/www
RUN chmod +x /entrypoint.sh /entrypoint.git.sh
2025-06-10 10:21:36 +08:00
ENTRYPOINT ["/entrypoint.sh"]