53 lines
1.4 KiB
Docker
53 lines
1.4 KiB
Docker
# Imagem base com PHP, Apache e extensões necessárias
|
|
FROM php:8.1-apache
|
|
|
|
# Configura o timezone
|
|
ENV TZ=America/Sao_Paulo
|
|
|
|
# Habilita módulos do Apache necessários
|
|
RUN a2enmod rewrite
|
|
|
|
# Instala dependências do sistema
|
|
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
|
|
|
|
# Configura o diretório padrão do Apache
|
|
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 empacotada
|
|
COPY app.zip /var/www/html/
|
|
RUN unzip -o app.zip -d /var/www/html && rm app.zip
|
|
|
|
# NÃO remove ou cria link simbólico aqui — volume ainda não está montado no build!
|
|
|
|
# Copia o files.zip (para uso manual ou por script)
|
|
# COPY files.zip /files.zip
|
|
|
|
# Copia o entrypoint que cuida do link simbólico e permissões
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
# Ajusta permissões da aplicação (não toca no volume /files!)
|
|
RUN chown -R www-data:www-data /var/www/html
|
|
|
|
# Expõe a porta 80
|
|
EXPOSE 80
|
|
|
|
# Inicializa Apache via entrypoint personalizado
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["apache2-foreground"]
|