mirror of
https://github.com/tiennm99/composes.git
synced 2026-10-11 12:09:25 +00:00
55 lines
1.1 KiB
Docker
55 lines
1.1 KiB
Docker
FROM php:8.3-fpm
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
curl \
|
|
libpng-dev \
|
|
libonig-dev \
|
|
libxml2-dev \
|
|
libzip-dev \
|
|
libicu-dev \
|
|
zip \
|
|
unzip \
|
|
default-mysql-client \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install PHP extensions
|
|
RUN docker-php-ext-install \
|
|
pdo_mysql \
|
|
mbstring \
|
|
exif \
|
|
pcntl \
|
|
bcmath \
|
|
gd \
|
|
zip \
|
|
xml \
|
|
intl \
|
|
ctype \
|
|
tokenizer
|
|
|
|
# Install Composer
|
|
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
|
|
|
# Set working directory
|
|
WORKDIR /var/www/html
|
|
|
|
# Instead of running composer create-project during build, we'll do it in the entrypoint
|
|
# This allows us to pass the --ignore-platform-req flag if needed
|
|
|
|
# Copy custom entrypoint
|
|
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
# Set file permissions for the eventual app directory
|
|
RUN mkdir -p /var/www/html/storage && \
|
|
chown -R www-data:www-data /var/www/html && \
|
|
chmod -R 755 /var/www/html
|
|
|
|
# Entrypoint script
|
|
ENTRYPOINT ["entrypoint.sh"]
|
|
|
|
# Start PHP-FPM server
|
|
CMD ["php-fpm"]
|