Compare commits

..

36 Commits
1.7.13 ... 1.6

Author SHA1 Message Date
Erik Huelsmann
26db53a2db Update README.md 2023-10-03 23:01:03 +02:00
Erik Huelsmann
3987cb14f0 Change the hosting location of the LedgerSMB Docker images 2022-01-28 22:54:18 +01:00
Erik Huelsmann
ab2312ccab Update README.md 2021-07-10 23:50:37 +02:00
Erik Huelsmann
3fc4f2d79d * Automatic Dockerfile update by release process 2021-06-03 14:26:50 -04:00
Erik Huelsmann
c244fa448f * Automatic Dockerfile update by release process 2021-05-29 14:52:08 -04:00
Erik Huelsmann
5dc6d2c9f0 * Automatic Dockerfile update by release process 2021-05-02 12:43:51 -04:00
Erik Huelsmann
dd16b15990 * Automatic Dockerfile update by release process 2021-03-21 06:01:46 -04:00
Erik Huelsmann
c212124ec2 * Automatic Dockerfile update by release process 2021-01-31 18:53:41 +00:00
Erik Huelsmann
7af5669337 * Automatic Dockerfile update by release process 2020-12-14 21:55:15 +00:00
Erik Huelsmann
6a9df9fa56 * Automatic Dockerfile update by release process 2020-09-27 18:44:03 +00:00
Erik Huelsmann
e8becf9a44 * Automatic Dockerfile update by release process 2020-09-18 07:27:52 +00:00
Erik Huelsmann
2c0fa1f433 * Automatic Dockerfile update by release process 2020-09-13 19:06:57 +00:00
Erik Huelsmann
2202177145 * Automatic Dockerfile update by release process 2020-09-04 17:13:59 +00:00
Erik Huelsmann
6b38d8b5bc Re #23: Add dependency on texlive-fonts-recommended 2020-08-24 22:47:07 +02:00
Erik Huelsmann
d9e93cb753 * Automatic Dockerfile update by release process 2020-06-29 08:24:13 +00:00
Erik Huelsmann
001e28e354 * Automatic Dockerfile update by release process 2020-06-21 20:53:08 +00:00
Erik Huelsmann
8c477d3b88 * Automatic Dockerfile update by release process 2020-05-31 11:28:17 +00:00
Erik Huelsmann
4026301526 Update README to list 1.7 and 1.8 tags 2020-05-31 11:24:43 +02:00
Erik Huelsmann
d00c9484d6 * Automatic Dockerfile update by release process 2020-03-07 14:31:26 +00:00
Erik Huelsmann
51fa9951e5 Add formatting to README.md 2020-02-10 23:44:38 +01:00
Erik Huelsmann
e9aeff6039 Change manual setup section to prevent suggested simplicity
We've seen multiple users thinking that simple creation of two containers
is enough, whereas this isn't the case: at the very least, the deprecated
`--link` docker option must be used, but more compliant is the use of
custom networks and bridges. Docker-compose sets all that up automatically,
so don't suggest going without docker-compose is simpler.
2020-02-10 23:29:27 +01:00
Erik Huelsmann
2e30a4ecd5 * Automatic Dockerfile update by release process 2020-02-10 20:06:27 +00:00
Erik Huelsmann
ddd9d001c9 * Automatic Dockerfile update by release process 2020-01-22 21:31:24 +00:00
Erik Huelsmann
f3d05897b9 * Automatic Dockerfile update by release process 2019-12-26 17:32:07 +00:00
Erik Huelsmann
5cb61f5a69 * Automatic Dockerfile update by release process 2019-11-29 10:31:09 +00:00
Erik Huelsmann
86ad5c0b64 * Automatic Dockerfile update by release process 2019-11-15 18:48:18 +00:00
Erik Huelsmann
76dc35fa75 * Automatic Dockerfile update by release process 2019-11-02 15:31:25 +00:00
Erik Huelsmann
2846d97696 * Automatic Dockerfile update by release process 2019-10-18 11:53:45 +00:00
Erik Huelsmann
4bf0946de9 * Automatic Dockerfile update by release process 2019-09-29 19:27:23 +00:00
Erik Huelsmann
44e9ad83b8 * Automatic Dockerfile update by release process 2019-08-18 21:05:44 +00:00
Erik Huelsmann
d899a7137c * Automatic Dockerfile update by release process 2019-01-20 14:32:04 +00:00
Erik Huelsmann
4d9aa13a7d * Automatic Dockerfile update by release process 2018-12-25 23:29:52 +00:00
Erik Huelsmann
89e2cef3af * Automatic Dockerfile update by release process 2018-12-16 18:19:26 +00:00
Erik Huelsmann
0746f6e17d * Automatic Dockerfile update by release process 2018-12-14 11:33:37 +00:00
Erik Huelsmann
fc3f0cdf6a * Automatic Dockerfile update by release process 2018-10-14 20:10:54 +00:00
Erik Huelsmann
d42ade1dc0 * Automatic Dockerfile update by release process 2018-09-16 20:01:29 +00:00
4 changed files with 58 additions and 77 deletions

