Compare commits

..

10 Commits

Author SHA1 Message Date
Erik Huelsmann
fdc17840d8 * Automatic Dockerfile update by release process 2019-08-18 20:23:20 +00:00
Erik Huelsmann
ea0fbaab99 * Automatic Dockerfile update by release process 2018-12-25 23:23:49 +00:00
Erik Huelsmann
00335a0c04 * Automatic Dockerfile update by release process 2018-12-16 17:17:21 +00:00
Erik Huelsmann
d5e0648af3 * Automatic Dockerfile update by release process 2018-12-14 11:24:37 +00:00
Erik Huelsmann
5ce2cf5310 * Automatic Dockerfile update by release process 2018-05-31 20:40:48 +00:00
Erik Huelsmann
b2b13409b5 * Add option to set the number of Starman workers 2018-05-23 23:20:36 +02:00
Erik Huelsmann
f5306a1e3e * Adjust database host name so that the Compose setup works out-of-the-box again 2018-05-23 21:48:03 +02:00
Erik Huelsmann
681a604143 * Add documentation of the availability of a 'ports' statement
Note that we found in the LedgerSMB Matrix chat channel that users
need more straight forward ways to quickly evaluate our proposition
which they are able to offer if we skip the TLS requirement

Also note that the TLS requirement requires a domain, which some
might not have at the stage where the system is only being evaluated.
2018-05-23 21:43:12 +02:00
Erik Huelsmann
5b4970253c * Automatic Dockerfile update by release process 2018-04-14 07:52:39 +00:00
Erik Huelsmann
3d0b2b2a90 * Automatic Dockerfile update by release process 2018-04-02 18:55:35 +00:00
4 changed files with 58 additions and 61 deletions

View File

