Compare commits

...

17 Commits

Author SHA1 Message Date
John Locke
2c22bd6bbb 1.5.3 2017-02-11 07:47:00 -08:00
John Locke
d3897c8439 1.5.2 2017-01-23 06:46:44 -08:00
John Locke
6d4d4fa927 Run as www-data user, with permission to write ledgersmb.conf file.
Fixes #6.
2017-01-14 09:09:37 -08:00
John Locke
8f911b4d3e 1.5.1 2017-01-08 10:59:02 -08:00
John Locke
60af8d5d49 Add LPR package to image 2017-01-05 08:48:46 -08:00
John Locke
2bf51fb145 Try different download mirror 2016-12-30 11:02:21 -08:00
John Locke
6e41334061 Try again to get the correct path 2016-12-30 10:43:19 -08:00
John Locke
f3f924eab9 Update to full release path. 2016-12-30 10:19:47 -08:00
John Locke
e456434514 1.5.0 2016-12-30 09:43:11 -08:00
John Locke
71de84bd9e 1.5.0-rc3 2016-12-12 08:38:25 -08:00
John Locke
262bf6e1f4 Set correct ssmtp path 2016-09-25 10:54:16 -07:00
John Locke
fdd2eed8a6 Fix missing && after downloading tarball 2016-08-21 12:45:49 -07:00
John Locke
76c35fa0d5 1.5.0-rc2 2016-08-20 09:13:33 -07:00
John Locke
dc0770e367 1.5.0-rc2 2016-08-20 09:02:15 -07:00
John Locke
3839f3b105 Add support for #4 - Make Postgres port configurable at run time 2016-08-20 08:56:41 -07:00
John Locke
9839ceaa2b Add new libmoosex-nonmoose-perl dependency 2016-05-30 08:58:36 -07:00
John Locke
48f1e0d7bb 1.5 Dockerfile to install from tarball 2016-05-30 00:23:58 -07:00
3 changed files with 42 additions and 30 deletions

View File

@@ -4,36 +4,34 @@ MAINTAINER Freelock john@freelock.com
# Install Perl, Tex, Starman, psql client, and all dependencies # Install Perl, Tex, Starman, psql client, and all dependencies
RUN DEBIAN_FRONTENT=noninteractive && \ RUN DEBIAN_FRONTENT=noninteractive && \
apt-get update && apt-get -y install \ apt-get update && apt-get -y install \
git \ libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
libdatetime-perl libdbi-perl libdbd-pg-perl \ libdbd-pg-perl libdbi-perl libdatetime-perl \
libcgi-simple-perl libtemplate-perl libmime-lite-perl \ libdatetime-format-strptime-perl libdigest-md5-perl \
liblocale-maketext-lexicon-perl libtest-exception-perl \ libfile-mimeinfo-perl libjson-xs-perl libjson-perl \
libtest-trap-perl liblog-log4perl-perl libmath-bigint-gmp-perl \ liblocale-maketext-perl liblocale-maketext-lexicon-perl \
libfile-mimeinfo-perl libtemplate-plugin-number-format-perl \ liblog-log4perl-perl libmime-base64-perl libmime-lite-perl \
libdatetime-format-strptime-perl libconfig-general-perl \ libmath-bigint-gmp-perl libmoose-perl libnumber-format-perl \
libdatetime-format-strptime-perl libio-stringy-perl libmoose-perl \ libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
libconfig-inifiles-perl libnamespace-autoclean-perl \ libpgobject-util-dbmethod-perl libplack-perl libtemplate-perl \
libcarp-always-perl libjson-perl \ libnamespace-autoclean-perl \
libtemplate-plugin-latex-perl texlive-latex-recommended \ libtemplate-plugin-latex-perl libtex-encode-perl \
libnet-tclink-perl \ libmoosex-nonmoose-perl \
libxml-twig-perl \ texlive-latex-recommended \
texlive-xetex \
starman \ starman \
postgresql-client-9.4 \ libopenoffice-oodoc-perl \
postgresql-client \
lpr \
ssmtp ssmtp
# Nodejs for doing Dojo build
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
apt-get install -y nodejs
# Java is required for closure compiler in Dojo build
RUN DEBIAN_FRONTENT=noninteractive && apt-get install -y openjdk-7-jre
# Build time variables # Build time variables
ENV LSMB_VERSION 1.5.0-beta-5 ENV LSMB_VERSION 1.5.3
# Install LedgerSMB # Install LedgerSMB
RUN cd /srv && \ RUN cd /srv && \
git clone --recursive -b master https://github.com/ledgersmb/LedgerSMB.git ledgersmb 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 && \
WORKDIR /srv/ledgersmb WORKDIR /srv/ledgersmb
@@ -44,9 +42,6 @@ RUN cpanm --quiet --notest \
--with-feature=openoffice \ --with-feature=openoffice \
--installdeps . --installdeps .
# Build dojo
RUN make dojo
# Configure outgoing mail to use host, other run time variable defaults # Configure outgoing mail to use host, other run time variable defaults
## sSMTP ## sSMTP
@@ -60,6 +55,8 @@ ENV SSMTP_FROMLINE_OVERRIDE YES
#ENV SSMTP_AUTH_METHOD #ENV SSMTP_AUTH_METHOD
ENV POSTGRES_HOST postgres ENV POSTGRES_HOST postgres
ENV POSTGRES_PORT 5432
ENV DEFAULT_DB lsmb
COPY start.sh /usr/local/bin/start.sh COPY start.sh /usr/local/bin/start.sh
COPY update_ssmtp.sh /usr/local/bin/update_ssmtp.sh COPY update_ssmtp.sh /usr/local/bin/update_ssmtp.sh
@@ -68,9 +65,14 @@ 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/local/bin/update_ssmtp.sh /usr/local/bin/start.sh && \
mkdir -p /var/www mkdir -p /var/www
# Work around an aufs bug related to directory permissions:
RUN mkdir -p /tmp && \
chmod 1777 /tmp
# Internal Port Expose # Internal Port Expose
EXPOSE 5762 EXPOSE 5762
#USER www-data # 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
CMD ["start.sh"] CMD ["start.sh"]

View File

@@ -6,8 +6,8 @@ This is a work in progress to make a docker image for running LedgerSMB. It shou
# Supported tags and respective `Dockerfile` links # Supported tags and respective `Dockerfile` links
- `dev-master` - Master branch from git, unstable - `dev-master` - Master branch from git, unstable
- `1.5`, `1.5.x` - Latest release tarball from 1.5 branch - `1.5`, `1.5.x`, `latest` - Latest release tarball from 1.5 branch
- `1.4`, `latest` - Latest tagged release of git 1.4 branch - `1.4`, `1.4.x` - Latest tagged release of git 1.4 branch
# What is LedgerSMB? # What is LedgerSMB?
@@ -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. 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` ### `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. 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

@@ -8,7 +8,9 @@ if [[ ! -f ledgersmb.conf ]]; then
sed -i \ sed -i \
-e "s/\(cache_templates = \).*\$/cache_templates = 1/g" \ -e "s/\(cache_templates = \).*\$/cache_templates = 1/g" \
-e "s/\(host = \).*\$/\1$POSTGRES_HOST/g" \ -e "s/\(host = \).*\$/\1$POSTGRES_HOST/g" \
-e "s%\(sendmail = \).*%\1/usr/bin/ssmtp%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 /srv/ledgersmb/ledgersmb.conf
fi fi