Compare commits

...

31 Commits
1.11.9 ... 1.12

Author SHA1 Message Date
Erik Huelsmann
987ff7e540 * Automatic Dockerfile update by release process
Some checks failed
Docker Image cleanup / cleanup (push) Has been cancelled
2025-04-05 18:26:30 -04:00
Erik Huelsmann
f311ceeb80 * Automatic Dockerfile update by release process
Some checks failed
Docker Image cleanup / cleanup (push) Has been cancelled
2025-03-23 11:59:56 -04:00
Erik Huelsmann
12e8cfa41b
Update Dockerfile
Some checks failed
Docker Image cleanup / cleanup (push) Has been cancelled
2025-03-15 19:04:09 +01:00
Erik Huelsmann
7c54656362 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.
2025-03-15 17:54:15 +01:00
Erik Huelsmann
6dd3c079fe Update to use new ENV key=val syntax (instead of space separator)
Some checks failed
Docker Image cleanup / cleanup (push) Has been cancelled
2025-03-01 16:16:59 +01:00
Erik Huelsmann
a60308f288 * Automatic Dockerfile update by release process
Some checks are pending
Docker Image cleanup / cleanup (push) Waiting to run
2025-03-01 06:27:18 -05:00
Erik Huelsmann
c2475afab5 Fix (START)TLS settings from container environment variables
Some checks failed
Docker Image cleanup / cleanup (push) Has been cancelled
2025-02-21 20:19:24 +01:00
Erik Huelsmann
20bf57b4f8 Use Debian-provided installation script 2025-02-21 13:52:23 +01:00
Erik Huelsmann
942b098a7f * Automatic Dockerfile update by release process
Some checks are pending
Docker Image cleanup / cleanup (push) Waiting to run
2025-02-21 04:43:37 -05:00
Erik Huelsmann
50cdfc2145 Fix SASL authentication for outgoing e-mail with specified SASL mechanism 2025-02-21 09:46:30 +01:00
Erik Huelsmann
6c1602051f * Automatic Dockerfile update by release process
Some checks failed
Docker Image cleanup / cleanup (push) Has been cancelled
2025-02-07 11:53:09 -05:00
Erik Huelsmann
7e937b8e8c * Automatic Dockerfile update by release process 2025-01-23 17:12:18 -05:00
Erik Huelsmann
86885f20f7 * Automatic Dockerfile update by release process 2025-01-05 09:41:13 -05:00
Erik Huelsmann
7af784a491
Create images-cleanup.yml
Clean up untagged images from the 'ledgersmb' package repo
2024-12-28 12:20:59 +01:00
Erik Huelsmann
d2b7939206 * Automatic Dockerfile update by release process 2024-12-14 18:06:38 -05:00
Erik Huelsmann
5226a66d35 Update README in preparation of 1.12 release 2024-12-14 21:21:10 +01:00
Erik Huelsmann
40a2a27902 Fix transport class
LedgerSMB::Mailer::TransportSMTP was a work-around; the fix is now upstream.
2024-12-08 16:06:01 +01:00
Erik Huelsmann
880df4b5ad
Install 1.12 on the 1.12 branch 2024-10-31 14:26:35 +01: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
6 changed files with 75 additions and 48 deletions

18
.github/workflows/images-cleanup.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Docker Image cleanup
on:
push:
workflow_dispatch:
schedule:
# Schedule for five minutes after the hour, every Friday
- cron: '10 3 * * 5'
jobs:
cleanup:
if: github.repository_owner == 'ledgersmb'
runs-on: ubuntu-latest
steps:
- name: ghcr.io cleanup action
uses: dataaxiom/ghcr-cleanup-action@v1
with:
packages: ledgersmb

View File

