66 lines
2.3 KiB
Text
66 lines
2.3 KiB
Text
ARG MARIADB_VERSION=10.9
|
|
FROM mariadb:$MARIADB_VERSION AS mariadb
|
|
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-repository -y ppa:ondrej/php && \
|
|
apt-get -qq update && \
|
|
apt-get -yqq install --no-install-recommends \
|
|
#php8.1-apcu \
|
|
php8.1-bcmath \
|
|
#php8.1-bz2 \
|
|
php8.1-cli \
|
|
php8.1-curl \
|
|
php8.1-mysql \
|
|
#php8.1-opcache \
|
|
#php8.1-phpdbg \
|
|
php8.1-xml \
|
|
php8.1-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
|
|
RUN 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
|
|
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
|