Compare commits

..

16 Commits

Author SHA1 Message Date
John Locke
7b379e31c5 Bump version 2016-03-28 14:42:37 -07:00
John Locke
74b62255be Merge pull request #1 from maikkeli/dockerfile-reorder
Reorder dockerfile commands to optimise caching of docker layers
2016-01-27 07:51:49 -08:00
maikkeli
34852d3c1d restore comment 2016-01-28 00:58:02 +10:30
maikkeli
469dc75708 Reorder dockerfile commands to optimise caching 2016-01-27 20:23:47 +10:30
John Locke
a057cbdfc5 ledgersmb.conf.default has moved to conf/. Update start.sh. 2016-01-08 09:37:25 -08:00
John Locke
3578ef79e3 Search for perl5lib path -- it has changed on us 2016-01-04 22:04:07 -08:00
John Locke
376ed18c81 Move scripts to /usr/local/bin, cleanup 2016-01-04 22:03:54 -08:00
John Locke
d1ce52d26f 1.5.0-beta3 2016-01-02 22:46:29 -08:00
John Locke
2679a71a79 Fix grep flag 2015-11-19 12:00:43 -08:00
John Locke
11b9c43044 Patch from dcg: detect /etc/ssmtp.conf changes inside update script, instead of touching a /tmp file 2015-11-19 11:58:47 -08:00
John Locke
aa6a9d5b12 Set cpanm to quiet to prevent docker build from interpreting "1" as an error 2015-10-21 12:07:17 -07:00
John Locke
30a4f5ea91 Update readme for versions built 2015-08-01 10:11:44 -07:00
John Locke
2235f035a0 README improvements 2015-07-05 13:44:29 -07:00
John Locke
e20f3a1899 Switch Master branch to use perl:5 base image, and load necessary modules using cpanm 2015-07-05 11:34:01 -07:00
John Locke
07db28af99 Doc fixes 2015-07-05 09:07:43 -07:00
John Locke
2f7155e599 Make master branch track master upstream ledgersmb 2015-07-05 01:10:15 -07:00
3 changed files with 41 additions and 44 deletions

View File

@@ -1,7 +1,6 @@
FROM perl:5
MAINTAINER Freelock john@freelock.com
# Install Perl, Tex, Starman, psql client, and all dependencies
RUN DEBIAN_FRONTENT=noninteractive && \
apt-get update && apt-get -y install \
@@ -16,32 +15,37 @@ RUN DEBIAN_FRONTENT=noninteractive && \
libconfig-inifiles-perl libnamespace-autoclean-perl \
libcarp-always-perl libjson-perl \
libtemplate-plugin-latex-perl texlive-latex-recommended \
texlive-latex-base texlive-latex-extra \
texlive-xetex \
libnet-tclink-perl \
libxml-twig-perl \
libtex-encode-perl \
libdevel-trace-perl \
starman \
postgresql-client \
postgresql-client-9.4 \
ssmtp
# 1.5 requirements
RUN apt-get install -y \
libpgobject-perl \
libpgobject-simple-perl \
libpgobject-simple-role-perl \
libpgobject-util-dbmethod-perl \
&& cpanm -nq \
Carton \
PGObject::Type::BigFloat \
PGObject::Composite \
PGObject::Type::JSON \
PGObject::Type::Composite \
PGObject::Type::DateTime \
App::LedgerSMB::Admin
# Build time variables
ENV LSMB_VERSION 1.4.42
ENV LSMB_VERSION 1.5.0-beta4
# Install LedgerSMB
RUN cd /srv && \
git clone -b $LSMB_VERSION https://github.com/ledgersmb/LedgerSMB.git ledgersmb
git clone https://github.com/ledgersmb/LedgerSMB.git ledgersmb
WORKDIR /srv/ledgersmb
# 1.4.29+ requirements
RUN cpanm --quiet --notest \
--with-feature=starman \
--with-feature=latex-pdf-ps \
--with-feature=openoffice \
--installdeps .
RUN git checkout $LSMB_VERSION
#RUN sed -i \
# -e "s/short_open_tag = Off/short_open_tag = On/g" \
@@ -62,23 +66,17 @@ ENV SSMTP_FROMLINE_OVERRIDE YES
#ENV SSMTP_AUTH_METHOD
ENV POSTGRES_HOST postgres
ENV POSTGRES_PORT 5432
ENV DEFAULT_DB lsmb
COPY start.sh /usr/bin/start.sh
COPY update_ssmtp.sh /usr/bin/update_ssmtp.sh
#RUN cpanm \
# CGI::Compile
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/bin/update_ssmtp.sh /usr/bin/start.sh && \
chmod +x /usr/local/bin/update_ssmtp.sh /usr/local/bin/start.sh && \
mkdir -p /var/www
# Work around an aufs bug related to directory permissions:
RUN mkdir -p /tmp && \
chmod 1777 /tmp
# Not sure why this is not set correctly, and also why
# it gets overridden here -- moved to start.sh.
# ENV PERL5LIB /usr/local/lib/perl5/site_perl/5.22.0
# Internal Port Expose
EXPOSE 5000

View File

@@ -62,14 +62,6 @@ This environment variable is used to specify the hostname of the Postgres server
If you set this to another hostname, LedgerSMB will attempt to connect to that hostname instead.
## `POSTGRES_PORT` = 5432
Port to connect to Postgres on. Use to connect to a Postgres server running on an alternate port.
## `DEFAULT_DB` = lsmb
Set this if you want to automatically log in to a particular LSMB database.
### `SSMTP_ROOT` `SSMTP_MAILHUB` `SSMTP_HOSTNAME` `SSMTP_USE_STARTTLS` `SSMTP_AUTH_USER` `SSMTP_AUTH_PASS` `SSMTP_METHOD` `SSMTP_FROMLINE_OVERRIDE`
These variables are used to set outgoing SMTP defaults. To set the outgoing email address, set SSMTP_ROOT, and SSMTP_HOSTNAME at a minimum -- SSMTP_MAILHUB defaults to the default docker0 interface, so if your host is already configured to relay mail, this should relay successfully with only those two set.

View File

@@ -1,25 +1,32 @@
#!/bin/bash
update_ssmtp.sh
cd /srv/ledgersmb
if [[ ! -f ledgersmb.conf ]]; then
cp ledgersmb.conf.default ledgersmb.conf
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" \
-e "s%\(sendmail = \).*%\1/usr/bin/ssmtp%g" \
/srv/ledgersmb/ledgersmb.conf
fi
if [ ! -z ${CREATE_DATABASE+x} ]; then
perl tools/prepare-company-database.pl --company $CREATE_DATABASE \
perl tools/dbsetup.pl --company $CREATE_DATABASE \
--host $POSTGRES_HOST \
--owner postgres \
--password "$POSTGRES_PASS"
--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
exec starman tools/starman.psgi