# syntax=docker/dockerfile:1.6

FROM debian:bookworm

ENV DEBIAN_FRONTEND=noninteractive

RUN dpkg --add-architecture i386 \
    && apt-get update \
    && apt-get install -y --no-install-recommends \
        apache2 \
        libapache2-mod-perl2 \
        perl \
        ca-certificates \
        openssl \
        procps \
        libc6:i386 \
        libstdc++6:i386 \
        libx11-6:i386 \
        libnsl2:i386 \
        libgcc-s1:i386 \
        csh \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN a2enmod ssl cgid perl rewrite \
    && a2dissite 000-default default-ssl || true

COPY apache/fruitfly.conf /etc/apache2/sites-available/fruitfly.conf
RUN a2ensite fruitfly

COPY htdocs /var/www/html
COPY cgi-bin /var/www/cgi-bin

RUN mkdir -p /local/fruitfly.org_80/seq_tools/queue \
    && mkdir -p /local/fruitfly.org_80/seq_tools/trash \
    && touch /local/fruitfly.org_80/seq_tools/log \
    && chown -R www-data:www-data /local/fruitfly.org_80/seq_tools

RUN mkdir -p /etc/apache2/certs
COPY apache/certs/ /etc/apache2/certs/

RUN find /var/www/cgi-bin -type f -name "*.pl" -exec chmod 0755 {} \; \
    && find /var/www/cgi-bin -type f -name "fa2*" -exec chmod 0755 {} \; \
    && chown -R www-data:www-data /var/www/html /var/www/cgi-bin \
    && ln -sf process-signals /var/www/cgi-bin/seq_tools/genotator/process-promoters

COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

EXPOSE 80 443

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
