From 7c546563622233dad3c2b7faddff2458723fd4c0 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 15 Mar 2025 17:54:15 +0100 Subject: [PATCH 01/14] As of 1.12.6 and 1.11.22, Class::C3::XS is in 'cpanfile' Meaning there's no need to explicitly mention it in the package installation lines; it'll be automatically mapped. --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0bff717..112a39f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -80,7 +80,6 @@ RUN set -x ; \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y install \ wget ca-certificates gnupg iproute2 \ $( cat /tmp/derived-deps ) \ - libclass-c3-xs-perl \ texlive-plain-generic texlive-latex-recommended texlive-fonts-recommended \ texlive-xetex fonts-liberation \ lsb-release postgresql-common && \ From 12e8cfa41bd3bbe73a916d6d668901dc58c11763 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 15 Mar 2025 19:04:09 +0100 Subject: [PATCH 02/14] Update Dockerfile --- Dockerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 112a39f..ec0645d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -56,12 +56,10 @@ 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... - -# 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 - +### PACKAGE REQUIREMENTS RATIONALE +# +# postgresql-client(from apt.postgresql.org): reduces chances running a newer server than this client +# fonts-liberation: installed for compatibility with templates from 1.8 and earlier COPY --from=builder /srv/derived-deps /tmp/derived-deps From f311ceeb80c9ed3a28dac958a7196027af176133 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sun, 23 Mar 2025 11:59:56 -0400 Subject: [PATCH 03/14] * Automatic Dockerfile update by release process --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index ec0645d..ec82c2d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG SRCIMAGE=debian:bookworm-slim FROM $SRCIMAGE AS builder -ARG LSMB_VERSION="1.12.5" +ARG LSMB_VERSION="1.12.6" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" @@ -51,7 +51,7 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- the LedgerSMB project is to bring high quality ERP and accounting capabilities\ to Small and Midsize Businesses." -ARG LSMB_VERSION="1.12.5" +ARG LSMB_VERSION="1.12.6" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" From 987ff7e5406ab1d85ac94db5c436945c48dd580b Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 5 Apr 2025 18:26:30 -0400 Subject: [PATCH 04/14] * Automatic Dockerfile update by release process --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index ec82c2d..f3c8a3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG SRCIMAGE=debian:bookworm-slim FROM $SRCIMAGE AS builder -ARG LSMB_VERSION="1.12.6" +ARG LSMB_VERSION="1.12.7" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" @@ -51,7 +51,7 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- the LedgerSMB project is to bring high quality ERP and accounting capabilities\ to Small and Midsize Businesses." -ARG LSMB_VERSION="1.12.6" +ARG LSMB_VERSION="1.12.7" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" From 1ec5bf1ef48d44cc9e974969c7ecdebdf5a8fec1 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Fri, 25 Apr 2025 16:22:38 -0400 Subject: [PATCH 05/14] * Automatic Dockerfile update by release process --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f3c8a3f..1f7024e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG SRCIMAGE=debian:bookworm-slim FROM $SRCIMAGE AS builder -ARG LSMB_VERSION="1.12.7" +ARG LSMB_VERSION="1.12.8" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" @@ -51,7 +51,7 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- the LedgerSMB project is to bring high quality ERP and accounting capabilities\ to Small and Midsize Businesses." -ARG LSMB_VERSION="1.12.7" +ARG LSMB_VERSION="1.12.8" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" From 87baa6c4b30882271762dccafe2af4f5f5b63051 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Tue, 13 May 2025 17:16:33 -0400 Subject: [PATCH 06/14] * Automatic Dockerfile update by release process --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1f7024e..76549f0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG SRCIMAGE=debian:bookworm-slim FROM $SRCIMAGE AS builder -ARG LSMB_VERSION="1.12.8" +ARG LSMB_VERSION="1.12.9" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" @@ -51,7 +51,7 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- the LedgerSMB project is to bring high quality ERP and accounting capabilities\ to Small and Midsize Businesses." -ARG LSMB_VERSION="1.12.8" +ARG LSMB_VERSION="1.12.9" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" From 4f9af73c13d8e6f6933d2b6102cde046e756c492 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Mon, 9 Jun 2025 17:55:02 -0400 Subject: [PATCH 07/14] * Automatic Dockerfile update by release process --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 76549f0..2c62d01 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG SRCIMAGE=debian:bookworm-slim FROM $SRCIMAGE AS builder -ARG LSMB_VERSION="1.12.9" +ARG LSMB_VERSION="1.12.10" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" @@ -51,7 +51,7 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- the LedgerSMB project is to bring high quality ERP and accounting capabilities\ to Small and Midsize Businesses." -ARG LSMB_VERSION="1.12.9" +ARG LSMB_VERSION="1.12.10" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" From 85871e77fd5715bf040e45300b7a83b63ea1d66b Mon Sep 17 00:00:00 2001 From: Neil Tiffin Date: Thu, 12 Jun 2025 10:48:28 -0500 Subject: [PATCH 08/14] Add AI warning recommeded by ChatGPT so that it will not simplify docker installations --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b1018de..cfc1576 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,8 @@ 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. +❌ Do not use unofficial or AI-generated Docker Compose examples. These are often incomplete, break silently, or skip required services. + # How to use this image This image can be installed either automatically with the Docker compose file From ac608a9d7e22ae9a7c8645dae6edcb800b1e1727 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 12 Jul 2025 15:42:08 -0400 Subject: [PATCH 09/14] * Automatic Dockerfile update by release process --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2c62d01..d0b1afd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG SRCIMAGE=debian:bookworm-slim FROM $SRCIMAGE AS builder -ARG LSMB_VERSION="1.12.10" +ARG LSMB_VERSION="1.12.11" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" @@ -51,7 +51,7 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- the LedgerSMB project is to bring high quality ERP and accounting capabilities\ to Small and Midsize Businesses." -ARG LSMB_VERSION="1.12.10" +ARG LSMB_VERSION="1.12.11" ARG LSMB_DL_DIR="Releases" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" From d27aa413b3396bdc942a2b5b868fdb1f59224cb2 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 2 Aug 2025 05:00:46 -0400 Subject: [PATCH 10/14] Replace complex 2-phase build with installer --- Dockerfile | 75 +++++------------------------------------------------- 1 file changed, 7 insertions(+), 68 deletions(-) diff --git a/Dockerfile b/Dockerfile index d0b1afd..3b168c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,44 +1,6 @@ # Build time variables -ARG SRCIMAGE=debian:bookworm-slim - - -FROM $SRCIMAGE AS builder - -ARG LSMB_VERSION="1.12.11" -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 -q -y update && \ - DEBIAN_FRONTEND="noninteractive" apt-get -q -y dist-upgrade && \ - DEBIAN_FRONTEND="noninteractive" apt-get -q -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 -# -# - +ARG SRCIMAGE=debian:trixie-slim FROM $SRCIMAGE LABEL org.opencontainers.image.authors="LedgerSMB project " @@ -52,17 +14,11 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- to Small and Midsize Businesses." ARG LSMB_VERSION="1.12.11" -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_PATH="https://download.ledgersmb.org/f/Releases/$LSMB_VERSION/" -### PACKAGE REQUIREMENTS RATIONALE -# -# postgresql-client(from apt.postgresql.org): reduces chances running a newer server than this client -# fonts-liberation: installed for compatibility with templates from 1.8 and earlier - -COPY --from=builder /srv/derived-deps /tmp/derived-deps - +# ARTIFACT_PATH is used to work around pre-1.13 Dockerfiles requiring +# the ARTIFACT_LOCATION to point to the artifact, not to its path RUN set -x ; \ echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >> /etc/apt/apt.conf && \ mkdir -p /usr/share/man/man1/ && \ @@ -76,26 +32,9 @@ RUN set -x ; \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y dist-upgrade && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y install \ - wget ca-certificates gnupg iproute2 \ - $( cat /tmp/derived-deps ) \ - texlive-plain-generic texlive-latex-recommended texlive-fonts-recommended \ - texlive-xetex fonts-liberation \ - lsb-release postgresql-common && \ - /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && \ - 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 --metacpan --notest \ - --with-feature=starman \ - --with-feature=latex-pdf-ps \ - --with-feature=openoffice \ - --installdeps /srv/ledgersmb/ && \ - DEBIAN_FRONTEND="noninteractive" apt-get purge -q -y git cpanminus make gcc libperl-dev && \ - DEBIAN_FRONTEND="noninteractive" apt-get autoremove -q -y && \ - DEBIAN_FRONTEND="noninteractive" apt-get clean -q && \ + wget curl ca-certificates libio-socket-ssl-perl && \ + curl -s -o ledgersmb-installer -L https://get.ledgersmb.org/ledgersmb-installer && \ + ARTIFACT_LOCATION="$ARTIFACT_PATH" perl ledgersmb-installer install --yes $LSMB_VERSION && \ rm -rf ~/.cpanm/ /var/lib/apt/lists/* /usr/share/man/* From dae92fc56135441e68ef79715abafe391739e252 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 2 Aug 2025 20:02:34 +0200 Subject: [PATCH 11/14] Update start.sh Add local::lib configuration from the installer --- start.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/start.sh b/start.sh index ef0d871..f4fec07 100755 --- a/start.sh +++ b/start.sh @@ -171,5 +171,7 @@ echo '--------- LEDGERSMB CONFIGURATION --- END' # ':5762:' suppresses an uninitialized variable warning in starman # the last colon means "don't connect using tls"; without it, there's a warning exec starman --listen 0.0.0.0:5762 --workers ${LSMB_WORKERS:-5} \ - -I lib -I old/lib \ + -I /srv/ledgersmb/lib \ + -I /srv/ledgersmb/old/lib \ + -I /srv/ledgersmb/local/lib/perl5 \ --preload-app bin/ledgersmb-server.psgi From ce0237594afbdc0685496a8eae710813315557b9 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 2 Aug 2025 06:22:40 -0400 Subject: [PATCH 12/14] * Automatic Dockerfile update by release process --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3b168c7..9b5fb14 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ LABEL org.opencontainers.image.description="LedgerSMB is a full featured double- the LedgerSMB project is to bring high quality ERP and accounting capabilities\ to Small and Midsize Businesses." -ARG LSMB_VERSION="1.12.11" +ARG LSMB_VERSION="1.13.0-beta1" ARG ARTIFACT_PATH="https://download.ledgersmb.org/f/Releases/$LSMB_VERSION/" From a673ee79a4976ccb0ed019c333d3fe443e8b8985 Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 2 Aug 2025 13:57:59 -0400 Subject: [PATCH 13/14] Add debug output and install in /srv instead of in / --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9b5fb14..cd2e08e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,13 +33,14 @@ RUN set -x ; \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y dist-upgrade && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y install \ wget curl ca-certificates libio-socket-ssl-perl && \ + cd /srv && \ curl -s -o ledgersmb-installer -L https://get.ledgersmb.org/ledgersmb-installer && \ - ARTIFACT_LOCATION="$ARTIFACT_PATH" perl ledgersmb-installer install --yes $LSMB_VERSION && \ + ARTIFACT_LOCATION="$ARTIFACT_PATH" perl ledgersmb-installer install --yes --log-level=trace $LSMB_VERSION && \ rm -rf ~/.cpanm/ /var/lib/apt/lists/* /usr/share/man/* - WORKDIR /srv/ledgersmb + # master requirements # Configure outgoing mail to use host, other run time variable defaults From 82660ad113bd817c07c7ec64aad1b9eedfacc97d Mon Sep 17 00:00:00 2001 From: Erik Huelsmann Date: Sat, 2 Aug 2025 14:23:10 -0400 Subject: [PATCH 14/14] Restore installing 'psql' from 'pgdg' (the PostgreSQL repository) --- Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cd2e08e..b89152f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,10 @@ RUN set -x ; \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y dist-upgrade && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y install \ - wget curl ca-certificates libio-socket-ssl-perl && \ + wget curl ca-certificates libio-socket-ssl-perl postgresql-common && \ + /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && \ + DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \ + DEBIAN_FRONTEND="noninteractive" apt-get -q -y install postgresql-client && \ cd /srv && \ curl -s -o ledgersmb-installer -L https://get.ledgersmb.org/ledgersmb-installer && \ ARTIFACT_LOCATION="$ARTIFACT_PATH" perl ledgersmb-installer install --yes --log-level=trace $LSMB_VERSION && \