Enviar arquivos para "/"

This commit is contained in:
2026-05-24 15:37:59 -03:00
commit 6eb36ce6b9
2 changed files with 99 additions and 0 deletions

68
Dockerfile Normal file
View File

@@ -0,0 +1,68 @@
# ==================================================
# 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

31
docker-compose.yml Normal file
View File

@@ -0,0 +1,31 @@
# =====================================================
# DOCKER COMPOSE SCRIPTCASE - VERSÃO DEMONSTRAÇÃO
# =====================================================
services:
scriptcase:
# Construir imagem a partir do Dockerfile local
build: .
# Mapear porta 8080 externa para porta 80 interna do container
# Acesso: http://servidor:8093
ports:
- "8080:80"
# Volume persistente para dados do Scriptcase
# ./scriptcase-data (host) ↔ /var/www/html/scriptcase (container)
volumes:
- ./scriptcase-data:/var/www/html/scriptcase
# Reiniciar automaticamente se container falhar
# (exceto se parado manualmente)
restart: unless-stopped
# Nome fixo do host para estabilizar licenciamento
# Scriptcase verifica hostname para validar licença
hostname: scriptcase-demo
# Variáveis de ambiente do container
environment:
# Configurar timezone para América/São Paulo
- TZ=America/Sao_Paulo