mirror of
https://github.com/ledgersmb/ledgersmb-docker.git
synced 2025-10-14 16:20:29 -04:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
cbb3a0d843 | ||
|
0e41af2b67 | ||
|
a30d23bbb6 | ||
|
e10bd36b80 | ||
|
1a56d1523d | ||
|
aa260dcec9 | ||
|
402f541a5e | ||
|
9499b6ffc1 | ||
|
d0384889a8 | ||
|
2d4bb886f8 | ||
|
8e3f80f65f | ||
|
cd29bd895f | ||
|
42e6eb783e |
76
Dockerfile
76
Dockerfile
@@ -4,44 +4,56 @@ MAINTAINER Freelock john@freelock.com
|
||||
RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >> /etc/apt/apt.conf
|
||||
|
||||
# Install Perl, Tex, Starman, psql client, and all dependencies
|
||||
RUN DEBIAN_FRONTENT=noninteractive && \
|
||||
apt-get update && apt-get dist-upgrade -y && apt-get -y install \
|
||||
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
|
||||
libdbd-pg-perl libdbi-perl libdatetime-perl \
|
||||
libdatetime-format-strptime-perl libdigest-md5-perl \
|
||||
libfile-mimeinfo-perl libjson-xs-perl libjson-perl \
|
||||
liblocale-maketext-perl liblocale-maketext-lexicon-perl \
|
||||
liblog-log4perl-perl libmime-base64-perl libmime-lite-perl \
|
||||
libmath-bigint-gmp-perl libmoose-perl libnumber-format-perl \
|
||||
libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
|
||||
libpgobject-util-dbmethod-perl libplack-perl libtemplate-perl \
|
||||
libnamespace-autoclean-perl \
|
||||
libtemplate-plugin-latex-perl libtex-encode-perl \
|
||||
libmoosex-nonmoose-perl \
|
||||
texlive-latex-recommended \
|
||||
texlive-xetex \
|
||||
starman \
|
||||
libopenoffice-oodoc-perl \
|
||||
postgresql-client \
|
||||
ssmtp \
|
||||
git cpanminus make gcc libperl-dev lsb-release
|
||||
# Without libclass-c3-xs-perl, performance is terribly slow...
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||
apt-get dist-upgrade -y && apt-get -y install \
|
||||
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
|
||||
libdbd-pg-perl libdbi-perl libdatetime-perl \
|
||||
libdatetime-format-strptime-perl libdigest-md5-perl \
|
||||
libfile-mimeinfo-perl libjson-xs-perl libjson-perl \
|
||||
liblocale-maketext-perl liblocale-maketext-lexicon-perl \
|
||||
liblog-log4perl-perl libmime-base64-perl libmime-lite-perl \
|
||||
libmath-bigint-gmp-perl libmoose-perl libnumber-format-perl \
|
||||
libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
|
||||
libpgobject-util-dbmethod-perl libplack-perl libtemplate-perl \
|
||||
libnamespace-autoclean-perl \
|
||||
libtemplate-plugin-latex-perl libtex-encode-perl \
|
||||
libmoosex-nonmoose-perl libclass-c3-xs-perl \
|
||||
texlive-latex-recommended \
|
||||
texlive-xetex \
|
||||
starman \
|
||||
libopenoffice-oodoc-perl \
|
||||
postgresql-client \
|
||||
ssmtp \
|
||||
lsb-release \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
# Build time variables
|
||||
ENV LSMB_VERSION 1.5.7
|
||||
ENV LSMB_VERSION 1.5.10
|
||||
|
||||
# Install LedgerSMB
|
||||
RUN cd /srv && \
|
||||
curl -Lo ledgersmb-$LSMB_VERSION.tar.gz "https://github.com/ledgersmb/LedgerSMB/releases/download/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
|
||||
tar -xvzf ledgersmb-$LSMB_VERSION.tar.gz
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||
apt-get -y install git cpanminus make gcc libperl-dev && \
|
||||
cd /srv && \
|
||||
curl -Lo ledgersmb-$LSMB_VERSION.tar.gz "http://download.ledgersmb.org/f/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
|
||||
tar -xvzf ledgersmb-$LSMB_VERSION.tar.gz && \
|
||||
rm -f ledgersmb-$LSMB_VERSION.tar.gz && \
|
||||
cd ledgersmb && \
|
||||
cpanm --quiet --notest \
|
||||
--with-feature=starman \
|
||||
--with-feature=latex-pdf-ps \
|
||||
--with-feature=openoffice \
|
||||
--installdeps . && \
|
||||
apt-get purge -y git cpanminus make gcc libperl-dev && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get autoclean && \
|
||||
rm -rf ~/.cpanm/ && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /srv/ledgersmb
|
||||
|
||||
# master requirements
|
||||
RUN cpanm --quiet --notest \
|
||||
--with-feature=starman \
|
||||
--with-feature=latex-pdf-ps \
|
||||
--with-feature=openoffice \
|
||||
--installdeps .
|
||||
|
||||
# Configure outgoing mail to use host, other run time variable defaults
|
||||
|
||||
@@ -72,8 +84,6 @@ RUN mkdir -p /tmp && \
|
||||
|
||||
# Internal Port Expose
|
||||
EXPOSE 5762
|
||||
# If ledgersmb.conf does not exist, www-data user needs to be able to create it.
|
||||
RUN chown www-data /srv/ledgersmb
|
||||
USER www-data
|
||||
|
||||
USER www-data
|
||||
CMD ["start.sh"]
|
||||
|
23
start.sh
23
start.sh
@@ -4,14 +4,20 @@ update_ssmtp.sh
|
||||
cd /srv/ledgersmb
|
||||
|
||||
if [[ ! -f ledgersmb.conf ]]; then
|
||||
cp conf/ledgersmb.conf.default ledgersmb.conf
|
||||
sed -i \
|
||||
-e "s/\(cache_templates = \).*\$/cache_templates = 1/g" \
|
||||
-e "s/\(host = \).*\$/\1$POSTGRES_HOST/g" \
|
||||
-e "s/\(port = \).*\$/\1$POSTGRES_PORT/g" \
|
||||
-e "s/\(default_db = \).*\$/\1$DEFAULT_DB/g" \
|
||||
-e "s%\(sendmail = \).*%\1/usr/sbin/ssmtp%g" \
|
||||
/srv/ledgersmb/ledgersmb.conf
|
||||
cat <<EOF >/tmp/ledgersmb.conf
|
||||
[main]
|
||||
cache_templates = 1
|
||||
|
||||
[database]
|
||||
host = $POSTGRES_HOST
|
||||
port = $POSTGRES_PORT
|
||||
default_db = $DEFAULT_DB
|
||||
|
||||
[mail]
|
||||
sendmail = /usr/sbin/ssmtp
|
||||
|
||||
EOF
|
||||
export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf'
|
||||
fi
|
||||
|
||||
if [ ! -f "/tmp/ledgersmb" ]; then
|
||||
@@ -26,6 +32,7 @@ fi
|
||||
|
||||
# Needed for modules loaded by cpanm
|
||||
export PERL5LIB
|
||||
|
||||
for PerlLib in /usr/lib/perl5* /usr/local/lib/perl5*/site_perl/* ; do
|
||||
[[ -d "$PerlLib" ]] && {
|
||||
PERL5LIB="$PerlLib";
|
||||
|
Reference in New Issue
Block a user