Compare commits

..

94 Commits
1.5.30 ... 1.7

Author SHA1 Message Date
Erik Huelsmann
e0eba0f5a2 Update README.md -- 1.10 is EOL 2024-10-21 23:42:26 +02:00
Erik Huelsmann
c108d57d3e Update README.md 2023-10-03 23:00:36 +02:00
Erik Huelsmann
3fd3b466c6 Update latest 1.9 release 2023-09-29 15:27:43 +02:00
Erik Huelsmann
57f8f54dd3 Update README.md for 1.10 release 2022-09-24 12:05:02 +02:00
Erik Huelsmann
fe9561801b * Automatic Dockerfile update by release process 2022-08-24 02:52:20 -04:00
Erik Huelsmann
0c80fb46fc * Automatic Dockerfile update by release process 2022-08-10 16:00:30 -04:00
Erik Huelsmann
0f6ceead07 * Automatic Dockerfile update by release process 2022-04-09 10:21:09 -04:00
Erik Huelsmann
9b8dac1b46 Change the hosting location of the LedgerSMB Docker images 2022-01-28 22:53:46 +01:00
Erik Huelsmann
f09fe4e6b1 * Automatic Dockerfile update by release process 2022-01-19 16:52:29 -05:00
Erik Huelsmann
fb16267a93 * Automatic Dockerfile update by release process 2021-12-08 15:33:57 -05:00
Erik Huelsmann
fed8a29266 * Automatic Dockerfile update by release process 2021-10-12 15:35:11 -04:00
Erik Huelsmann
6ddc8da10d Set the reverse proxy address to the default Docker address range 2021-09-17 23:03:40 +02:00
Erik Huelsmann
b46592f2cb Add reverse proxy configuration option 2021-09-17 22:40:42 +02:00
Erik Huelsmann
5717494020 * Automatic Dockerfile update by release process 2021-09-03 14:08:36 -04:00
Erik Huelsmann
6e529873ae Add libclass-accessor-lite-perl dependency explicitly because it fails to build 2021-08-30 01:08:29 +02:00
Erik Huelsmann
13572ee685 Use multi-stage build to derive dependency packages 2021-08-30 00:56:17 +02:00
Erik Huelsmann
2056ad56cb * Automatic Dockerfile update by release process 2021-08-25 16:50:01 -04:00
Erik Huelsmann
3658a14ccd * Automatic Dockerfile update by release process 2021-08-23 07:27:15 -04:00
Erik Huelsmann
f114db8fcb Print commands as they are executed (debugging purposes) 2021-08-13 23:57:07 +02:00
Erik Huelsmann
2849671500 Make the artifact location into a build ARG 2021-08-13 23:43:51 +02:00
Erik Huelsmann
bdebd44ae0 Update README.md 2021-07-10 23:54:48 +02:00
Erik Huelsmann
c95e4b4b9d Update README.md 2021-07-10 23:50:06 +02:00
Erik Huelsmann
7c89b26987 * Automatic Dockerfile update by release process 2021-07-08 18:07:40 -04:00
Erik Huelsmann
cd7f62abc6 * Automatic Dockerfile update by release process 2021-06-14 14:42:45 -04:00
Erik Huelsmann
d518733d23 * Automatic Dockerfile update by release process 2021-06-03 14:41:51 -04:00
Erik Huelsmann
53c4e6ac92 * Automatic Dockerfile update by release process 2021-05-29 15:02:16 -04:00
Erik Huelsmann
78b902ddc9 * Automatic Dockerfile update by release process 2021-05-02 12:54:03 -04:00
Erik Huelsmann
c1fee69d52 * Automatic Dockerfile update by release process 2021-03-21 08:26:45 -04:00
Erik Huelsmann
33d4019521 * Automatic Dockerfile update by release process 2021-01-31 18:28:17 +00:00
Erik Huelsmann
2a138c50f2 * Automatic Dockerfile update by release process 2020-12-14 22:00:15 +00:00
Erik Huelsmann
11baa4c0a0 * Automatic Dockerfile update by release process 2020-11-18 20:39:19 +00:00
Erik Huelsmann
7e914dbfd1 * Automatic Dockerfile update by release process 2020-09-27 18:57:27 +00:00
Erik Huelsmann
1a1d294e31 * Automatic Dockerfile update by release process 2020-09-18 07:49:04 +00:00
Erik Huelsmann
44b544c8ba * Automatic Dockerfile update by release process 2020-09-13 19:20:04 +00:00
Erik Huelsmann
5dc7176b3f * Automatic Dockerfile update by release process 2020-09-04 19:18:29 +00:00
Erik Huelsmann
f25dee9473 * Automatic Dockerfile update by release process 2020-08-28 21:35:51 +00:00
Erik Huelsmann
0332a27535 Re #23: Add dependency on texlive-fonts-recommended 2020-08-24 22:46:32 +02:00
Erik Huelsmann
19c6b2d6df * Automatic Dockerfile update by release process 2020-07-25 09:08:22 +00:00
Erik Huelsmann
6ff37dc952 * Automatic Dockerfile update by release process 2020-06-29 09:25:07 +00:00
Erik Huelsmann
da234d021d * Automatic Dockerfile update by release process 2020-06-21 21:05:58 +00:00
Erik Huelsmann
ffb7ff1a09 Map the LedgerSMB port (5762) explicitly to local loopback (only) 2020-06-17 21:44:13 +02:00
Erik Huelsmann
966c1fd043 * Automatic Dockerfile update by release process 2020-05-31 12:42:56 +00:00
Erik Huelsmann
ba98f4c5c0 Update README to include 1.8 tag 2020-05-31 11:22:32 +02:00
Erik Huelsmann
20bd26798a * Automatic Dockerfile update by release process 2020-05-23 21:50:43 +00:00
Erik Huelsmann
f4bc2c874f * Automatic Dockerfile update by release process 2020-05-06 19:12:40 +00:00
Erik Huelsmann
0897045096 * Automatic Dockerfile update by release process 2020-04-27 15:17:44 +00:00
Erik Huelsmann
53ab84cbaa Update README.md 2020-04-12 21:34:14 +02:00
Erik Huelsmann
760c5c0138 * Automatic Dockerfile update by release process 2020-04-11 18:39:34 +00:00
Erik Huelsmann
8930ac395d * Automatic Dockerfile update by release process 2020-03-07 15:14:25 +00:00
Erik Huelsmann
1bbf65543b Update README.md to set correct list of supported tags 2020-03-07 15:38:14 +01:00
Erik Huelsmann
ba202372fa Add formatting to README.md 2020-02-10 23:44:10 +01:00
Erik Huelsmann
3197f4feab 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:28:06 +01:00
Erik Huelsmann
46a5386e54 * Automatic Dockerfile update by release process 2020-02-10 20:48:32 +00:00
Erik Huelsmann
6122921674 * Automatic Dockerfile update by release process 2020-01-22 21:50:04 +00:00
Erik Huelsmann
db957f3880 * Automatic Dockerfile update by release process 2020-01-12 20:43:00 +00:00
Erik Huelsmann
7e059e5dc1 Update image to point to 1.7 2020-01-06 21:56:50 +01:00
Erik Huelsmann
421c153249 * Automatic Dockerfile update by release process 2019-12-26 18:05:31 +00:00
Erik Huelsmann
1f40452e92 * Automatic Dockerfile update by release process 2019-12-13 16:16:14 +00:00
Erik Huelsmann
98c38f998a * Automatic Dockerfile update by release process 2019-11-29 10:59:36 +00:00
Erik Huelsmann
6d3b30720c * Automatic Dockerfile update by release process 2019-11-15 19:23:03 +00:00
Erik Huelsmann
aa66d87e15 * Automatic Dockerfile update by release process 2019-11-02 15:59:50 +00:00
Erik Huelsmann
e06638b048 * Automatic Dockerfile update by release process 2019-10-18 12:22:02 +00:00
Erik Huelsmann
d71609cae1 Fix Dockerfile mentioned version 2019-10-04 17:17:25 +02:00
Erik Huelsmann
8bc4fd8583 Update source URL to look in the official releases 2019-10-04 16:57:07 +02:00
Erik Huelsmann
52fdf5b65e Address failure to start Docker image
Starman is looking for LedgerSMB::PSGI and can't find it due to missing
library paths. Add -I arguments to fix it up.
2019-09-22 22:56:51 +02:00
Erik Huelsmann
29abd11efd Revert back to Stretch because Buster misses sSMTP
Note: we'll need to address this in due course in order to be
able to release our next release on Buster (which supports
more of our dependencies).
2019-08-28 21:27:53 +02:00
Erik Huelsmann
e9edcaf9ae Revert back to stretch; Buster misses 'ssmtp' 2019-08-28 09:50:48 +02:00
Erik Huelsmann
3a74802fe1 Add additional dependency provided on Buster (libhtml-escape-perl) 2019-08-27 23:14:49 +02:00
Erik Huelsmann
1b9701511e Update Dockerfile for 1.7.0 2019-08-27 23:09:20 +02:00
Erik Huelsmann
1ff4cc42c3 * Add (missing) PostgreSQL repository in sources.list 2018-09-13 21:22:52 +02:00
Erik Huelsmann
26b679fe7d * Automatic Dockerfile update by release process 2018-08-25 12:35:52 +00:00
Erik Huelsmann
82e2dd4839 * Automatic Dockerfile update by release process 2018-07-22 21:55:15 +00:00
Erik Huelsmann
4cb2cad5c1 * Update README.md to mention 1.6 tags 2018-06-29 20:54:44 +02:00
Erik Huelsmann
c5c0575c94 * Automatic Dockerfile update by release process 2018-06-23 18:14:14 +00:00
Erik Huelsmann
b4ed837573 * Automatic Dockerfile update by release process 2018-06-17 10:32:14 +00:00
Erik Huelsmann
fae1cd333e * Fix download link 2018-06-10 14:00:45 +02:00
Erik Huelsmann
75f3dfd642 * Automatic Dockerfile update by release process 2018-06-10 08:43:10 +00:00
Erik Huelsmann
5afb58f246 * Update 1.6 branch to RC4 2018-06-04 23:49:07 +02:00
Erik Huelsmann
a5d89bc9fe * Update release for RC3 2018-06-04 00:38:55 +02:00
Erik Huelsmann
b8795c4811 * Update 1.6 RC2 release 2018-06-03 20:40:38 +02:00
Erik Huelsmann
b828cffad3 * Add option to set the number of Starman workers 2018-05-23 23:22:03 +02:00
Erik Huelsmann
36bc6d5ffc * Adjust database host name so that the Compose setup works out-of-the-box again 2018-05-23 21:45:55 +02:00
Erik Huelsmann
59be4f4afa * 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:40:37 +02:00
Erik Huelsmann
f898c2bb63 * Add back lost dash before 'y' option 2018-05-22 22:11:18 +02:00
Erik Huelsmann
c2573f6a7e * Fix short-option prefixed with double dash 2018-05-22 21:27:57 +02:00
Erik Huelsmann
38ab58e93a * Make Docker build output more compact 2018-05-22 21:05:01 +02:00
Erik Huelsmann
d45d0a7182 * Upgrade Docker 1.6 image to 1.6.0-rc1 2018-05-22 20:45:40 +02:00
Erik Huelsmann
d640f5e6a0 * Update to 1.6.0-beta2 2018-05-13 14:15:33 +02:00
Erik Huelsmann
d7c3bd6038 * There is no starman.psgi anymore. Instead, it's ledgersmb-server.psgi 2018-05-07 00:17:34 +02:00
Erik Huelsmann
9c2c5a20c6 * Update version reference (1.5 -> 1.6) in docker-compose.yml 2018-05-06 13:35:24 +02:00
Erik Huelsmann
ebb6a521ef * Correct dependency reference 2018-05-06 13:15:31 +02:00
Erik Huelsmann
058848a29a * More dependencies taken from the Debian repository 2018-05-06 12:30:30 +02:00
Erik Huelsmann
a0053b33b6 * Add dependency for HTML::Entities to build succesfully 2018-05-06 12:14:00 +02:00
Erik Huelsmann
a5ca6aa894 * Update Dockerfile for 1.6 dependencies and building 1.6 images
Note that 1.6 switches to Stretch as the base image, allowing us to
use more packages from the Debian repository (but we still depend on
un-packaged packages(?))
2018-05-06 00:30:49 +02:00
4 changed files with 184 additions and 119 deletions

View File

@@ -1,17 +1,70 @@
FROM debian:jessie-slim
# Build time variables
ARG SRCIMAGE=debian:stretch-slim
FROM $SRCIMAGE AS builder
ARG LSMB_VERSION="1.7.41"
ARG LSMB_DL_DIR="Releases"
ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz"
RUN set -x ; \
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install dh-make-perl libmodule-cpanfile-perl git wget && \
apt-file update
RUN set -x ; \
wget --quiet -O /tmp/ledgersmb-$LSMB_VERSION.tar.gz "$ARTIFACT_LOCATION" && \
tar -xzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
cd /srv/ledgersmb && \
( ( for lib in $( cpanfile-dump --with-all-features --recommends --no-configure --no-build --no-test ) ; \
do \
if dh-make-perl locate "$lib" 2>/dev/null ; \
then \
: \
else \
echo no : $lib ; \
fi ; \
done ) | grep -v dh-make-perl | grep -v 'not found' | grep -vi 'is in Perl ' | cut -d' ' -f4 | sort | uniq | tee /srv/derived-deps ) && \
cat /srv/derived-deps
#
#
# The real image build starts here
#
#
FROM $SRCIMAGE
MAINTAINER Freelock john@freelock.com
# Build time variables
ENV LSMB_VERSION 1.5.30
# Build time variables
ARG LSMB_VERSION="1.7.41"
ARG LSMB_DL_DIR="Releases"
ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz"
# Install Perl, Tex, Starman, psql client, and all dependencies
# 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
# That mitigates issues where the PG instance is running a newer version than this container
RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >> /etc/apt/apt.conf && \
COPY --from=builder /srv/derived-deps /tmp/derived-deps
RUN set -x ; \
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/ && \
mkdir -p /usr/share/man/man3/ && \
@@ -19,46 +72,34 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
mkdir -p /usr/share/man/man5/ && \
mkdir -p /usr/share/man/man6/ && \
mkdir -p /usr/share/man/man7/ && \
DEBIAN_FRONTEND=noninteractive apt-get update && \
apt-get dist-upgrade -y && apt-get -y install \
curl wget ca-certificates \
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
libdbd-pg-perl libdbi-perl libdatetime-perl \
libdatetime-format-strptime-perl libdigest-md5-perl \
libfile-mimeinfo-perl libjson-xs-perl libjson-perl \
liblocale-maketext-perl liblocale-maketext-lexicon-perl \
liblog-log4perl-perl libmime-base64-perl libmime-lite-perl \
libmath-bigint-gmp-perl libmoose-perl libnumber-format-perl \
libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
libpgobject-util-dbmethod-perl libplack-perl libtemplate-perl \
libnamespace-autoclean-perl \
libtemplate-plugin-latex-perl libtex-encode-perl \
libmoosex-nonmoose-perl libclass-c3-xs-perl \
texlive-latex-recommended \
DEBIAN_FRONTEND="noninteractive" apt-get update -q && \
DEBIAN_FRONTEND="noninteractive" apt-get dist-upgrade -y -q && \
DEBIAN_FRONTEND="noninteractive" apt-get -y -q install \
wget ca-certificates gnupg \
$( cat /tmp/derived-deps ) \
libclass-c3-xs-perl libclass-accessor-lite-perl \
texlive-latex-recommended texlive-fonts-recommended \
texlive-xetex fonts-liberation \
starman \
libopenoffice-oodoc-perl \
postgresql-client \
ssmtp \
lsb-release && \
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 -) && \
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install postgresql-client && \
DEBIAN_FRONTEND=noninteractive apt-get -y install git cpanminus make gcc libperl-dev && \
curl -Lo /tmp/ledgersmb-$LSMB_VERSION.tar.gz "https://download.ledgersmb.org/f/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
tar -xvzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
cpanm --quiet --notest \
--with-feature=starman \
--with-feature=latex-pdf-ps \
--with-feature=openoffice \
--installdeps /srv/ledgersmb/ && \
apt-get purge -y git cpanminus make gcc libperl-dev && \
apt-get autoremove -y && \
apt-get autoclean && \
rm -rf ~/.cpanm/ && \
rm -rf /var/lib/apt/lists/* /usr/share/man/*
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 "$ARTIFACT_LOCATION" && \
tar -xzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
cpanm --notest \
--with-feature=starman \
--with-feature=latex-pdf-ps \
--with-feature=openoffice \
--installdeps /srv/ledgersmb/ && \
apt-get purge -q -y git cpanminus make gcc libperl-dev && \
apt-get autoremove -q -y && \
apt-get autoclean -q && \
rm -rf ~/.cpanm/ && \
rm -rf /var/lib/apt/lists/* /usr/share/man/*
WORKDIR /srv/ledgersmb

136
README.md
View File

@@ -1,13 +1,20 @@
# ledgersmb-docker
Dockerfile for LedgerSMB Docker image
# Supported tags
- `1.5`, `1.5.x`, `latest` - Latest release tarball from 1.5 branch
- `1.4`, `1.4.x` - Latest tagged release of git 1.4 branch
- `1.10`, `1.10.38` - Last official release from the 1.10 branch (End-of-Life)
- `1.9`, `1.9.30` - Last official release from the 1.9 branch (End-of-Life)
- `1.8`, `1.8.31` - Last official release from the 1.8 branch (End-of-Life)
- `1.7`, `1.7.41` - Last official release from the 1.7 branch (End-of-Life)
- `1.6`, `1.6.33` - Last official release from the 1.6 branch (End-of-Life)
- `1.5`, `1.5.30` - Last official release from the 1.5 branch (End-of-Life)
- `1.4`, `1.4.42` - Last official release from the 1.4 branch (End-of-Life)
- `master` - Master branch from git, unstable
- `master-dev`, `1.5-dev` - Containers to kick off a development setup
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?
@@ -24,9 +31,9 @@ This image is designed to be used in conjunction with a running PostgreSQL
instance (such as may be provided through a separate image).
This image exposes port 5762 running a Starman HTTP application server. We
do not recommend exposing this port publicly, because
do recommend not exposing this port publicly, because
1. The Starman author recommends it
1. The Starman author recommends not exposing it
2. We strongly recommend TLS encryption of all application traffic
While the exposed port can be used for quick evaluation, it's recommended
@@ -35,61 +42,65 @@ 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.
# Quickstart
The quickest way to get this image up and running is by using the
`docker-compose` file available through the GitHub repository at:
https://github.com/ledgersmb/ledgersmb-docker/blob/1.5/docker-compose.yml
which sets up both this image and a supporting database image for
production purposes (i.e. with persistent (database) data, with the
exception of one thing: setting up an Nginx or Apache reverse proxy
with TLS 1.2 support -- a requirement if you want to access your
installation over any type of network.
# How to use this image
## Start a postgres instance
This image can be installed either automatically with the Docker compose file
or manually with docker only.
## Docker-Compose installation and start
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 run -d --name postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
postgres:latest
$ docker-compose pull
$ docker-compose up
```
BEWARE: The command above creates a container with the database data stored
*inside* the container. Upon removal of the container, the database data will
be removed too!
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.
To prevent destruction of the database data upon replacement of the container,
please use these commands instead:
The database username and password are:
```plain
$ docker volume create dbdata
$ docker run -d --name postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v dbdata:/var/lib/postgresql/data \
postgres:latest
username: postgres
password: abc
```
## Start LedgerSMB
From here, follow the steps as detailed in the instructions for
[preparing for first use](https://ledgersmb.org/content/preparing-ledgersmb-17-first-use).
## Manual installation
This section assumes availability of a PostgreSQL server to attach to the
LedgerSMB image as the database server.
### Start LedgerSMB
```plain
$ docker run -d -p 5762:5762 --name myledger \
ledgersmb/ledgersmb:latest
-e POSTGRES_HOST=<ip/hostname> ledgersmb/ledgersmb:latest
```
This command maps port 5762 of your container to port 5762 in your host. The
web application inside the container should now be accessible through
http://localhost:5762/setup.pl.
http://localhost:5762/setup.pl and http://localhost:5762/login.pl.
## Set up LedgerSMB
Below are more variables which determine container configuration,
like `POSTGRES_HOST` above.
# Set up LedgerSMB
* Visit http://myledger:5762/setup.pl.
* Log in with the "postgres" user and the password `mysecretpassword`
and provide the name of a company (= database name) you want to create.
* Log in with the "postgres" user and the password `abc` as given above -
or with the credentials of your own database server in case of a manual
setup - and provide the name of a company (= database name) you want to
create.
* Go over the steps presented in the browser
Once you have completed the setup steps, you have a fully functional
@@ -139,21 +150,18 @@ affect the performance experience of users.
## Mail configuration
The docker image uses `ssmtp` to send mail.
### Before 1.8.0
* `SSMTP_ROOT` (config: `Root`)
These variables are used to set outgoing SMTP defaults.
* `SSMTP_ROOT` (config: `Root` -- DEPRECATED)
* `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`)
* `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_AUTH_METHOD` (config: `AuthMethod` -- DEPRECATED)
* `SSMTP_FROMLINE_OVERRIDE` (config: `FromLineOverride` -- DEPRECATED)
`SSMTP_MAILHUB` defaults to the default docker0 interface, so if your host is
already configured to relay mail, this should relay successfully with only
@@ -164,6 +172,25 @@ 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
@@ -174,11 +201,18 @@ and the startup & config script is /usr/bin/start.sh.
## Issues
If you have any problems with or questions about this image or LedgerSMB, please contact us on the [mailing list](http://ledgersmb.org/topic/support/mailing-lists-rss-and-nntp-feeds) or through a [GitHub issue](https://github.com/ledgersmb/ledgersmb-docker/issues).
If you have any problems with or questions about this image or LedgerSMB,
please contact us on the [mailing list](http://ledgersmb.org/topic/support/mailing-lists-rss-and-nntp-feeds)
or through a [GitHub issue](https://github.com/ledgersmb/ledgersmb-docker/issues).
You can also reach some of the official LedgerSMB maintainers via the `#ledgersmb` IRC channel on [Freenode](https://freenode.net), or on the bridged [Matrix](https://matrix.org) room in [#ledgersmb:matrix.org](https://matrix.to/#/#ledgersmb:matrix.org). The [Riot.im](https://riot.im/app/#/room/#ledgersmb:matrix.org) Matrix client is highly recommended.
You can also reach some of the official LedgerSMB maintainers via the
`#ledgersmb` IRC channel on [Freenode](https://freenode.net), or on the
bridged [Matrix](https://matrix.org) room in [#ledgersmb:matrix.org](https://matrix.to/#/#ledgersmb:matrix.org).
The [Riot.im](https://riot.im/app/#/room/#ledgersmb:matrix.org) Matrix client is highly recommended.
## Contributing
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
You are invited to contribute new features, fixes, or updates, large or small;
we are always thrilled to receive pull requests, and do our best to process
them as fast as we can.

View File

@@ -28,18 +28,12 @@ services:
lsmb:
depends_on:
- postgres
image: ledgersmb/ledgersmb:1.5
image: ghcr.io/ledgersmb/ledgersmb:1.7
networks:
- internal
- default
# Uncomment the 'ports' section to map the LedgerSMB container port (5762)
# to the host's port of the same number, thus making LedgerSMB
# available on http://<host-dns-or-ip>:5762/
# SECURITY NOTE: Do this for evaluation purposes only!
# In production, be sure to use SSL/TLS to protect user's passwords
# and other sensitive data
# ports:
# - "5762:5762"
ports:
- "127.0.0.1:5762:5762"
environment:
# The LSMB_WORKERS environment variable lets you select the number
# of processes serving HTTP requests. The default number of 2 workers
@@ -58,6 +52,15 @@ services:
# SSMTP_AUTH_METHOD:
# SSMTP_USE_STARTTLS:
# SSMTP_FROMLINE_OVERRIDE:
#
#
# The PROXY_IP environment variable lets you set the IP address
# (range) of the reverse proxy used for TLS termination, which forwards
# its requests to this container. When this reverse proxy runs on the
# Docker host, the default below applies. In case the reverse proxy is
# hosted in a separate container, this setting needs to be adjusted.
#
# PROXY_IP: 172.17.0.1/12
# having the dbdata volume is required to persist our
# data between PostgreSQL container updates; without

View File

@@ -16,33 +16,20 @@ default_db = $DEFAULT_DB
[mail]
sendmail = /usr/sbin/ssmtp
[proxy]
ip=${PROXY_IP:-172.17.0.1/12}
EOF
export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf'
fi
if [ ! -f "/tmp/ledgersmb" ]; then
mkdir /tmp/ledgersmb
if [ ! -d "/tmp/ledgersmb" ]; then
mkdir -p /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} --preload-app tools/starman.psgi
exec starman --port 5762 --workers ${LSMB_WORKERS:-5} -I lib -I old/lib \
--preload-app bin/ledgersmb-server.psgi