View File

@@ -2,8 +2,8 @@ FROM debian:stretch-slim
MAINTAINER Freelock john@freelock.com
# Build time variables
ARG LSMB_VERSION="1.7.13"
ARG LSMB_DL_DIR="Releases"
ENV LSMB_VERSION 1.6.33
# Install Perl, Tex, Starman, psql client, and all dependencies
# Without libclass-c3-xs-perl, performance is terribly slow...
@@ -16,11 +16,6 @@ ARG LSMB_DL_DIR="Releases"
# 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
# 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 && \
mkdir -p /usr/share/man/man1/ && \
mkdir -p /usr/share/man/man2/ && \
@@ -33,11 +28,10 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
DEBIAN_FRONTEND="noninteractive" apt-get dist-upgrade -y -q && \
DEBIAN_FRONTEND="noninteractive" apt-get -y -q install \
wget ca-certificates gnupg \
libcgi-emulate-psgi-perl libconfig-inifiles-perl \
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
libdbd-pg-perl libdbi-perl libdata-uuid-perl libdatetime-perl \
libdatetime-format-strptime-perl \
libio-stringy-perl \
libcpanel-json-xs-perl liblist-moreutils-perl \
libdatetime-format-strptime-perl libio-stringy-perl \
libjson-xs-perl libcpanel-json-xs-perl liblist-moreutils-perl \
liblocale-maketext-perl liblocale-maketext-lexicon-perl \
liblog-log4perl-perl libmime-lite-perl libmime-types-perl \
libmath-bigint-gmp-perl libmodule-runtime-perl libmoose-perl \
@@ -48,13 +42,13 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
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 \
libtext-markdown-perl libxml-simple-perl \
libnamespace-autoclean-perl \
libfile-find-rule-perl \
libimage-size-perl \
libtemplate-plugin-latex-perl libtex-encode-perl \
libclass-c3-xs-perl libclass-accessor-lite-perl \
libnet-cidr-lite-perl \
texlive-latex-recommended \
libnet-cidr-lite-perl libtest-requires-perl \
texlive-latex-recommended texlive-fonts-recommended \
texlive-xetex fonts-liberation \
starman \
libopenoffice-oodoc-perl \
@@ -65,7 +59,7 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -q -y install postgresql-client && \
DEBIAN_FRONTEND="noninteractive" apt-get -q -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" && \
wget --quiet -O /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 && \
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
cpanm --notest \

View File