@@ -1,26 +1,16 @@
FROM debian:stretch-slim FROM debian:jessie-slim
MAINTAINER Freelock john@freelock.com MAINTAINER Freelock john@freelock.com
# Build time variables # Build time variables
ARG LSMB_VERSION="1.7.0-rc1" ENV LSMB_VERSION 1.5.25
ARG LSMB_DL_DIR="Beta Releases"
# Install Perl, Tex, Starman, psql client, and all dependencies # Install Perl, Tex, Starman, psql client, and all dependencies
# Without libclass-c3-xs-perl, performance is terribly slow... # Without libclass-c3-xs-perl, performance is terribly slow...
# Without libclass-accessor-lite-perl, HTML::Entities won't build from CPAN
# libnet-cidr-lite-perl is a dependency for Plack::Builder::Conditionals
# which is being installed from CPAN
# libtest-requires-perl is a dependency of Module-Build-Pluggable-PPPort
# on which HTML::Escape depends
# Installing psql client directly from instructions at https://wiki.postgresql.org/wiki/Apt # Installing psql client directly from instructions at https://wiki.postgresql.org/wiki/Apt
# That mitigates issues where the PG instance is running a newer version than this container # That mitigates issues where the PG instance is running a newer version than this container
# for Buster, add:
# libhtml-escape-perl \
# libplack-middleware-builder-conditionals-perl \
# libplack-request-withencoding-perl \
#libversion-compare-perl
RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >> /etc/apt/apt.conf && \ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >> /etc/apt/apt.conf && \
mkdir -p /usr/share/man/man1/ && \ mkdir -p /usr/share/man/man1/ && \
mkdir -p /usr/share/man/man2/ && \ mkdir -p /usr/share/man/man2/ && \
@@ -29,55 +19,46 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
mkdir -p /usr/share/man/man5/ && \ mkdir -p /usr/share/man/man5/ && \
mkdir -p /usr/share/man/man6/ && \ mkdir -p /usr/share/man/man6/ && \
mkdir -p /usr/share/man/man7/ && \ mkdir -p /usr/share/man/man7/ && \
DEBIAN_FRONTEND="noninteractive" apt-get update -q && \ DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND="noninteractive" apt-get dist-upgrade -y -q && \ apt-get dist-upgrade -y && apt-get -y install \
DEBIAN_FRONTEND="noninteractive" apt-get -y -q install \ curl wget ca-certificates \
wget ca-certificates gnupg \ libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
libcgi-emulate-psgi-perl libconfig-inifiles-perl \ libdbd-pg-perl libdbi-perl libdatetime-perl \
libdbd-pg-perl libdbi-perl libdata-uuid-perl libdatetime-perl \ libdatetime-format-strptime-perl libdigest-md5-perl \
libdatetime-format-strptime-perl \ libfile-mimeinfo-perl libjson-xs-perl libjson-perl \
libio-stringy-perl \
libcpanel-json-xs-perl liblist-moreutils-perl \
liblocale-maketext-perl liblocale-maketext-lexicon-perl \ liblocale-maketext-perl liblocale-maketext-lexicon-perl \
liblog-log4perl-perl libmime-lite-perl libmime-types-perl \ liblog-log4perl-perl libmime-base64-perl libmime-lite-perl \
libmath-bigint-gmp-perl libmodule-runtime-perl libmoose-perl \ libmath-bigint-gmp-perl libmoose-perl libnumber-format-perl \
libmoosex-nonmoose-perl libnumber-format-perl \
libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \ libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
libpgobject-type-bigfloat-perl libpgobject-type-datetime-perl \ libpgobject-util-dbmethod-perl libplack-perl libtemplate-perl \
libpgobject-type-bytestring-perl libpgobject-util-dbmethod-perl \
libpgobject-util-dbadmin-perl libplack-perl \
libplack-middleware-reverseproxy-perl \
libtemplate-perl libtext-csv-perl libtext-csv-xs-perl \
libtext-markdown-perl libxml-simple-perl \
libnamespace-autoclean-perl \ libnamespace-autoclean-perl \
libfile-find-rule-perl \
libtemplate-plugin-latex-perl libtex-encode-perl \ libtemplate-plugin-latex-perl libtex-encode-perl \
libclass-c3-xs-perl libclass-accessor-lite-perl \ libmoosex-nonmoose-perl libclass-c3-xs-perl \
libnet-cidr-lite-perl \
texlive-latex-recommended \ texlive-latex-recommended \
texlive-xetex fonts-liberation \ texlive-xetex fonts-liberation \
starman \ starman \
libopenoffice-oodoc-perl \ libopenoffice-oodoc-perl \
postgresql-client \
ssmtp \ ssmtp \
lsb-release && \ lsb-release && \
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ 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 -) && \ (wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -) && \
DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \ DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -q -y install postgresql-client && \ DEBIAN_FRONTEND="noninteractive" apt-get -y install postgresql-client && \
DEBIAN_FRONTEND="noninteractive" apt-get -q -y install git cpanminus make gcc libperl-dev && \ DEBIAN_FRONTEND=noninteractive apt-get -y install git cpanminus make gcc libperl-dev && \
wget --quiet -O /tmp/ledgersmb-$LSMB_VERSION.tar.gz "https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \ curl -Lo /tmp/ledgersmb-$LSMB_VERSION.tar.gz "https://download.ledgersmb.org/f/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
tar -xzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \ tar -xvzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \ rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
cpanm --notest \ cpanm --quiet --notest \
--with-feature=starman \ --with-feature=starman \
--with-feature=latex-pdf-ps \ --with-feature=latex-pdf-ps \
--with-feature=openoffice \ --with-feature=openoffice \
--installdeps /srv/ledgersmb/ && \ --installdeps /srv/ledgersmb/ && \
apt-get purge -q -y git cpanminus make gcc libperl-dev && \ apt-get purge -y git cpanminus make gcc libperl-dev && \
apt-get autoremove -q -y && \ apt-get autoremove -y && \
apt-get autoclean -q && \ apt-get autoclean && \
rm -rf ~/.cpanm/ && \ rm -rf ~/.cpanm/ && \
rm -rf /var/lib/apt/lists/* /usr/share/man/* rm -rf /var/lib/apt/lists/* /usr/share/man/*
WORKDIR /srv/ledgersmb WORKDIR /srv/ledgersmb

View File

@@ -3,9 +3,10 @@ Dockerfile for LedgerSMB Docker image
# Supported tags # Supported tags
- `1.6`, `1.6.x`, `latest` - Latest release tarball from 1.6 branch - `1.5`, `1.5.x`, `latest` - Latest release tarball from 1.5 branch
- `1.5`, `1.5.x` - Latest release tarball from 1.5 branch
- `1.4`, `1.4.x` - Latest tagged release of git 1.4 branch - `1.4`, `1.4.x` - Latest tagged release of git 1.4 branch
- `master` - Master branch from git, unstable
- `master-dev`, `1.5-dev` - Containers to kick off a development setup
# What is LedgerSMB? # What is LedgerSMB?
@@ -39,12 +40,12 @@ could require additional setup of a mail service or CUPS printer service.
The quickest way to get this image up and running is by using the The quickest way to get this image up and running is by using the
`docker-compose` file available through the GitHub repository at: `docker-compose` file available through the GitHub repository at:
https://github.com/ledgersmb/ledgersmb-docker/blob/1.6/docker-compose.yml https://github.com/ledgersmb/ledgersmb-docker/blob/1.5/docker-compose.yml
which sets up both this image and a supporting database image for which sets up both this image and a supporting database image for
production purposes (i.e. with persistent (database) data, with the production purposes (i.e. with persistent (database) data, with the
exception of one thing: setting up an Nginx or Apache reverse proxy exception of one thing: setting up an Nginx or Apache reverse proxy
with TLS 1.2/1.3 support -- a requirement if you want to access your with TLS 1.2 support -- a requirement if you want to access your
installation over any type of network. installation over any type of network.
# How to use this image # How to use this image

View File

@@ -28,7 +28,7 @@ services:
lsmb: lsmb:
depends_on: depends_on:
- postgres - postgres
image: ledgersmb/ledgersmb:1.6 image: ledgersmb/ledgersmb:1.5
networks: networks:
- internal - internal
- default - default

View File

@@ -20,14 +20,29 @@ EOF
export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf' export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf'
fi fi
if [ ! -d "/tmp/ledgersmb" ]; then if [ ! -f "/tmp/ledgersmb" ]; then
mkdir -p /tmp/ledgersmb mkdir /tmp/ledgersmb
fi fi
# Currently unmaintained/untested
# if [ ! -z ${CREATE_DATABASE+x} ]; then
# perl tools/dbsetup.pl --company $CREATE_DATABASE \
# --host $POSTGRES_HOST \
# --postgres_password "$POSTGRES_PASS"
#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";
echo -e "\tmaybe: $PerlLib";
}
done ;
echo "Selected PERL5LIB=$PERL5LIB";
# start ledgersmb # start ledgersmb
# --preload-app allows application initialization to kill the entire # --preload-app allows application initialization to kill the entire
# starman instance (instead of just the worker, which will immediately # starman instance (instead of just the worker, which will immediately
# get restarted); it also has a positive effect on memory use # get restarted); it also has a positive effect on memory use
exec starman --port 5762 --workers ${LSMB_WORKERS:-5} --preload-app tools/starman.psgi
exec starman --port 5762 --workers ${LSMB_WORKERS:-5} -I lib -I old/lib \
--preload-app bin/ledgersmb-server.psgi