Compare commits

..

24 Commits

Author SHA1 Message Date
Erik Huelsmann
d5661d029f * Automatic Dockerfile update by release process 2024-01-13 15:48:53 -05:00
Erik Huelsmann
88c84967b9 Add table of contents
Closes #37
2024-01-08 20:57:12 +01:00
Erik Huelsmann
3fec7b91b1 * Automatic Dockerfile update by release process 2023-12-31 07:26:22 -05:00
Erik Huelsmann
6d6ca05eb1 * Automatic Dockerfile update by release process 2023-12-15 16:33:18 -05:00
Erik Huelsmann
b39d64964c * Automatic Dockerfile update by release process 2023-12-09 06:12:21 -05:00
Erik Huelsmann
f697bb6b50 Merge pull request #35 from brush/patch-1
Improve clarity of comments re: security of port mapping
2023-12-06 22:36:01 +01:00
brush
dc4c2cf97a Improve clarity of comments re: security of port mapping 2023-12-06 11:52:07 -08:00
Erik Huelsmann
83fb7a4fde * Automatic Dockerfile update by release process 2023-11-29 15:19:21 -05:00
Erik Huelsmann
0dc6e65c51 Fix further optionl parameter setting in the configuration file 2023-11-28 20:05:58 +01:00
Erik Huelsmann
51d1d1da0f Fix e-mail when HELO isn't explicitly set 2023-11-27 23:07:49 +01:00
Erik Huelsmann
9f7a4d1f8d * Automatic Dockerfile update by release process 2023-11-11 17:35:48 -05:00
Erik Huelsmann
7f3a3467f8 * Automatic Dockerfile update by release process 2023-10-22 16:14:02 -04:00
Erik Huelsmann
91a985bc31 Update Dockerfile
Use MetaCPAN for the metadata.
2023-10-22 21:32:46 +02:00
Erik Huelsmann
413a63161c * Automatic Dockerfile update by release process 2023-10-10 16:06:27 -04:00
Erik Huelsmann
7f7aa41a27 * Automatic Dockerfile update by release process 2023-10-03 17:07:07 -04:00
Erik Huelsmann
6f4d5cba73 Update README.md 2023-10-03 22:58:11 +02:00
Erik Huelsmann
3f3ca9dd7f Fix example volume in comment section 2023-09-30 23:07:26 +02:00
Erik Huelsmann
5d1823f88a Fix reference to 1.11 image 2023-09-30 23:07:00 +02:00
Erik Huelsmann
81a38b3040 Allow start.sh to generate local config 2023-09-30 22:57:09 +02:00
Erik Huelsmann
93c7b4c77e Fix bad interaction between IPv6, Bookworm, Starman and Docker 2023-09-30 22:56:40 +02:00
Erik Huelsmann
096350ad7b Fix ledgersmb-server.psgi not finding configuration
Fixes #34
2023-09-30 22:55:43 +02:00
Erik Huelsmann
9cc752a0ff Fix unescaped $-signs 2023-09-30 22:53:49 +02:00
Erik Huelsmann
7a17a8630f Fix docker-compose.yml syntax 2023-09-30 21:55:26 +02:00
Erik Huelsmann
ee863b6f3d Update latest 1.9 release 2023-09-29 15:29:12 +02:00
4 changed files with 74 additions and 33 deletions

View File

@@ -5,8 +5,8 @@ ARG SRCIMAGE=debian:bookworm-slim
FROM $SRCIMAGE AS builder FROM $SRCIMAGE AS builder
ARG LSMB_VERSION="1.11.0-rc1" ARG LSMB_VERSION="1.11.8"
ARG LSMB_DL_DIR="Beta Releases" ARG LSMB_DL_DIR="Releases"
ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz"
@@ -51,8 +51,8 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double-
the LedgerSMB project is to bring high quality ERP and accounting capabilities\ the LedgerSMB project is to bring high quality ERP and accounting capabilities\
to Small and Midsize Businesses." to Small and Midsize Businesses."
ARG LSMB_VERSION="1.11.0-rc1" ARG LSMB_VERSION="1.11.8"
ARG LSMB_DL_DIR="Beta Releases" ARG LSMB_DL_DIR="Releases"
ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz"
@@ -92,7 +92,7 @@ RUN set -x ; \
wget --quiet -O /tmp/ledgersmb-$LSMB_VERSION.tar.gz "$ARTIFACT_LOCATION" && \ 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 --notest \ cpanm --metacpan --notest \
--with-feature=starman \ --with-feature=starman \
--with-feature=latex-pdf-ps \ --with-feature=latex-pdf-ps \
--with-feature=openoffice \ --with-feature=openoffice \
@@ -126,7 +126,9 @@ ENV DEFAULT_DB lsmb
COPY start.sh /usr/local/bin/start.sh COPY start.sh /usr/local/bin/start.sh
RUN chmod +x /usr/local/bin/start.sh && \ RUN chmod +x /usr/local/bin/start.sh && \
mkdir -p /var/www mkdir -p /var/www && \
mkdir -p /srv/ledgersmb/local/conf && \
chown -R www-data /srv/ledgersmb/local
# Work around an aufs bug related to directory permissions: # Work around an aufs bug related to directory permissions:
RUN mkdir -p /tmp && chmod 1777 /tmp RUN mkdir -p /tmp && chmod 1777 /tmp

