Compare commits

...

23 Commits
1.12 ... 1.8.22

Author SHA1 Message Date
Erik Huelsmann
3c129424dc * Automatic Dockerfile update by release process 2021-10-12 16:25:46 -04:00
Erik Huelsmann
8a6d7e2252 * Automatic Dockerfile update by release process 2021-09-18 17:02:08 -04:00
Erik Huelsmann
1979f70541 Set the reverse proxy address to the default Docker address range 2021-09-17 23:04:15 +02:00
Erik Huelsmann
f1411898b4 Add reverse proxy configuration option 2021-09-17 22:40:58 +02:00
Erik Huelsmann
80702acab4
Create no-response.yml 2021-09-04 23:25:37 +02:00
Erik Huelsmann
6659f8f8ae * Automatic Dockerfile update by release process 2021-09-03 14:17:32 -04:00
Erik Huelsmann
59df4ddefd Use multi-stage build to derive dependency packages 2021-08-30 00:48:44 +02:00
Erik Huelsmann
b02d6b1044 * Automatic Dockerfile update by release process 2021-08-25 17:11:56 -04:00
Erik Huelsmann
1f9e54cbe8 * Automatic Dockerfile update by release process 2021-08-23 07:49:49 -04:00
Erik Huelsmann
955812f36b
Update README.md 2021-08-17 13:50:41 +02:00
Erik Huelsmann
4f5f8e8cbf Print commands as they are executed (debugging purposes) 2021-08-13 23:55:50 +02:00
Erik Huelsmann
b7502825f1 Make the artifact location into a build ARG 2021-08-13 23:45:10 +02:00
Erik Huelsmann
3d73729575
Update README.md 2021-08-04 23:56:15 +02:00
Erik Huelsmann
f9aeeaad75
Update README.md 2021-08-04 23:55:28 +02:00
Erik Huelsmann
f7f7ecf3a1 * Automatic Dockerfile update by release process 2021-07-28 17:09:34 -04:00
Erik Huelsmann
4772312182
Update README.md 2021-07-10 23:54:05 +02:00
Erik Huelsmann
c5c6011073
Update README.md 2021-07-10 23:47:17 +02:00
Erik Huelsmann
db941843fb * Automatic Dockerfile update by release process 2021-07-10 13:34:58 -04:00
Erik Huelsmann
ae687da108 * Automatic Dockerfile update by release process 2021-06-14 14:55:24 -04:00
Erik Huelsmann
6bc115c7e6 * Automatic Dockerfile update by release process 2021-06-03 15:05:08 -04:00
Erik Huelsmann
d7bf3b30a0 * Automatic Dockerfile update by release process 2021-05-29 15:06:27 -04:00
Erik Huelsmann
8d6e8fe95b * Automatic Dockerfile update by release process 2021-05-02 13:05:16 -04:00
Erik Huelsmann
3156651671 * Automatic Dockerfile update by release process 2021-03-21 09:02:57 -04:00
5 changed files with 106 additions and 54 deletions

9
.github/no-response.yml vendored Normal file
View File

@ -0,0 +1,9 @@
# Configuration for probot-no-response - https://github.com/probot/no-response
# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 90
# Label requiring a response
responseRequiredLabel: waiting-for-user
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
Closing: more than 90 days without user response. Feel free to reopen with your comments.

View File

@ -1,9 +1,52 @@
FROM debian:buster-slim # Build time variables
ARG SRCIMAGE=debian:buster-slim
FROM $SRCIMAGE AS builder
ARG LSMB_VERSION="1.8.22"
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 MAINTAINER Freelock john@freelock.com
# Build time variables # Build time variables
ARG LSMB_VERSION="1.8.10" ARG LSMB_VERSION="1.8.22"
ARG LSMB_DL_DIR="Releases" 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 # Install Perl, Tex, Starman, psql client, and all dependencies
# Without libclass-c3-xs-perl, performance is terribly slow... # Without libclass-c3-xs-perl, performance is terribly slow...
@ -13,7 +56,10 @@ ARG LSMB_DL_DIR="Releases"
# Install Locale::Codes Locale::Country Locale::Language from CPAN to suppress # Install Locale::Codes Locale::Country Locale::Language from CPAN to suppress
# deprecation-as-core-module warning # deprecation-as-core-module warning
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/man1/ && \
mkdir -p /usr/share/man/man2/ && \ mkdir -p /usr/share/man/man2/ && \
mkdir -p /usr/share/man/man3/ && \ mkdir -p /usr/share/man/man3/ && \
@ -25,33 +71,8 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade && \ DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install \ DEBIAN_FRONTEND="noninteractive" apt-get -y install \
wget ca-certificates gnupg \ wget ca-certificates gnupg \
libauthen-sasl-perl libcgi-emulate-psgi-perl libconfig-inifiles-perl \ $( cat /tmp/derived-deps ) \
libcookie-baker-perl libdbd-pg-perl libdbi-perl libdata-uuid-perl \ libclass-c3-xs-perl \
libdatetime-perl libdatetime-format-strptime-perl \
libemail-sender-perl libemail-stuffer-perl libfile-find-rule-perl \
libhtml-escape-perl libhttp-headers-fast-perl libio-stringy-perl \
libjson-maybexs-perl libcpanel-json-xs-perl libjson-pp-perl \
liblist-moreutils-perl \
liblocale-maketext-perl liblocale-maketext-lexicon-perl \
liblog-log4perl-perl libmime-types-perl \
libmath-bigint-gmp-perl libmodule-runtime-perl libmoo-perl \
libmoox-types-mooselike-perl libmoose-perl \
libmoosex-nonmoose-perl libnumber-format-perl \
libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
libpgobject-type-bigfloat-perl libpgobject-type-datetime-perl \
libpgobject-type-bytestring-perl libpgobject-util-dbmethod-perl \
libpgobject-util-dbadmin-perl libplack-perl \
libplack-builder-conditionals-perl libplack-middleware-reverseproxy-perl \
libplack-request-withencoding-perl libscope-guard-perl \
libsession-storage-secure-perl libstring-random-perl \
libtemplate-perl libtext-csv-perl libtext-csv-xs-perl \
libtext-markdown-perl libtry-tiny-perl libversion-compare-perl \
libxml-libxml-perl libnamespace-autoclean-perl \
starman starlet libhttp-parser-xs-perl \
libtemplate-plugin-latex-perl libtex-encode-perl \
libxml-twig-perl libopenoffice-oodoc-perl \
libexcel-writer-xlsx-perl libspreadsheet-writeexcel-perl \
libclass-c3-xs-perl liblocale-codes-perl \
texlive-latex-recommended texlive-fonts-recommended \ texlive-latex-recommended texlive-fonts-recommended \
texlive-xetex fonts-liberation \ texlive-xetex fonts-liberation \
lsb-release && \ lsb-release && \
@ -60,7 +81,7 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \ DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install postgresql-client && \ DEBIAN_FRONTEND="noninteractive" apt-get -y install postgresql-client && \
DEBIAN_FRONTEND="noninteractive" apt-get -q -y install git cpanminus make gcc libperl-dev && \ 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 "$ARTIFACT_LOCATION" && \
tar -xzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \ tar -xzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \ rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
cpanm --reinstall --notest Locale::Country Locale::Codes Locale::Language && \ cpanm --reinstall --notest Locale::Country Locale::Codes Locale::Language && \

