FROM php:8.2-apache # Install necessary PHP extensions and tools RUN apt-get update && apt-get install -y \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libzip-dev \ zip \ unzip \ curl \ git \ mariadb-client \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-install mysqli pdo pdo_mysql zip \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Enable Apache rewrite module RUN a2enmod rewrite # Set working directory WORKDIR /var/www/html # Copy application files COPY . /var/www/html/ # Set proper permissions RUN chown -R www-data:www-data /var/www/html \ && chmod -R 755 /var/www/html # Update koneksi.php to use environment variables RUN sed -i 's/\$koneksi = new mysqli ("localhost","sidak_user","sidak_pass","data_penduduk");/\$db_host = getenv("DB_HOST") ?: "localhost";\n\$db_user = getenv("DB_USER") ?: "sidak_user";\n\$db_pass = getenv("DB_PASS") ?: "sidak_pass";\n\$db_name = getenv("DB_NAME") ?: "data_penduduk";\n\$koneksi = new mysqli (\$db_host,\$db_user,\$db_pass,\$db_name);/g' inc/koneksi.php EXPOSE 80 CMD ["apache2-foreground"]