44 lines
965 B
Docker
44 lines
965 B
Docker
FROM php:8.2-fpm as base
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
unzip \
|
|
libzip-dev \
|
|
libicu-dev \
|
|
&& docker-php-ext-install \
|
|
zip \
|
|
intl \
|
|
pdo_mysql
|
|
|
|
# Install Composer
|
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
|
# Install Symfony CLI
|
|
RUN curl -sS https://get.symfony.com/cli/installer | bash && \
|
|
mv /root/.symfony5/bin/symfony /usr/local/bin/symfony
|
|
|
|
# Set working directory
|
|
WORKDIR /var/www/html
|
|
|
|
FROM base as dev
|
|
|
|
CMD ["php-fpm"]
|
|
|
|
FROM base as production
|
|
|
|
# Install Nginx
|
|
RUN apt-get update && apt-get install -y nginx
|
|
|
|
# Copy application files
|
|
COPY . .
|
|
|
|
# Install dependencies
|
|
RUN composer install --no-interaction --optimize-autoloader --no-dev
|
|
|
|
# Copy Nginx configuration
|
|
COPY docker/nginx/default.conf /etc/nginx/conf.d/default.conf
|
|
|
|
# Start Nginx and PHP-FPM
|
|
CMD ["/bin/bash", "-c", "service nginx start && php-fpm"]
|