FROM jitesoft/tesseract-ocr

# Esegui i comandi come utente root
USER root

# Imposta il fuso orario e disabilita l'interattività
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Etc/UTC

# Installa PHP, Apache e le estensioni necessarie
RUN apt-get update && \
    apt-get install -y php php-cli php-pear php-dev libmagickwand-dev tzdata curl unzip apache2 libapache2-mod-php php-curl && \
    pecl install imagick && \
    PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION;") && \
    mkdir -p /etc/php/$PHP_VERSION/apache2/conf.d && \
    echo "extension=imagick.so" > /etc/php/$PHP_VERSION/apache2/conf.d/20-imagick.ini && \
    echo "extension=imagick.so" >> /etc/php/$PHP_VERSION/cli/php.ini

# Verify Imagick installation
RUN php -m | grep imagick

# Verify php.ini configuration
RUN PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION;") && \
    cat /etc/php/$PHP_VERSION/apache2/conf.d/20-imagick.ini

# Modifica la configurazione di sicurezza di ImageMagick per consentire la lettura dei file PDF
RUN sed -i 's/<policy domain="coder" rights="none" pattern="PDF"/<policy domain="coder" rights="read|write" pattern="PDF"/' /etc/ImageMagick-6/policy.xml

# Installa Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Crea la directory output_images e imposta i permessi
RUN mkdir -p /var/www/html/output_images && \
    chmod -R 777 /var/www/html/output_images && \
    chown -R www-data:www-data /var/www/html/output_images

# Copia il tuo script PHP, il file PDF e il file Composer nella directory di lavoro
COPY . /var/www/html
WORKDIR /var/www/html

# Copia lo script di avvio di Apache
COPY start-apache.sh /usr/local/bin/start-apache.sh
RUN chmod +x /usr/local/bin/start-apache.sh

# Installa le dipendenze del progetto
RUN composer install

# Copia i certificati SSL
COPY config/ssl/cert-key.pem /etc/apache2/ssl/cert-key.pem
COPY config/ssl/cert.pem /etc/apache2/ssl/cert.pem
COPY config/ssl/chain.pem /etc/apache2/ssl/chain.pem

# Configura Apache per servire la directory /var/www/html
RUN echo "<VirtualHost *:80>\n\
    DocumentRoot /var/www/html\n\
    <Directory /var/www/html>\n\
        Options Indexes FollowSymLinks\n\
        AllowOverride All\n\
        Require all granted\n\
    </Directory>\n\
    ErrorLog /var/log/apache2/error.log\n\
    CustomLog /var/log/apache2/access.log combined\n\
</VirtualHost>\n\
<VirtualHost *:443>\n\
    DocumentRoot /var/www/html\n\
    <Directory /var/www/html>\n\
        Options Indexes FollowSymLinks\n\
        AllowOverride All\n\
        Require all granted\n\
    </Directory>\n\
    SSLEngine on\n\
    SSLCertificateFile /etc/apache2/ssl/cert.pem\n\
    SSLCertificateKeyFile /etc/apache2/ssl/cert-key.pem\n\
    SSLCertificateChainFile /etc/apache2/ssl/chain.pem\n\
    ErrorLog /var/log/apache2/error.log\n\
    CustomLog /var/log/apache2/access.log combined\n\
</VirtualHost>\n\
ServerName devcop.netkom.it" > /etc/apache2/sites-available/000-default.conf

# Abilita il modulo rewrite e SSL di Apache
RUN a2enmod rewrite ssl

# Aggiungi la direttiva ServerName globalmente
RUN echo "ServerName devcop.netkom.it" >> /etc/apache2/apache2.conf

# Comando di default per avviare Apache in primo piano
ENTRYPOINT ["/usr/local/bin/start-apache.sh"]
