diff --git a/Dockerfile b/Dockerfile index 5f2b399..7bde6d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,42 +4,47 @@ FROM php:8.1-apache # Configura o timezone ENV TZ=America/Sao_Paulo -# Habilita módulos do Apache necessários +# Habilita módulos do Apache RUN a2enmod rewrite -# Instala dependências do sistema +# Instala extensões e ferramentas necessárias RUN apt-get update && apt-get install -y \ + unzip \ + git \ + zip \ libicu-dev \ libzip-dev \ libjpeg-dev \ libpng-dev \ libfreetype6-dev \ - unzip \ - git \ - zip \ + libonig-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ - && docker-php-ext-install intl zip pdo pdo_mysql mysqli gd \ + && docker-php-ext-install \ + intl \ + zip \ + pdo \ + pdo_mysql \ + gd \ + mbstring \ + fileinfo \ + dom \ && apt-get clean -# Configura o diretório padrão do Apache +# Define diretório da aplicação WORKDIR /var/www/html -# Define o índice padrão do Apache -RUN echo "DirectoryIndex login.php index.php" > /etc/apache2/conf-available/directoryindex.conf && \ - a2enconf directoryindex +# Copia os arquivos da aplicação +COPY . /var/www/html -# Copia os arquivos da aplicação empacotada -COPY app.zip /var/www/html/ -RUN unzip -o app.zip -d /var/www/html && rm app.zip +# Instala as dependências do Composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ + && composer install --no-dev --optimize-autoloader -# Remove diretório 'files' criado pelo zip e cria link simbólico para o volume -RUN rm -rf /var/www/html/files && ln -s /files /var/www/html/files - -# Ajusta permissões da aplicação +# Ajusta permissões RUN chown -R www-data:www-data /var/www/html # Expõe a porta 80 EXPOSE 80 -# Inicializa o Apache em foreground +# Inicia o Apache CMD ["apache2-foreground"]