Compare commits

...

34 Commits

Author SHA1 Message Date
Erik Huelsmann
f08e254d82 * Automatic Dockerfile update by release process 2025-09-06 16:55:28 -04:00
Erik Huelsmann
be91e20c09 Add build script to be called by ledgersmb-release-tools/publish 2025-08-09 13:39:58 +02:00
Erik Huelsmann
5a862e621c Fix deployment of PostgreSQL repository data 2025-08-09 07:27:33 -04:00
Erik Huelsmann
1ea20c0614 * Automatic Dockerfile update by release process 2025-08-08 16:19:22 -04:00
Erik Huelsmann
4d3813a9f9 * Automatic Dockerfile update by release process 2025-07-12 14:59:16 -04:00
Erik Huelsmann
547cebeabd Merge pull request #44 from neilt/1.11
Add AI warning recommended by ChatGPT
2025-06-12 18:04:42 +02:00
Neil Tiffin
d303523fea Add AI warning recommended by ChatGPT so that it will not simplify docker installations 2025-06-12 12:01:29 -04:00
Erik Huelsmann
08e5b7ede2 * Automatic Dockerfile update by release process 2025-06-09 17:06:47 -04:00
Erik Huelsmann
bd66dcb4d3 * Automatic Dockerfile update by release process 2025-04-05 17:47:24 -04:00
Erik Huelsmann
0ff7a0671d * Automatic Dockerfile update by release process 2025-03-23 10:36:58 -04:00
Erik Huelsmann
188a9ae259 Update to use new ENV key=val syntax (instead of space separator) 2025-03-01 16:18:10 +01:00
Erik Huelsmann
553ead9a18 * Automatic Dockerfile update by release process 2025-03-01 04:22:42 -05:00
Erik Huelsmann
d63ca10ba4 * Automatic Dockerfile update by release process 2025-01-23 18:02:18 -05:00
Erik Huelsmann
196581f2ad * Automatic Dockerfile update by release process 2025-01-23 16:26:21 -05:00
Erik Huelsmann
304a253634 Update README in preparation of 1.12 release 2024-12-14 21:22:36 +01:00
Erik Huelsmann
55582d08a1 Update README.md -- 1.10 is EOL 2024-10-21 23:38:48 +02:00
Erik Huelsmann
1cd90e0e57 Update Dockerfile 2024-09-06 16:15:41 +02:00
Erik Huelsmann
99161642eb * Automatic Dockerfile update by release process 2024-09-06 09:31:29 -04:00
Erik Huelsmann
90af6cd03f * Automatic Dockerfile update by release process 2024-08-21 12:01:48 -04:00
Erik Huelsmann
7cea8cfb8d Change to actions/stale from no-response action 2024-08-11 23:26:23 +02:00
Erik Huelsmann
5670f5760f * Automatic Dockerfile update by release process 2024-08-01 17:01:17 -04:00
Erik Huelsmann
4fb8f0fba8 Update docker-compose.yml 2024-06-02 23:10:07 +02:00
Erik Huelsmann
e329f0617a Update README.md 2024-06-02 23:05:05 +02:00
Erik Huelsmann
ac2d4a8ae3 * Automatic Dockerfile update by release process 2024-05-06 16:43:46 -04:00
Erik Huelsmann
e254cb705c * Automatic Dockerfile update by release process 2024-04-26 08:48:16 -04:00
Erik Huelsmann
5849b64fde Eliminate apt-key deprecation warning 2024-04-09 21:24:30 +02:00
Erik Huelsmann
791df8fd1f * Automatic Dockerfile update by release process 2024-04-09 14:13:11 -04:00
Erik Huelsmann
5110bfcbbc * Automatic Dockerfile update by release process 2024-03-14 17:00:27 -04:00
Erik Huelsmann
c3f046baa9 * Automatic Dockerfile update by release process 2024-02-15 15:34:00 -05:00
Erik Huelsmann
d78e166553 * Automatic Dockerfile update by release process 2024-02-02 11:29:09 -05:00
Erik Huelsmann
5a1fd390f1 Use the container gateway address as the SMTP host
The value 172.17.0.1 is the default gateway on the default Docker
network. However, when using this image with 'docker-compose', a
new network is created, which means that the IP address of the
gateway is different by definition. Because the network is created
at the same time as the containers, the IP address isn't available
when the YAML definition is created.

This approach replaces the static approach with a dynamic approach
executed at first container startup.
2024-01-14 22:05:45 +01:00
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
6 changed files with 79 additions and 38 deletions

