# ================================================== # DOCKERFILE SCRIPTCASE 9.12 - VERSÃO DEMONSTRAÇÃO # ================================================== # Imagem base: PHP 8.1 + Apache (homologado pelo Scriptcase) FROM php:8.1-apache # Instalar ferramentas básicas (download, extração, requisições) RUN apt-get update && apt-get install -y \ wget unzip curl \ # Bibliotecas para extensão GD (manipulação de imagens) libfreetype6-dev libjpeg62-turbo-dev libpng-dev \ # Biblioteca para manipulação de arquivos ZIP libzip-dev \ # Bibliotecas para processamento XML/XSLT libxml2-dev libxslt1-dev \ # Biblioteca para autenticação LDAP libldap2-dev \ # Biblioteca para requisições HTTP libcurl4-openssl-dev \ # Biblioteca para strings multibyte (UTF-8) libonig-dev \ # Bibliotecas para bancos de dados PostgreSQL e SQLite libpq-dev libsqlite3-dev \ # Limpar cache para reduzir tamanho da imagem && 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 (grupo 1) RUN docker-php-ext-install gd zip mbstring xml soap xsl bcmath ldap # Instalar extensões PHP para bancos de dados (grupo 2) RUN docker-php-ext-install pdo pdo_mysql pdo_sqlite mysqli # Configurar limites PHP otimizados para Scriptcase RUN echo 'max_execution_time = 3600' > /usr/local/etc/php/conf.d/scriptcase.ini \ # Memória para processamento de dados volumosos && echo 'memory_limit = 1024M' >> /usr/local/etc/php/conf.d/scriptcase.ini \ # Upload de arquivos grandes (planilhas, imagens) && echo 'upload_max_filesize = 200M' >> /usr/local/etc/php/conf.d/scriptcase.ini \ # POST de formulários com muito conteúdo && echo 'post_max_size = 200M' >> /usr/local/etc/php/conf.d/scriptcase.ini # Instalar SourceGuardian (obrigatório para Scriptcase funcionar) RUN cd /tmp \ # Simular navegador para evitar bloqueio do site && wget --user-agent="Mozilla/5.0" https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz \ # Extrair arquivos do SourceGuardian && tar -xzf loaders.linux-x86_64.tar.gz \ # Copiar loader para diretório de extensões PHP 8.1 && cp ixed.8.1.lin /usr/local/lib/php/extensions/no-debug-non-zts-20210902/ \ # Configurar como extensão Zend (não extensão comum) && 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 \ # Limpar arquivos temporários && rm -rf /tmp/* # Habilitar mod_rewrite do Apache (URLs amigáveis) 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 # Documentar que container usa porta 80 EXPOSE 80