55 lines
1.5 KiB
Docker
55 lines
1.5 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
|
|
|
|
# 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
|
|
|
|
# Copia o files.zip para o container (caso queira descompactar manualmente)
|
|
COPY files.zip /files.zip
|
|
# unzip -o /files.zip -d /files/
|
|
|
|
# Ajusta permissões da aplicação
|
|
RUN chown -R www-data:www-data /var/www/html
|
|
|
|
# Expõe a porta 80
|
|
EXPOSE 80
|
|
|
|
# Inicializa o Apache em foreground
|
|
CMD ["apache2-foreground"]
|
|
|
|
# Ajusta permissões do volume montado
|
|
# RUN chown -R www-data:www-data /files && chmod -R 775 /files
|
|
# COPY files.zip /files.zip
|
|
# unzip -o /files.zip -d /files/
|