View File

@ -6,13 +6,13 @@ Dockerfile for LedgerSMB Docker image
- `1.8`, `1.8.x`, `latest` - Latest official release from the 1.8 branch - `1.8`, `1.8.x`, `latest` - Latest official release from the 1.8 branch
- `1.7`, `1.7.x` - Latest official release from 1.7 branch - `1.7`, `1.7.x` - Latest official release from 1.7 branch
- `1.6`, `1.6.x` - Latest official release from 1.6 branch - `1.6`, `1.6.33` - Last official release from 1.6 branch
- `1.5`, `1.5.30` - Last official release from 1.5 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 - `1.4`, `1.4.42` - Last official release from 1.4 branch
- `master` - Master branch from git, unstable - `master` - Master branch from git, unstable
Containers supporting the development process are provided 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. through the [ledgersmb-dev-docker project](https://github.com/ledgersmb/ledgersmb-dev-docker/blob/master/README.md#getting-started).
# What is LedgerSMB? # What is LedgerSMB?
@ -55,13 +55,25 @@ variables, are:
```plain ```plain
$ docker-compose pull $ docker-compose pull
$ docker-compose up $ docker-compose up -d
``` ```
This will set up two containers: (1) a PostgreSQL container with persistent This will set up two containers: (1) a PostgreSQL container with persistent
storage which is retained between container updates and (2) a LedgerSMB storage which is retained between container updates and (2) a LedgerSMB
container configured to connect to the PostgreSQL container as its database container configured to connect to the PostgreSQL container as its database
server. server. The containers will be running in the background and can be stopped
and started by running:
```plain
# Stopping the containers
$ docker-compose stop
# Starting the containers
$ docker-compose start
```
(Check the status of the containers using `docker-compose ps`; when the
containers are running, the `State` column shows `Up`.)
The database username and password are: The database username and password are:
@ -148,6 +160,24 @@ affect the performance experience of users.
## Mail configuration ## Mail configuration
### 1.8.0 and higher
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`
### Before 1.8.0 ### Before 1.8.0
These variables are used to set outgoing SMTP defaults. These variables are used to set outgoing SMTP defaults.
@ -170,25 +200,6 @@ Use the [ssmtp.conf man
page](https://www.systutorials.com/docs/linux/man/5-ssmtp.conf/) to look up 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. 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 # Troubleshooting/Developing
Currently the LedgerSMB installation is in /srv/ledgersmb Currently the LedgerSMB installation is in /srv/ledgersmb

View File

@ -58,6 +58,15 @@ services:
# SSMTP_AUTH_METHOD: # SSMTP_AUTH_METHOD:
# SSMTP_USE_STARTTLS: # SSMTP_USE_STARTTLS:
# SSMTP_FROMLINE_OVERRIDE: # 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 # having the dbdata volume is required to persist our
# data between PostgreSQL container updates; without # data between PostgreSQL container updates; without

View File

@ -85,6 +85,8 @@ ${LSMB_MAIL_SMTPHOST:+smtphost=$LSMB_MAIL_SMTPHOST
}${LSMB_MAIL_SMTPPASS:+smtppass=$LSMB_MAIL_SMTPPASS }${LSMB_MAIL_SMTPPASS:+smtppass=$LSMB_MAIL_SMTPPASS
}${LSMB_MAIL_SMTPAUTHMECH:+smtpauthmech=$LSMB_MAIL_SMTPAUTHMECH }${LSMB_MAIL_SMTPAUTHMECH:+smtpauthmech=$LSMB_MAIL_SMTPAUTHMECH
} }
[proxy]
ip=${PROXY_IP:-172.17.0.1/12}
EOF EOF
export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf' export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf'
fi fi