View File

@@ -11,15 +11,16 @@ on:
jobs: jobs:
noResponse: noResponse:
if: github.repository_owner == 'ledgersmb'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: lee-dohm/no-response@v0.5.0 - uses: actions/stale@v9
with: with:
token: ${{ github.token }} days-before-issue-stale: -1
days-before-pr-stale: -1
stale-issue-label: waiting-for-user
# Number of days of inactivity before an Issue is closed for lack of response # Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 90 days-before-close: 90
# Label requiring a response # Label requiring a response
responseRequiredLabel: waiting-for-user close-issue-message: >
# 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. Closing: more than 90 days without user response. Feel free to reopen with your comments.

View File

@@ -5,15 +5,15 @@ ARG SRCIMAGE=debian:bookworm-slim
FROM $SRCIMAGE AS builder FROM $SRCIMAGE AS builder
ARG LSMB_VERSION="1.11.6" ARG LSMB_VERSION="1.11.28"
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" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz"
RUN set -x ; \ RUN set -x ; \
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y dist-upgrade && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install dh-make-perl libmodule-cpanfile-perl git wget && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y install dh-make-perl libmodule-cpanfile-perl git wget && \
apt-file update apt-file update
RUN set -x ; \ RUN set -x ; \
@@ -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\ 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.6" ARG LSMB_VERSION="1.11.28"
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" ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz"
@@ -75,19 +75,18 @@ RUN set -x ; \
mkdir -p /usr/share/man/man6/ && \ mkdir -p /usr/share/man/man6/ && \
mkdir -p /usr/share/man/man7/ && \ mkdir -p /usr/share/man/man7/ && \
mkdir -p /usr/share/man/man8/ && \ mkdir -p /usr/share/man/man8/ && \
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y dist-upgrade && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y install \
wget ca-certificates gnupg \ wget ca-certificates gnupg iproute2 \
$( cat /tmp/derived-deps ) \ $( cat /tmp/derived-deps ) \
libclass-c3-xs-perl \ libclass-c3-xs-perl \
texlive-plain-generic texlive-latex-recommended texlive-fonts-recommended \ texlive-plain-generic texlive-latex-recommended texlive-fonts-recommended \
texlive-xetex fonts-liberation \ texlive-xetex fonts-liberation \
lsb-release && \ lsb-release postgresql-common && \
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && \
(wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -) && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \ DEBIAN_FRONTEND="noninteractive" apt-get -q -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 "$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 && \
@@ -97,9 +96,9 @@ RUN set -x ; \
--with-feature=latex-pdf-ps \ --with-feature=latex-pdf-ps \
--with-feature=openoffice \ --with-feature=openoffice \
--installdeps /srv/ledgersmb/ && \ --installdeps /srv/ledgersmb/ && \
apt-get purge -q -y git cpanminus make gcc libperl-dev && \ DEBIAN_FRONTEND="noninteractive" apt-get purge -q -y git cpanminus make gcc libperl-dev && \
apt-get autoremove -q -y && \ DEBIAN_FRONTEND="noninteractive" apt-get autoremove -q -y && \
apt-get clean -q && \ DEBIAN_FRONTEND="noninteractive" apt-get clean -q && \
rm -rf ~/.cpanm/ /var/lib/apt/lists/* /usr/share/man/* rm -rf ~/.cpanm/ /var/lib/apt/lists/* /usr/share/man/*
@@ -110,18 +109,20 @@ WORKDIR /srv/ledgersmb
# Configure outgoing mail to use host, other run time variable defaults # Configure outgoing mail to use host, other run time variable defaults
## MAIL ## MAIL
ENV LSMB_MAIL_SMTPHOST 172.17.0.1 # '__CONTAINER_GATEWAY__' is a magic value which will be substituted
#ENV LSMB_MAIL_SMTPPORT 25 # with the actual gateway IP address
#ENV LSMB_MAIL_SMTPSENDER_HOSTNAME (container hostname) ENV LSMB_MAIL_SMTPHOST=__CONTAINER_GATEWAY__
#ENV LSMB_MAIL_SMTPTLS #ENV LSMB_MAIL_SMTPPORT=25
#ENV LSMB_MAIL_SMTPUSER #ENV LSMB_MAIL_SMTPSENDER_HOSTNAME=(container hostname)
#ENV LSMB_MAIL_SMTPPASS #ENV LSMB_MAIL_SMTPTLS=
#ENV LSMB_MAIL_SMTPAUTHMECH #ENV LSMB_MAIL_SMTPUSER=
#ENV LSMB_MAIL_SMTPPASS=
#ENV LSMB_MAIL_SMTPAUTHMECH=
## DATABASE ## DATABASE
ENV POSTGRES_HOST postgres ENV POSTGRES_HOST=postgres
ENV POSTGRES_PORT 5432 ENV POSTGRES_PORT=5432
ENV DEFAULT_DB lsmb ENV DEFAULT_DB=lsmb
COPY start.sh /usr/local/bin/start.sh COPY start.sh /usr/local/bin/start.sh

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.11`, `1.11.x`, `latest` - Latest official release from the 1.11 branch - `1.12`, `1.12.x`, `latest` - Latest official release from the 1.12 branch
- `1.10`, `1.10.x` - Latest official release from the 1.10 branch - `1.11`, `1.11.x` - Latest official release from the 1.11 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.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)
@@ -50,6 +63,9 @@ could require additional setup of a mail service or CUPS printer service.
This image can be installed either automatically with the Docker compose file This image can be installed either automatically with the Docker compose file
or manually with docker only. or manually with docker only.
❌ Do not use unofficial or AI-generated Docker Compose examples. These are
often incomplete, break silently, or skip required services.
## Docker-Compose: Installation and start ## Docker-Compose: Installation and start
This repository provides a file named `docker-compose.yml` which can be used to This repository provides a file named `docker-compose.yml` which can be used to
@@ -231,10 +247,10 @@ the standard configuration generation process in the container can be overruled:
If you do not want to completely overrule the configuration generated, but instead If you do not want to completely overrule the configuration generated, but instead
supplement the configuration, you can put incremental configuration snippets in supplement the configuration, you can put incremental configuration snippets in
files named `ledgersmb.XXX.yaml` in the same folder. E.g.: files named `ledgersmb.1XX.yaml` in the same folder. E.g.:
```plain ```plain
$ cat <<EOF > /home/ledgersmb/conf/ledgersmb.001.yaml $ cat <<EOF > /home/ledgersmb/conf/ledgersmb.100.yaml
logging: logging:
file: ledgersmb.logging file: ledgersmb.logging
EOF EOF

13
build Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
set -euxo pipefail
${DOCKER:-docker} buildx build \
--progress plain \
--platform ${PLATFORM:-linux/amd64,linux/arm64,linux/arm/v7} \
--build-arg "ARTIFACT_LOCATION=$ARTIFACT_LOCATION" \
-t ledgersmb/ledgersmb:$BRANCH \
-t ledgersmb/ledgersmb:$VERSION \
-t ghcr.io/ledgersmb/ledgersmb:$BRANCH \
-t ghcr.io/ledgersmb/ledgersmb:$VERSION \
--push .

View File

@@ -37,9 +37,14 @@ services:
# 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.
# volumes: # volumes:
# # Override all configuration:
# - type: bind # - type: bind
# source: /home/ledgersmb/conf # source: /home/ledgersmb/conf
# target: /srv/ledgersmb/local/conf # target: /srv/ledgersmb/local/conf
# # Add a snippet of configuration:
# - type: bind
# source: /home/ledgersmb/conf/ledgersmb.100.yaml
# target: /srv/ledgersmb/local/conf/ledgersmb.100.yaml
networks: networks:
- internal - internal
- default - default

View File

@@ -67,7 +67,6 @@ if [[ -n "$LSMB_HAVE_DEPRECATED" ]]; then
echo "!!! DEPRECATED \$SSMTP_* PARAMETERS WILL BE REMOVED in the 1.9 image!!!" echo "!!! DEPRECATED \$SSMTP_* PARAMETERS WILL BE REMOVED in the 1.9 image!!!"
fi 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:
@@ -105,6 +104,12 @@ EOF
if [[ -n "$LSMB_MAIL_SMTPHOST" ]] if [[ -n "$LSMB_MAIL_SMTPHOST" ]]
then then
if [[ "$LSMB_MAIL_SMTPHOST" == "__CONTAINER_GATEWAY__" ]]
then
LSMB_MAIL_SMTPHOST="$(ip route | awk '/default/ { print $3 }')"
export LSMB_MAIL_SMTPHOST
fi
cat <<EOF >./local/conf/ledgersmb.000.yaml cat <<EOF >./local/conf/ledgersmb.000.yaml
mail: mail:
transport: transport: