Update docker image to use Buster as baseline

This commit is contained in:
Erik Huelsmann
2020-04-12 09:56:03 +02:00
parent 5adfac5a82
commit 7dcd5c1709
3 changed files with 127 additions and 56 deletions

View File

@@ -1,4 +1,4 @@
FROM debian:stretch
FROM debian:buster-slim
MAINTAINER Freelock john@freelock.com
# Install Perl, Tex, Starman, psql client, and all dependencies
@@ -11,35 +11,39 @@ MAINTAINER Freelock john@freelock.com
# That mitigates issues where the PG instance is running a newer version than this container
RUN echo "APT::Install-Recommends \"false\";\nAPT::Install-Suggests \"false\";" > /etc/apt/apt.conf.d/00recommends && \
DEBIAN_FRONTEND="noninteractive" apt-mark hold sensible-utils && \
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install \
wget ca-certificates gnupg \
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
libdbd-pg-perl libdbi-perl libdata-uuid-perl libdatetime-perl \
libdatetime-format-strptime-perl libio-stringy-perl \
libjson-xs-perl libcpanel-json-xs-perl liblist-moreutils-perl \
libcgi-emulate-psgi-perl libconfig-inifiles-perl \
libcookie-baker-perl libdbd-pg-perl libdbi-perl libdata-uuid-perl \
libdatetime-perl libdatetime-format-strptime-perl \
libemail-sender-perl libemail-stuffer-perl libfile-find-rule-perl \
libhtml-escape-perl libhttp-headers-fast-perl libio-stringy-perl \
libjson-maybexs-perl libcpanel-json-xs-perl libjson-pp-perl \
liblist-moreutils-perl \
liblocale-maketext-perl liblocale-maketext-lexicon-perl \
liblog-log4perl-perl libmime-lite-perl libmime-types-perl \
libmath-bigint-gmp-perl libmodule-runtime-perl libmoose-perl \
liblog-log4perl-perl libmime-types-perl \
libmath-bigint-gmp-perl libmodule-runtime-perl libmoo-perl \
libmoox-types-mooselike-perl libmoose-perl \
libmoosex-nonmoose-perl libnumber-format-perl \
libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
libpgobject-type-bigfloat-perl libpgobject-type-datetime-perl \
libpgobject-type-bytestring-perl libpgobject-util-dbmethod-perl \
libpgobject-util-dbadmin-perl libplack-perl libfile-find-rule-perl \
libplack-middleware-reverseproxy-perl \
libpgobject-util-dbadmin-perl libplack-perl \
libplack-builder-conditionals-perl libplack-middleware-reverseproxy-perl \
libplack-request-withencoding-perl libscope-guard-perl \
libsession-storage-secure-perl libstring-random-perl \
libtemplate-perl libtext-csv-perl libtext-csv-xs-perl \
libtext-markdown-perl libxml-simple-perl \
libnamespace-autoclean-perl \
libimage-size-perl \
libtext-markdown-perl libtry-tiny-perl libversion-compare-perl \
libxml-simple-perl libnamespace-autoclean-perl \
starman starlet libhttp-parser-xs-perl \
libtemplate-plugin-latex-perl libtex-encode-perl \
libxml-twig-perl libopenoffice-oodoc-perl \
libexcel-writer-xlsx-perl libspreadsheet-writeexcel-perl \
libclass-c3-xs-perl \
texlive-latex-recommended \
texlive-xetex fonts-liberation \
starman \
libopenoffice-oodoc-perl \
ssmtp \
lsb-release && \
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
(wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -) && \
@@ -51,7 +55,7 @@ RUN echo "APT::Install-Recommends \"false\";\nAPT::Install-Suggests \"false\";"
# Build time variables
ENV LSMB_VERSION 1.7.0-beta1
ENV LSMB_VERSION master
ENV NODE_PATH /usr/local/lib/node_modules
@@ -64,13 +68,14 @@ ENV DOJO_Build_Deps git make gcc libperl-dev curl nodejs
# These packages can be removed after the dojo build
ENV DOJO_Build_Deps_removal ${DOJO_Build_Deps} nodejs
RUN wget --quiet -O - https://deb.nodesource.com/setup_8.x | bash -
RUN wget --quiet -O - https://deb.nodesource.com/setup_12.x | bash -
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install ${DOJO_Build_Deps} && \
cd /srv && \
git clone --recursive -b $LSMB_VERSION https://github.com/ledgersmb/LedgerSMB.git ledgersmb && \
cd ledgersmb && \
(curl -L https://cpanmin.us | perl - App::cpanminus) && \
cpanm --reinstall --notest Locale::Country Locale::Codes Locale::Language && \
cpanm --quiet --notest \
--with-feature=starman \
--with-feature=latex-pdf-ps \
@@ -92,26 +97,23 @@ ENV NODE_PATH=
# Configure outgoing mail to use host, other run time variable defaults
## sSMTP
ENV SSMTP_ROOT ar@example.com
ENV SSMTP_MAILHUB 172.17.0.1
ENV SSMTP_HOSTNAME 172.17.0.1
#ENV SSMTP_USE_STARTTLS
#ENV SSMTP_AUTH_USER
#ENV SSMTP_AUTH_PASS
ENV SSMTP_FROMLINE_OVERRIDE YES
#ENV SSMTP_AUTH_METHOD
## MAIL
ENV LSMB_MAIL_SMTPHOST 172.17.0.1
#ENV LSMB_MAIL_SMTPPORT 25
#ENV LSMB_MAIL_SMTPSENDER_HOSTNAME (container hostname)
#ENV LSMB_MAIL_SMTPTLS
#ENV LSMB_MAIL_SMTPUSER
#ENV LSMB_MAIL_SMTPPASS
#ENV LSMB_MAIL_SMTPAUTHMECH
ENV POSTGRES_HOST postgres
ENV POSTGRES_PORT 5432
ENV DEFAULT_DB lsmb
COPY start.sh /usr/local/bin/start.sh
COPY update_ssmtp.sh /usr/local/bin/update_ssmtp.sh
RUN chown www-data /etc/ssmtp /etc/ssmtp/ssmtp.conf && \
chmod +x /usr/local/bin/update_ssmtp.sh /usr/local/bin/start.sh && \
mkdir -p /var/www
RUN chmod +x /usr/local/bin/start.sh && \
mkdir -p /var/www
# Work around an aufs bug related to directory permissions:
RUN mkdir -p /tmp && \