# ==================================================
# DOCKERFILE SCRIPTCASE 9.12 - VERSÃO DEMONSTRAÇÃO
# ==================================================

# Imagem base: PHP 8.1 + Apache
FROM php:8.2-apache

# Instalar ferramentas básicas e bibliotecas necessárias
RUN apt-get update && apt-get install -y \
    wget unzip curl \
    libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
    libzip-dev \
    libxml2-dev libxslt1-dev \
    libldap2-dev \
    libcurl4-openssl-dev \
    libonig-dev \
    libpq-dev libsqlite3-dev \
    && rm -rf /var/lib/apt/lists/*

# Configurar extensões que precisam de parâmetros especiais
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/

# Instalar extensões PHP obrigatórias para Scriptcase
RUN docker-php-ext-install gd zip mbstring xml soap xsl bcmath ldap

# Instalar extensões PHP para bancos de dados
RUN docker-php-ext-install \
    pdo \
    pdo_mysql \
    pdo_pgsql \
    pgsql \
    pdo_sqlite \
    mysqli

# Criar diretório de sessão PHP com permissão para Apache
RUN mkdir -p /var/lib/php/sessions \
    && chown -R www-data:www-data /var/lib/php/sessions \
    && chmod 1733 /var/lib/php/sessions

# Configurar limites PHP otimizados para Scriptcase
RUN echo 'max_execution_time = 3600' > /usr/local/etc/php/conf.d/scriptcase.ini \
    && echo 'memory_limit = 1024M' >> /usr/local/etc/php/conf.d/scriptcase.ini \
    && echo 'upload_max_filesize = 200M' >> /usr/local/etc/php/conf.d/scriptcase.ini \
    && echo 'post_max_size = 200M' >> /usr/local/etc/php/conf.d/scriptcase.ini \
    && echo 'session.save_path = "/var/lib/php/sessions"' >> /usr/local/etc/php/conf.d/scriptcase.ini

# Instalar SourceGuardian
RUN cd /tmp \
    && wget --user-agent="Mozilla/5.0" https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz \
    && tar -xzf loaders.linux-x86_64.tar.gz \
    && cp ixed.8.1.lin /usr/local/lib/php/extensions/no-debug-non-zts-20210902/ \
    && echo "zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20210902/ixed.8.1.lin" > /usr/local/etc/php/conf.d/sourceguardian.ini \
    && rm -rf /tmp/*

# Habilitar mod_rewrite do Apache
RUN a2enmod rewrite

# Criar diretório para Scriptcase com permissões corretas
RUN mkdir -p /var/www/html/scriptcase \
    && chown -R www-data:www-data /var/www/html

# Porta padrão do Apache
EXPOSE 80