# checkov:skip=CKV_DOCKER_3 If its good enough for upstream mariadb, its good enough for me.
ARG MARIADB_VERSION
FROM mariadb:$MARIADB_VERSION AS mariadb

LABEL maintainer="Matthew Baggett <matthew@baggett.me>" \
      org.label-schema.vcs-url="https://github.com/benzine-framework/docker-s3db" \
      org.opencontainers.image.source="https://github.com/benzine-framework/docker-s3db"

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ENV DEBIAN_FRONTEND="teletype" \
    TERM=xterm-256color \
    COMPOSER_ALLOW_SUPERUSER=1
RUN echo "APT::Acquire::Retries \"5\";" > /etc/apt/apt.conf.d/80-retries && \
    echo "Acquire::http::No-Cache=true;" > /etc/apt/apt.conf.d/80-no-cache && \
    echo "Acquire::http::Pipeline-Depth=0;" > /etc/apt/apt.conf.d/80-no-pipeline && \
    apt-get -qq update && \
    apt-get -yqq upgrade && \
    apt-get -yqq install --no-install-recommends \
        nano \
        curl \
        xz-utils \
        dos2unix \
        runit \
        python3-software-properties \
        software-properties-common \
        add-apt-key \
    && \
    add-apt-repository ppa:ondrej/php && \
    apt-get -qq update && \
    apt-get -yqq install --no-install-recommends \
        #php8.3-apcu \
        php8.3-bcmath \
        #php8.3-bz2 \
        php8.3-cli \
        php8.3-curl \
        php8.3-mysql \
        #php8.3-opcache \
        #php8.3-phpdbg \
        php8.3-xml \
        php8.3-zip \
        && \
    apt-get remove -yqq \
        software-properties-common \
        python-apt-common \
        python3-software-properties \
        python3.5 python3.5-minimal libpython3.5-minimal \
        && \
    apt-get autoremove -yqq && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log && \
    curl https://getcomposer.org/composer-stable.phar --output /usr/local/bin/composer && \
    chmod +x /usr/local/bin/composer
COPY start.sh /usr/local/bin/start.sh
COPY mysql.runit /etc/service/mysql/run
COPY sync-pull.runit /etc/service/sync-pull/run
COPY sync-push.runit /etc/service/sync-push/run
COPY sync-prune.runit /etc/service/sync-prune/run
VOLUME /dumps
WORKDIR /sync
COPY composer.* /sync/
RUN composer install
COPY syncer /sync/syncer
COPY sync /sync/sync
COPY start.sh /sync/start.sh
ENV PATH="/sync:${PATH}"
RUN ln -s /sync/vendor/bin/wait-for-mariadb /usr/local/bin/wait-for-database && \
    chmod +x /sync/sync /etc/service/*/run
ENTRYPOINT ["/sync/start.sh"]
CMD []
HEALTHCHECK --start-period=30s \
    CMD /usr/local/bin/healthcheck.sh \
        --defaults-extra-file=/etc/healthcheck.cnf \
        --connect
STOPSIGNAL SIGTERM