mirror of
https://github.com/ledgersmb/ledgersmb-docker.git
synced 2025-10-14 08:10:30 -04:00
Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1387c10fd1 | ||
|
cbb3a0d843 | ||
|
0e41af2b67 | ||
|
a30d23bbb6 | ||
|
e10bd36b80 | ||
|
1a56d1523d | ||
|
aa260dcec9 | ||
|
402f541a5e | ||
|
9499b6ffc1 | ||
|
d0384889a8 | ||
|
2d4bb886f8 | ||
|
8e3f80f65f | ||
|
cd29bd895f | ||
|
42e6eb783e | ||
|
09cf2e16b7 | ||
|
2a5dff2dd7 | ||
|
e2bf781058 | ||
|
1148c219ec | ||
|
e5c6072505 |
85
Dockerfile
85
Dockerfile
@@ -1,50 +1,59 @@
|
||||
FROM perl:5
|
||||
FROM debian:jessie
|
||||
MAINTAINER Freelock john@freelock.com
|
||||
|
||||
# Use postgres repository to get newer pg_dump and postgres client
|
||||
RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
|
||||
echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main 9.6" |tee /etc/apt/sources.list.d/postgres.list
|
||||
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-9.6 \
|
||||
lpr \
|
||||
ssmtp
|
||||
# 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.6
|
||||
ENV LSMB_VERSION 1.5.11
|
||||
|
||||
# Install LedgerSMB
|
||||
RUN cd /srv && \
|
||||
curl -Lo ledgersmb-$LSMB_VERSION.tar.gz "http://downloads.sourceforge.net/project/ledger-smb/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fledger-smb%2Ffiles%2FReleases%2F$LSMB_VERSION%2F&ts=1483124209&use_mirror=superb-sea2" && \
|
||||
tar -xvzf ledgersmb-$LSMB_VERSION.tar.gz
|
||||
# https://sourceforge.net/projects/ledger-smb/files/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz/download && \
|
||||
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
|
||||
|
||||
# 1.5 requirements
|
||||
RUN cpanm --quiet --notest \
|
||||
--with-feature=starman \
|
||||
--with-feature=latex-pdf-ps \
|
||||
--with-feature=openoffice \
|
||||
--installdeps .
|
||||
# master requirements
|
||||
|
||||
# Configure outgoing mail to use host, other run time variable defaults
|
||||
|
||||
@@ -75,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"]
|
||||
|
28
start.sh
28
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";
|
||||
@@ -35,4 +42,7 @@ done ;
|
||||
echo "Selected PERL5LIB=$PERL5LIB";
|
||||
|
||||
# start ledgersmb
|
||||
exec starman --port 5762 tools/starman.psgi
|
||||
# --preload-app allows application initialization to kill the entire
|
||||
# starman instance (instead of just the worker, which will immediately
|
||||
# get restarted); it also has a positive effect on memory use
|
||||
exec starman --port 5762 --preload-app tools/starman.psgi
|
||||
|
Reference in New Issue
Block a user