Compare commits

..

27 Commits

Author SHA1 Message Date
John Locke
3bfa2a5ae3 1.4.33 2016-08-20 09:01:16 -07:00
John Locke
51f3dc8ab8 Add support for #4 - Make Postgres port configurable at run time 2016-08-20 08:58:19 -07:00
John Locke
2629d4052f r1.4.1 2016-07-31 08:28:38 -07:00
John Locke
c022a84d14 1.4.30 2016-07-24 08:07:26 -07:00
John Locke
2add82e070 Update for 1.4.29, streamlined install process 2016-05-30 08:52:19 -07:00
John Locke
beab963859 Add LaTeX::Driver to image. 2016-05-03 10:17:26 -07:00
John Locke
6772ccbe4d Update version to 1.4.28 2016-05-03 08:22:58 -07:00
John Locke
b7ac6ef4cb Update version to 1.4.27 2016-04-10 06:23:53 -07:00
John Locke
ddd44782c7 v1.4.26 2016-03-12 11:30:34 -08:00
John Locke
4448e9b270 Version 1.4.25 2016-02-18 13:15:50 -08:00
John Locke
3b3613dd13 Add xetex back to the container, to support pdf invoices 2016-02-14 09:53:58 -08:00
John Locke
9a789a8032 Removed missing package. 2016-02-05 13:39:17 -08:00
John Locke
d61ce704c2 Tag new 1.4 version 2016-02-05 13:36:54 -08:00
John Locke
048e003a43 Correct latex dependencies 2016-02-05 11:06:14 -08:00
John Locke
3e3915cfc9 Create 1.4.22 tag 2016-01-02 22:48:15 -08:00
John Locke
30efe577bb Fix grep flag 2015-11-19 12:01:03 -08:00
John Locke
052557897e Patch from dcg: detect /etc/ssmtp.conf changes inside update script, instead of touching a /tmp file 2015-11-19 11:59:35 -08:00
John Locke
0e50f0bada Install texlive-xetex to support xelatex 2015-11-01 09:24:48 -08:00
John Locke
d2faf23967 Try adding an explicit /tmp dir creation to work around an aufs bug 2015-09-21 09:09:17 -07:00
John Locke
ba69402221 Fix dependencies for LaTeX in Dockerfile for 1.4 -- add libtex-encode-perl, remove obsolete libnet-tclink-perl 2015-09-18 14:06:31 -07:00
John Locke
46039f99e9 Change base to Perl:5, add CGI::Compile via cpan 2015-08-28 10:24:52 -07:00
John Locke
f2a7c0ada6 Add devel-trace to image 2015-08-28 10:21:54 -07:00
John Locke
890f0c4931 Update readme for versions built 2015-08-01 10:11:35 -07:00
John Locke
29ff9a39ab README improvements 2015-07-05 13:44:47 -07:00
John Locke
4a4a964975 Fix args for prepare-company-database.pl 2015-07-05 12:17:13 -07:00
John Locke
65bb0d35ff Use create-company-database script for test data creation 2015-07-05 11:48:48 -07:00
John Locke
7f0a677a09 Doc fixes 2015-07-05 09:08:03 -07:00
3 changed files with 42 additions and 39 deletions

View File

@@ -1,6 +1,7 @@
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 \
@@ -15,37 +16,32 @@ RUN DEBIAN_FRONTENT=noninteractive && \
libconfig-inifiles-perl libnamespace-autoclean-perl \
libcarp-always-perl libjson-perl \
libtemplate-plugin-latex-perl texlive-latex-recommended \
libnet-tclink-perl \
texlive-latex-base texlive-latex-extra \
texlive-xetex \
libxml-twig-perl \
libtex-encode-perl \
libdevel-trace-perl \
starman \
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.5.0-beta4
ENV LSMB_VERSION 1.4.33
# Install LedgerSMB
RUN cd /srv && \
git clone https://github.com/ledgersmb/LedgerSMB.git ledgersmb
git clone -b $LSMB_VERSION https://github.com/ledgersmb/LedgerSMB.git ledgersmb
WORKDIR /srv/ledgersmb
RUN git checkout $LSMB_VERSION
# 1.4.29+ requirements
RUN cpanm --quiet --notest \
--with-feature=starman \
--with-feature=latex-pdf-ps \
--with-feature=openoffice \
--installdeps .
#RUN sed -i \
# -e "s/short_open_tag = Off/short_open_tag = On/g" \
@@ -66,17 +62,23 @@ 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/local/bin/update_ssmtp.sh /usr/local/bin/start.sh && \
chmod +x /usr/bin/update_ssmtp.sh /usr/bin/start.sh && \
mkdir -p /var/www
# 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
# Work around an aufs bug related to directory permissions:
RUN mkdir -p /tmp && \
chmod 1777 /tmp
# Internal Port Expose
EXPOSE 5000

View File

@@ -62,6 +62,14 @@ 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,32 +1,25 @@
#!/bin/bash
update_ssmtp.sh
cd /srv/ledgersmb
if [[ ! -f ledgersmb.conf ]]; then
cp conf/ledgersmb.conf.default ledgersmb.conf
cp 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/bin/ssmtp%g" \
/srv/ledgersmb/ledgersmb.conf
fi
if [ ! -z ${CREATE_DATABASE+x} ]; then
perl tools/dbsetup.pl --company $CREATE_DATABASE \
perl tools/prepare-company-database.pl --company $CREATE_DATABASE \
--host $POSTGRES_HOST \
--postgres_password "$POSTGRES_PASS"
--owner 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