47 lines
1.2 KiB
Docker
47 lines
1.2 KiB
Docker
# Imagem base com PHP 8.1 e Apache
|
|
FROM php:8.1-apache
|
|
|
|
# Configura o timezone
|
|
ENV TZ=America/Sao_Paulo
|
|
|
|
# Habilita o mod_rewrite do Apache
|
|
RUN a2enmod rewrite
|
|
|
|
# Instala dependências e extensões PHP necessárias
|
|
RUN apt-get update && apt-get install -y \
|
|
libicu-dev \
|
|
libzip-dev \
|
|
libjpeg-dev \
|
|
libpng-dev \
|
|
libfreetype6-dev \
|
|
unzip \
|
|
git \
|
|
zip \
|
|
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
|
&& docker-php-ext-install intl zip pdo pdo_mysql gd \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Define diretório de trabalho padrão
|
|
WORKDIR /var/www/html
|
|
|
|
# Define ordem dos arquivos index
|
|
RUN echo "DirectoryIndex login.php index.php" > /etc/apache2/conf-available/directoryindex.conf \
|
|
&& a2enconf directoryindex
|
|
|
|
# Copia e descompacta os arquivos da aplicação
|
|
COPY app.zip /var/www/html/
|
|
RUN unzip -o app.zip -d /var/www/html && rm app.zip
|
|
|
|
# Substitui o diretório /files por um link simbólico (volume externo opcional)
|
|
# RUN rm -rf /var/www/html/files && ln -s /files /var/www/html/files
|
|
|
|
# Permissões para o Apache
|
|
RUN chown -R www-data:www-data /var/www/html
|
|
|
|
# Porta HTTP padrão
|
|
EXPOSE 80
|
|
|
|
# Inicia o Apache no foreground
|
|
CMD ["apache2-foreground"]
|