ARG DISTRO=alpine:3.14.2 FROM $DISTRO # python3 shared with most images RUN apk add --no-cache \ python3 py3-pip bash py3-multidict tzdata \ && pip3 install --upgrade pip # Shared layer between nginx, dovecot, postfix, postgresql, rspamd, unbound, rainloop, roundcube RUN pip3 install socrate==0.2.0 # Image specific layers under this line RUN apk add --no-cache \ postgresql postgresql-libs busybox-suid sudo tar \ && apk add --virtual .build-deps gcc musl-dev postgresql-dev python3-dev \ && pip3 install psycopg2 anosql==0.3.1 \ && apk --purge del .build-deps COPY start.py /start.py COPY basebackup.sh /basebackup.sh COPY conf /conf COPY postgres_crontab /etc/postgres_crontab RUN crontab /etc/postgres_crontab ENV LANG en_US.UTF-8 RUN mkdir -p /data /backup /run/postgresql \ && chown -R postgres:postgres /run/postgresql \ && chmod 2777 /run/postgresql VOLUME /data VOLUME /backup EXPOSE 5432 CMD /start.py HEALTHCHECK CMD psql -h 127.0.0.1 -d postgres -U health -c "select 1 as ok;" || exit 1