/home/suroeste/public_html/payments.transportessuroeste.com/docker/php
NameSizeModeActions
Dockerfile29870644editdlrm
php-fpm.conf10400644editdlrm
php.ini26810644editdlrm
Edit: /home/suroeste/public_html/payments.transportessuroeste.com/docker/php/Dockerfile (2987B)
# ============================================================================ # TRANSPORTES SUROESTE - PHP-FPM Dockerfile # ============================================================================ # Multi-stage build for optimized production image # ============================================================================ # Stage 1: Composer dependencies FROM composer:2.7 AS composer-deps WORKDIR /app COPY composer.json composer.lock ./ RUN composer install --no-dev --no-scripts --no-autoloader --prefer-dist # Stage 2: Production image FROM php:8.2-fpm-alpine3.19 LABEL maintainer="Transportes Suroeste " LABEL description="Payment Gateway API - PHP-FPM" LABEL version="1.0.0" # Install system dependencies RUN apk add --no-cache \ icu-libs \ libzip \ libpng \ libjpeg-turbo \ freetype \ oniguruma \ curl \ && apk add --no-cache --virtual .build-deps \ icu-dev \ libzip-dev \ libpng-dev \ libjpeg-turbo-dev \ freetype-dev \ oniguruma-dev \ linux-headers \ $PHPIZE_DEPS # Install PHP extensions RUN docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) \ pdo_mysql \ mbstring \ gd \ intl \ zip \ opcache \ pcntl \ && pecl install redis-6.0.2 \ && docker-php-ext-enable redis \ && apk del .build-deps \ && rm -rf /tmp/pear /var/cache/apk/* # Copy custom PHP configuration COPY docker/php/php.ini /usr/local/etc/php/php.ini COPY docker/php/php-fpm.conf /usr/local/etc/php-fpm.d/www.conf # Set working directory WORKDIR /var/www/html # Copy composer dependencies from build stage COPY --from=composer-deps /app/vendor ./vendor # Copy application source COPY config/ ./config/ COPY public/ ./public/ COPY src/ ./src/ COPY sql/ ./sql/ COPY composer.json composer.lock ./ # Generate optimized autoloader COPY --from=composer:2.7 /usr/bin/composer /usr/bin/composer RUN composer dump-autoload --optimize --classmap-authoritative --no-dev \ && rm -f /usr/bin/composer # Create logs directory RUN mkdir -p /var/www/html/logs # Set permissions - non-root user RUN chown -R www-data:www-data /var/www/html \ && chmod -R 755 /var/www/html \ && chmod -R 775 /var/www/html/logs \ && chmod 640 /var/www/html/config/config.php # Healthcheck HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD php-fpm-healthcheck || exit 1 # Install healthcheck script RUN echo '#!/bin/sh' > /usr/local/bin/php-fpm-healthcheck \ && echo 'SCRIPT_NAME=/ping SCRIPT_FILENAME=/ping REQUEST_METHOD=GET cgi-fcgi -bind -connect 127.0.0.1:9000 2>/dev/null | grep -q pong' >> /usr/local/bin/php-fpm-healthcheck \ && chmod +x /usr/local/bin/php-fpm-healthcheck \ && apk add --no-cache fcgi # Switch to non-root user USER www-data EXPOSE 9000 CMD ["php-fpm"]