@ -11,15 +11,16 @@ on:
jobs:
noResponse:
if: github.repository_owner == 'ledgersmb'
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
- uses: actions/stale@v9
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
daysUntilClose: 90
days-before-close: 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: >
close-issue-message: >
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
ARG LSMB_VERSION="1.11.9"
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"
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 && \
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 ; \
@ -51,17 +51,15 @@ 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.11.9"
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"
# 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
@ -75,19 +73,17 @@ RUN set -x ; \
mkdir -p /usr/share/man/man6/ && \
mkdir -p /usr/share/man/man7/ && \
mkdir -p /usr/share/man/man8/ && \
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install \
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 ) \
libclass-c3-xs-perl \
texlive-plain-generic texlive-latex-recommended texlive-fonts-recommended \
texlive-xetex fonts-liberation \
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 && \
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 && \
@ -97,9 +93,9 @@ RUN set -x ; \
--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 clean -q && \
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 && \
rm -rf ~/.cpanm/ /var/lib/apt/lists/* /usr/share/man/*
@ -112,18 +108,18 @@ WORKDIR /srv/ledgersmb
## MAIL
# '__CONTAINER_GATEWAY__' is a magic value which will be substituted
# with the actual gateway IP address
ENV LSMB_MAIL_SMTPHOST __CONTAINER_GATEWAY__
#ENV LSMB_MAIL_SMTPPORT 25
#ENV LSMB_MAIL_SMTPSENDER_HOSTNAME (container hostname)
#ENV LSMB_MAIL_SMTPTLS
#ENV LSMB_MAIL_SMTPUSER
#ENV LSMB_MAIL_SMTPPASS
#ENV LSMB_MAIL_SMTPAUTHMECH
ENV LSMB_MAIL_SMTPHOST=__CONTAINER_GATEWAY__
#ENV LSMB_MAIL_SMTPPORT=25
#ENV LSMB_MAIL_SMTPSENDER_HOSTNAME=(container hostname)
#ENV LSMB_MAIL_SMTPTLS=
#ENV LSMB_MAIL_SMTPUSER=
#ENV LSMB_MAIL_SMTPPASS=
#ENV LSMB_MAIL_SMTPAUTHMECH=
## DATABASE
ENV POSTGRES_HOST postgres
ENV POSTGRES_PORT 5432
ENV DEFAULT_DB lsmb
ENV POSTGRES_HOST=postgres
ENV POSTGRES_PORT=5432
ENV DEFAULT_DB=lsmb
COPY start.sh /usr/local/bin/start.sh

View File

@ -16,8 +16,9 @@ Dockerfile for LedgerSMB Docker image
# Supported tags
- `1.11`, `1.11.x`, `latest` - Latest official release from the 1.11 branch
- `1.10`, `1.10.x` - Latest official release from the 1.10 branch
- `1.12`, `1.12.x`, `latest` - Latest official release from the 1.12 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.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)
@ -243,10 +244,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
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
$ cat <<EOF > /home/ledgersmb/conf/ledgersmb.001.yaml
$ cat <<EOF > /home/ledgersmb/conf/ledgersmb.100.yaml
logging:
file: ledgersmb.logging
EOF

View File

@ -31,15 +31,20 @@ services:
lsmb:
depends_on:
- postgres
image: ghcr.io/ledgersmb/ledgersmb:1.11
image: ghcr.io/ledgersmb/ledgersmb:1.12
# In order to store the configuration outside the image, allowing it to
# be edited between container restarts, uncomment the section below and
# change the 'source' to the directory where you want the configuration
# to be stored.
# volumes:
# # Override all configuration:
# - type: bind
# source: /home/ledgersmb/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:
- internal
- default

View File

@ -68,6 +68,13 @@ if [[ -n "$LSMB_HAVE_DEPRECATED" ]]; then
fi
if [[ ! -f ./local/conf/ledgersmb.yaml ]]; then
if [[ "x$LSMB_MAIL_SMTPTLS" == "xyes" ]]; then
tls_mode=starttls
elif [[ "x$LSMB_MAIL_SMTPTLS" == "xraw" ]]; then
tls_mode=ssl
else
tls_mode=none
fi
cat <<EOF >./local/conf/ledgersmb.yaml
paths:
\$class: Beam::Wire
@ -83,8 +90,8 @@ db:
mail:
transport:
\$class: LedgerSMB::Mailer::TransportSMTP
tls: $LSMB_MAIL_SMTPTLS
\$class: Email::Sender::Transport::SMTP
ssl: $tls_mode
miscellaneous:
\$class: Beam::Wire
@ -140,8 +147,7 @@ EOF
cat <<EOF >./local/conf/ledgersmb.003.yaml
mail:
transport:
sasl_password: ''
sasl_username:
sasl_authenticator:
\$class: Authen::SASL
mechanism: $LSMB_MAIL_SMTPAUTHMECH
callback: