Docker-S3DB/Dockerfile.postgres

76 lines
2.3 KiB
Text
Raw Normal View History

2022-08-20 03:20:49 +00:00
ARG PGSQL_VERSION
FROM postgres:$PGSQL_VERSION-alpine AS postgres
2022-08-28 09:38:02 +00:00
RUN apk add --no-cache runit && \
apk --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/main add \
2022-08-20 03:20:49 +00:00
icu-libs \
&&\
apk --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/community add \
# Current packages don't exist in other repositories
libavif \
&& \
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv \
2022-08-28 11:18:57 +00:00
# Packages \
2022-09-01 10:14:41 +00:00
nano \
2022-08-28 11:18:57 +00:00
curl \
2022-08-20 03:20:49 +00:00
tini \
php81 \
php81-dev \
php81-common \
php81-gd \
php81-xmlreader \
php81-bcmath \
php81-ctype \
php81-curl \
php81-exif \
php81-iconv \
php81-intl \
php81-mbstring \
php81-opcache \
php81-openssl \
php81-pcntl \
php81-phar \
php81-session \
php81-xml \
php81-xsl \
php81-zip \
php81-zlib \
php81-dom \
php81-fpm \
php81-sodium \
php81-tokenizer \
2022-08-23 12:19:05 +00:00
php81-fileinfo \
php81-simplexml \
2022-08-20 03:20:49 +00:00
# Iconv Fix
php81-pecl-apcu \
2022-08-23 12:19:05 +00:00
ncurses \
xz \
2022-08-28 11:23:21 +00:00
&& ln -s /usr/bin/php81 /usr/bin/php
2022-08-28 11:18:57 +00:00
RUN curl https://getcomposer.org/composer-stable.phar --output /usr/local/bin/composer && \
chmod +x /usr/local/bin/composer
2022-08-20 03:20:49 +00:00
COPY start.sh /usr/local/bin/start.sh
COPY postgres.runit /etc/service/postgres/run
2022-08-23 12:19:05 +00:00
COPY sync-pull.runit /etc/service/sync-pull/run
COPY sync-push.runit /etc/service/sync-push/run
VOLUME /dumps
2022-08-20 03:20:49 +00:00
WORKDIR /sync
2022-08-28 11:23:21 +00:00
COPY composer.* /sync/
2022-08-28 09:38:02 +00:00
COPY syncer /sync/syncer
COPY sync /sync/sync
COPY start.sh /sync/start.sh
COPY postgres_healthcheck.sh /usr/local/bin/postgres_healthcheck
RUN composer install
ENV PATH="/sync:${PATH}"
RUN ln -s /sync/vendor/bin/wait-for-postgresql /usr/local/bin/wait-for-database && \
chmod +x /sync/sync /etc/service/*/run /usr/local/bin/postgres_healthcheck
ENTRYPOINT ["/bin/bash", "/sync/start.sh"]
STOPSIGNAL SIGINT
CMD ["/bin/bash", "/sync/start.sh"]
HEALTHCHECK --start-period=30s \
CMD /usr/local/bin/postgres_healthcheck
FROM postgres AS postgres-traptest
COPY traptest.sh /usr/local/bin/traptest
RUN chmod +x /usr/local/bin/traptest
CMD []
ENTRYPOINT ["/usr/local/bin/traptest"]