mirror of
https://github.com/ledgersmb/ledgersmb-docker.git
synced 2025-10-14 16:20:29 -04:00
Compare commits
42 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1ea20c0614 | ||
|
4d3813a9f9 | ||
|
547cebeabd | ||
|
d303523fea | ||
|
08e5b7ede2 | ||
|
bd66dcb4d3 | ||
|
0ff7a0671d | ||
|
188a9ae259 | ||
|
553ead9a18 | ||
|
d63ca10ba4 | ||
|
196581f2ad | ||
|
304a253634 | ||
|
55582d08a1 | ||
|
1cd90e0e57 | ||
|
99161642eb | ||
|
90af6cd03f | ||
|
7cea8cfb8d | ||
|
5670f5760f | ||
|
4fb8f0fba8 | ||
|
e329f0617a | ||
|
ac2d4a8ae3 | ||
|
e254cb705c | ||
|
5849b64fde | ||
|
791df8fd1f | ||
|
5110bfcbbc | ||
|
c3f046baa9 | ||
|
d78e166553 | ||
|
5a1fd390f1 | ||
|
d5661d029f | ||
|
88c84967b9 | ||
|
3fec7b91b1 | ||
|
6d6ca05eb1 | ||
|
b39d64964c | ||
|
f697bb6b50 | ||
|
dc4c2cf97a | ||
|
83fb7a4fde | ||
|
0dc6e65c51 | ||
|
51d1d1da0f | ||
|
9f7a4d1f8d | ||
|
7f3a3467f8 | ||
|
91a985bc31 | ||
|
413a63161c |
13
.github/workflows/no-response.yml
vendored
13
.github/workflows/no-response.yml
vendored
@@ -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.
|
||||||
|
56
Dockerfile
56
Dockerfile
@@ -5,15 +5,15 @@ ARG SRCIMAGE=debian:bookworm-slim
|
|||||||
|
|
||||||
FROM $SRCIMAGE AS builder
|
FROM $SRCIMAGE AS builder
|
||||||
|
|
||||||
ARG LSMB_VERSION="1.11.0"
|
ARG LSMB_VERSION="1.11.27"
|
||||||
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.0"
|
ARG LSMB_VERSION="1.11.27"
|
||||||
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,31 +75,31 @@ 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 && \
|
||||||
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
|
echo "deb [signed-by=/etc/apt/keyrings/postgresql.asc] 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 -) && \
|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc > /etc/apt/keyrings/postgresql.asc && \
|
||||||
DEBIAN_FRONTEND="noninteractive" apt-get -y update && \
|
DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \
|
||||||
DEBIAN_FRONTEND="noninteractive" apt-get -y install postgresql-client && \
|
DEBIAN_FRONTEND="noninteractive" apt-get -q -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 && \
|
||||||
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 \
|
||||||
--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 +110,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
|
||||||
|
|
||||||
|
24
README.md
24
README.md
@@ -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
|
||||||
|
@@ -37,18 +37,23 @@ 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
|
||||||
# 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:
|
||||||
|
41
start.sh
41
start.sh
@@ -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
|
||||||
@@ -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:
|
||||||
@@ -85,9 +84,6 @@ db:
|
|||||||
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:
|
||||||
@@ -106,9 +102,42 @@ ui:
|
|||||||
\$ref: paths/UI
|
\$ref: paths/UI
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [[ -n "" ]]
|
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:
|
||||||
|
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: ''
|
||||||
|
Reference in New Issue
Block a user