# Faunamix PHP API — Railway / Fly.io / her Docker ortamı (PORT ortamı dinlenir) FROM php:8.4-apache RUN apt-get update \ && apt-get install -y --no-install-recommends default-mysql-client unzip git \ && rm -rf /var/lib/apt/lists/* \ && docker-php-ext-install pdo_mysql opcache \ && pecl install redis \ && docker-php-ext-enable redis \ && (a2dismod mpm_event mpm_worker || true) \ && a2enmod mpm_prefork \ && a2enmod headers rewrite expires COPY --from=composer:2 /usr/bin/composer /usr/bin/composer # Docker build root; composer.lock symfony v8 → PHP >=8.4 (php:8.4-apache base). ENV COMPOSER_ALLOW_SUPERUSER=1 WORKDIR /app # Üretimde frontend /api/*.php çağrılarıyla uyum için. COPY . ./api COPY health.php ./health.php RUN if [ -f /app/api/composer.json ]; then php -v && cd /app/api && composer install --no-dev --no-interaction --prefer-dist; fi RUN chmod +x /app/api/scripts/prod-bootstrap.sh /app/api/scripts/start.sh \ && mkdir -p /app/api/uploads /app/api/logs \ && chown -R www-data:www-data /app/api/uploads /app/api/logs \ && chmod 775 /app/api/uploads /app/api/logs CMD ["/app/api/scripts/start.sh"]