View File

@@ -2,10 +2,23 @@
Dockerfile for LedgerSMB Docker image Dockerfile for LedgerSMB Docker image
## Content
1. [Supported tags](#supported-tags)
2. [What is LedgerSMB](#what-is-ledgersmb)
3. [How to use this image](#how-to-use-this-image)
4. [Set up LedgerSMB](#set-up-ledgersmb)
5. [Updating the LedgerSMB container](#updating-the-ledgersmb-container)
6. [Environment Variables](#environment-variables)
7. [Advanced setup](#advanced-setup)
8. [Troubleshooting](#troubleshootingdeveloping)
9. [User feedback](#user-feedback)
# Supported tags # Supported tags
- `1.10`, `1.10.x`, `latest` - Latest official release from the 1.10 branch - `1.11`, `1.11.x`, `latest` - Latest official release from the 1.11 branch
- `1.9`, `1.9.x` - Latest official release from the 1.9 branch - `1.10`, `1.10.x` - Latest official release from the 1.10 branch
- `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.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.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.6`, `1.6.33` - Last official release from the 1.6 branch (End-of-Life)

View File

@@ -31,24 +31,24 @@ services:
lsmb: lsmb:
depends_on: depends_on:
- postgres - postgres
image: ghcr.io/ledgersmb/ledgersmb:1.10 image: ghcr.io/ledgersmb/ledgersmb:1.11
volumes:
# In order to store the configuration outside the image, allowing it to # In order to store the configuration outside the image, allowing it to
# be edited between container restarts, uncomment the section below and # be edited between container restarts, uncomment the section below and
# change the 'source' to the directory where you want the configuration # change the 'source' to the directory where you want the configuration
# to be stored. # to be stored.
# - type: bind # volumes:
# - source: /home/ledgersmb/conf # - type: bind
# - target: /srv/ledgersmb/local/conf # source: /home/ledgersmb/conf
# target: /srv/ledgersmb/local/conf
networks: networks:
- internal - internal
- default - default
# Comment the 'ports' section to disable mapping the LedgerSMB container port (5762) # Comment the 'ports' section to disable mapping the LedgerSMB container port (5762)
# to the host's port of the same number, thus making LedgerSMB # to the host's port of the same number. Mapping "5762:5762" makes LedgerSMB
# available on http://<host-dns-or-ip>:5762/ # available on http://<host-dns-or-ip>:5762/
# SECURITY NOTE: Do this for evaluation purposes only! # SECURITY NOTE: Leave this uncommented for evaluation purposes only!
# In production, be sure to use SSL/TLS to protect user's passwords # In production, be sure to use SSL/TLS (such as by reverse proxying) to protect
# and other sensitive data # user's passwords and other sensitive data
ports: ports:
- "5762:5762" - "5762:5762"
environment: environment:

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
cd /srv/ledgersmb cd /srv/ledgersmb
mkdir ./local/conf/ [[ -d ./local/conf/ ]] || mkdir ./local/conf/
if [[ -n "$SSMTP_ROOT" ]]; then if [[ -n "$SSMTP_ROOT" ]]; then
echo "\$SSMTP_ROOT set; parameter is deprecated and will be ignored" echo "\$SSMTP_ROOT set; parameter is deprecated and will be ignored"
LSMB_HAVE_DEPRECATED=1 LSMB_HAVE_DEPRECATED=1
@@ -71,27 +71,24 @@ fi
if [[ ! -f ./local/conf/ledgersmb.yaml ]]; then if [[ ! -f ./local/conf/ledgersmb.yaml ]]; then
cat <<EOF >./local/conf/ledgersmb.yaml cat <<EOF >./local/conf/ledgersmb.yaml
paths: paths:
$class: Beam::Wire \$class: Beam::Wire
config: config:
UI: ./UI/ UI: ./UI/
UI_cache: lsmb_templates/ UI_cache: lsmb_templates/
db: db:
$class: LedgerSMB::Database::Factory \$class: LedgerSMB::Database::Factory
connect_data: connect_data:
host: $POSTGRES_HOST host: ${POSTGRES_HOST:-postgres}
port: $POSTGRES_PORT port: ${POSTGRES_PORT:-5432}
mail: mail:
transport: transport:
$class: LedgerSMB::Mailer::TransportSMTP \$class: LedgerSMB::Mailer::TransportSMTP
host: $LSMB_MAIL_SMTPHOST
port: $LSMB_MAIL_SMTPPORT
helo: $LSMB_MAIL_SMTPSENDER_HOSTNAME
tls: $LSMB_MAIL_SMTPTLS tls: $LSMB_MAIL_SMTPTLS
miscellaneous: miscellaneous:
$class: Beam::Wire \$class: Beam::Wire
config: config:
proxy_ip: ${PROXY_IP:-172.17.0.1/12} proxy_ip: ${PROXY_IP:-172.17.0.1/12}
@@ -101,19 +98,46 @@ ui:
lifecycle: eager lifecycle: eager
args: args:
cache: cache:
$ref: paths/UI_cache \$ref: paths/UI_cache
root: root:
$ref: paths/UI \$ref: paths/UI
EOF EOF
if [[ -n "" ]] if [[ -n "$LSMB_MAIL_SMTPHOST" ]]
then then
cat <<EOF >./local/conf/ledgersmb.000.yaml cat <<EOF >./local/conf/ledgersmb.000.yaml
mail:
transport:
host: $LSMB_MAIL_SMTPHOST
EOF
fi
if [[ -n "$LSMB_MAIL_SMTPPORT" ]]
then
cat <<EOF >./local/conf/ledgersmb.001.yaml
mail:
transport:
port: $LSMB_MAIL_SMTPPORT
EOF
fi
if [[ -n "$LSMB_MAIL_SMTPSENDER_HOSTNAME" ]]
then
cat <<EOF >./local/conf/ledgersmb.002.yaml
mail:
transport:
helo: $LSMB_MAIL_SMTPSENDER_HOSTNAME
EOF
fi
if [[ -n "$LSMB_MAIL_SMTPUSER" ]]
then
cat <<EOF >./local/conf/ledgersmb.003.yaml
mail: mail:
transport: transport:
sasl_password: '' sasl_password: ''
sasl_username: sasl_username:
$class: Authen::SASL \$class: Authen::SASL
mechanism: $LSMB_MAIL_SMTPAUTHMECH mechanism: $LSMB_MAIL_SMTPAUTHMECH
callback: callback:
user: $LSMB_MAIL_SMTPUSER user: $LSMB_MAIL_SMTPUSER
@@ -127,12 +151,14 @@ fi
# starman instance (instead of just the worker, which will immediately # starman instance (instead of just the worker, which will immediately
# get restarted) on error; it also has a positive effect on memory use # get restarted) on error; it also has a positive effect on memory use
LSMB_CONFIG_FILE=${LSMB_CONFIG_FILE:-./local/conf/ledgersmb.yaml}
export LSMB_CONFIG_FILE
echo '--------- LEDGERSMB CONFIGURATION: ledgersmb.conf' echo '--------- LEDGERSMB CONFIGURATION: ledgersmb.conf'
cat ${LSMB_CONFIG_FILE:-ledgersmb.conf} cat ${LSMB_CONFIG_FILE}
echo '--------- LEDGERSMB CONFIGURATION --- END' echo '--------- LEDGERSMB CONFIGURATION --- END'
# ':5762:' suppresses an uninitialized variable warning in starman # ':5762:' suppresses an uninitialized variable warning in starman
# the last colon means "don't connect using tls"; without it, there's a warning # the last colon means "don't connect using tls"; without it, there's a warning
exec starman --listen :5762: --workers ${LSMB_WORKERS:-5} \ exec starman --listen 0.0.0.0:5762 --workers ${LSMB_WORKERS:-5} \
-I lib -I old/lib \ -I lib -I old/lib \
--preload-app bin/ledgersmb-server.psgi --preload-app bin/ledgersmb-server.psgi