@@ -1,17 +1,13 @@
# ledgersmb-docker
Dockerfile for LedgerSMB Docker image
# Supported tags
- `1.7`, `1.7.x`, `latest` - Latest official release from 1.7 branch
- `1.6`, `1.6.x` - Latest official release from 1.6 branch
- `1.5`, `1.5.30` - Last official release from 1.5 branch
- `1.4`, `1.4.42` - Last official release from 1.4 branch
- `master` - Master branch from git, unstable
- `1.7`, `1.7.x` - Latest official release from 1.7 branch
- `1.6`, `1.6.x` - Latest release tarball from 1.6 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
Containers supporting the development process are provided
through the ledgersmb-dev-docker project. See https://github.com/ledgersmb/ledgersmb-dev-docker/blob/master/README.md#getting-started.
# What is LedgerSMB?
@@ -39,42 +35,33 @@ to add the TLS layer by applying Nginx or Apache as reverse proxy.
Enabling optional functionalities such as outgoing e-mail and printing
could require additional setup of a mail service or CUPS printer service.
# How to use this image
# Quickstart
This image can be installed either automatically with the Docker compose file
manually with docker only.
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 installation and start
https://github.com/ledgersmb/ledgersmb-docker/blob/1.7/docker-compose.yml
This image provides `docker-compose.yml` which can be used to pull related
images, install them, establish an internal network for their communications,
adjust environment variables, start and stop LedgerSMB. The only instructions
required, after the optional edition of the file to adjust the environment
variables, are:
```plain
$ docker-compose pull
$ docker-compose up
```
This will set up two containers: (1) a PostgreSQL container with persistent
storage which is retained between container updates and (2) a LedgerSMB
container configured to connect to the PostgreSQL container as its database
server.
The database username and password are:
which sets up both this image and a supporting database image for
production purposes (i.e. with persistent (database) data. The database
username and password are:
```plain
username: postgres
password: abc
```
The docker-compose file does *not* set up an Nginx or Apache reverse proxy
with TLS 1.2/1.3 support -- a requirement if you want to access your
installation over any type of network (and especially the internet).
## Manual installation
This section assumes availability of a PostgreSQL server to attach to the
LedgerSMB image as the database server.
### Start LedgerSMB
## Start LedgerSMB
```plain
$ docker run -d -p 5762:5762 --name myledger \
@@ -88,7 +75,7 @@ http://localhost:5762/setup.pl and http://localhost:5762/login.pl.
Below are more variables which determine container configuration,
like `POSTGRES_HOST` above.
# Set up LedgerSMB
## Set up LedgerSMB
* Visit http://myledger:5762/setup.pl.
* Log in with the "postgres" user and the password `abc` as given above -
@@ -144,18 +131,21 @@ affect the performance experience of users.
## Mail configuration
### Before 1.8.0
The docker image uses `ssmtp` to send mail.
These variables are used to set outgoing SMTP defaults.
* `SSMTP_ROOT` (config: `Root` -- DEPRECATED)
* `SSMTP_ROOT` (config: `Root`)
* `SSMTP_MAILHUB` (config: `Mailhub`)
* `SSMTP_HOSTNAME` (config: `Hostname`)
* `SSMTP_USE_STARTTLS` (config: `UseSTARTTLS`)
* `SSMTP_AUTH_USER` (config: `AuthUser`)
* `SSMTP_AUTH_PASS` (config: `AuthPass`)
* `SSMTP_AUTH_METHOD` (config: `AuthMethod` -- DEPRECATED)
* `SSMTP_FROMLINE_OVERRIDE` (config: `FromLineOverride` -- DEPRECATED)
* `SSMTP_AUTH_METHOD` (config: `AuthMethod`)
* `SSMTP_FROMLINE_OVERRIDE` (config: `FromLineOverride`)
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
@@ -166,25 +156,6 @@ Use the [ssmtp.conf man
page](https://www.systutorials.com/docs/linux/man/5-ssmtp.conf/) to look up
the meaning and function of each of the mail configuration keys.
### 1.8.0 and higher (under development)
As of 1.8.0, the image is based on Debian Buster instead of Debian Stretch;
with Buster, the `ssmtp` program has been removed from Debian, this image
had to change strategy. The main application always came with built-in e-mail
yet with the deprecation, the abilities have expanded.
The following parameters are now supported to set mail preferences:
* `LSMB_MAIL_SMTPHOST`
* `LSMB_MAIL_SMTPPORT`
* `LSMB_MAIL_SMTPTLS`
* `LSMB_MAIL_SMTPSENDER_HOSTNAME`
* `LSMB_MAIL_SMTPUSER`
* `LSMB_MAIL_SMTPPASS`
* `LSMB_MAIL_SMTPAUTHMECH`
# Troubleshooting/Developing
Currently the LedgerSMB installation is in /srv/ledgersmb

View File

@@ -28,7 +28,7 @@ services:
lsmb:
depends_on:
- postgres
image: ledgersmb/ledgersmb:1.7
image: ghcr.io/ledgersmb/ledgersmb:1.6
networks:
- internal
- default

View File

@@ -20,14 +20,30 @@ EOF
export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf'
fi
if [ ! -d "/tmp/ledgersmb" ]; then
mkdir -p /tmp/ledgersmb
if [ ! -f "/tmp/ledgersmb" ]; then
mkdir /tmp/ledgersmb
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
# --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 --workers ${LSMB_WORKERS:-5} -I lib -I old/lib \
--preload-app bin/ledgersmb-server.psgi
exec starman --port 5762 --workers ${LSMB_WORKERS:-5} --preload-app bin/ledgersmb-server.psgi