Compare commits

...

13 Commits

Author SHA1 Message Date
Erik Huelsmann
eba882d12a * Automatic Dockerfile update by release process 2023-08-29 17:39:01 -04:00
Erik Huelsmann
016deec433 Create no-response.yml 2023-08-25 20:47:13 +02:00
Erik Huelsmann
0f7242d559 Take advantage of the ability to have 'ledgersmb.XXX.yaml' config files 2023-08-25 20:37:45 +02:00
Erik Huelsmann
59192ffd20 * Automatic Dockerfile update by release process 2023-07-21 11:51:49 -04:00
Erik Huelsmann
4ff785d101 Create 1.11 release branch 2023-07-21 12:51:06 +02:00
Erik Huelsmann
c7d22e2b6e * Automatic Dockerfile update by release process 2023-06-23 17:49:14 -04:00
Erik Huelsmann
aa1cdc2dca Merge pull request #32 from perlancar/fix-typo
Fix typo
2023-06-06 12:43:00 +02:00
perlancar (on netbook-dell-xps13)
1d1e029a71 Fix typo 2023-06-06 16:44:32 +07:00
Erik Huelsmann
06941025cd * Automatic Dockerfile update by release process 2023-05-28 09:42:12 -04:00
Erik Huelsmann
723202b5c4 * Automatic Dockerfile update by release process 2023-05-20 10:13:22 -04:00
Erik Huelsmann
59a542afc8 * Automatic Dockerfile update by release process 2023-04-21 15:40:28 -04:00
Erik Huelsmann
5b098c7b49 * Automatic Dockerfile update by release process 2023-04-09 17:27:29 -04:00
Erik Huelsmann
71e067d0a7 * Automatic Dockerfile update by release process 2023-03-03 02:54:10 -05:00
5 changed files with 133 additions and 30 deletions

25
.github/workflows/no-response.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: No Response
# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
# Schedule for five minutes after the hour, every hour
- cron: '5 3 * * *'
jobs:
noResponse:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 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: >
Closing: more than 90 days without user response. Feel free to reopen with your comments.

View File

@@ -1,12 +1,12 @@
# Build time variables
ARG SRCIMAGE=debian:bullseye-slim
ARG SRCIMAGE=debian:bookworm-slim
FROM $SRCIMAGE AS builder
ARG LSMB_VERSION="1.10.13"
ARG LSMB_DL_DIR="Releases"
ARG LSMB_VERSION="1.11.0-rc1"
ARG LSMB_DL_DIR="Beta Releases"
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\
to Small and Midsize Businesses."
ARG LSMB_VERSION="1.10.13"
ARG LSMB_DL_DIR="Releases"
ARG LSMB_VERSION="1.11.0-rc1"
ARG LSMB_DL_DIR="Beta Releases"
ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz"
@@ -61,8 +61,6 @@ ARG ARTIFACT_LOCATION="https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSI
# 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
# Install Locale::Codes Locale::Country Locale::Language from CPAN to suppress
# deprecation-as-core-module warning
COPY --from=builder /srv/derived-deps /tmp/derived-deps

View File

@@ -51,7 +51,7 @@ or manually with docker only.
## Docker-Compose: Installation and start
This image 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
pull related images, install them, establish an internal network for their
communications, adjust environment variables, start and stop LedgerSMB. The
only instructions required, after the optional edition of the file to adjust
@@ -202,6 +202,47 @@ The following parameters are now supported to set mail preferences:
# Advanced setup
## Changing configuration
The configuration file is stored in /srv/ledgersmb/local/conf/. By mounting
that directory using a bind-mount to a location outside the container,
configuration can be changed between container starts:
```plain
$ docker run -d -p 5762:5762 --name myledger \
--mount 'type=bind,src=/home/ledgersmb/conf,dst=/srv/ledgersmb/local/conf \
-e POSTGRES_HOST=<ip/hostname> ledgersmb/ledgersmb:latest
```
## Overriding or adding configuration
By pre-creating a configuration file in the mounted configuration directory,
the standard configuration generation process in the container can be overruled:
```plain
$ cat <<EOF > /home/ledgersmb/conf/ledgersmb.yaml
... YOUR CONFIG HERE ...
EOF
$ docker run -d -p 5762:5762 --name myledger \
--mount 'type=bind,src=/home/ledgersmb/conf,dst=/srv/ledgersmb/local/conf \
-e POSTGRES_HOST=<ip/hostname> ledgersmb/ledgersmb:latest
```
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.:
```plain
$ cat <<EOF > /home/ledgersmb/conf/ledgersmb.001.yaml
logging:
file: ledgersmb.logging
EOF
```
[Documentation with respect to the available configuration
keys](https://github.com/ledgersmb/LedgerSMB/blob/master/doc/conf/ledgersmb.yaml)
is available in the LedgerSMB repository.
## Docker Compose with reverse proxy
The `docker-compose-reverseproxy.yml` file shows a docker-compose setup

View File

@@ -16,7 +16,7 @@ services:
# because that allows us to use the default hostname ("postgres")
# from the LedgerSMB configuration
postgres:
image: postgres:12-alpine
image: postgres:15-alpine
environment:
# Replace the password below for a secure setup
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-abc}
@@ -32,6 +32,14 @@ services:
depends_on:
- postgres
image: ghcr.io/ledgersmb/ledgersmb:1.10
volumes:
# 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.
# - type: bind
# - source: /home/ledgersmb/conf
# - target: /srv/ledgersmb/local/conf
networks:
- internal
- default

View File

@@ -1,7 +1,7 @@
#!/bin/bash
cd /srv/ledgersmb
mkdir ./local/conf/
if [[ -n "$SSMTP_ROOT" ]]; then
echo "\$SSMTP_ROOT set; parameter is deprecated and will be ignored"
LSMB_HAVE_DEPRECATED=1
@@ -68,27 +68,58 @@ if [[ -n "$LSMB_HAVE_DEPRECATED" ]]; then
fi
if [[ ! -f ledgersmb.conf ]]; then
cat <<EOF >/tmp/ledgersmb.conf
[main]
cache_templates = 1
[database]
host = $POSTGRES_HOST
port = $POSTGRES_PORT
default_db = $DEFAULT_DB
[mail]
${LSMB_MAIL_SMTPHOST:+smtphost=$LSMB_MAIL_SMTPHOST
}${LSMB_MAIL_SMTPPORT:+smtpport=$LSMB_MAIL_SMTPPORT
}${LSMB_MAIL_SMTPSENDER_HOSTNAME:+smtpsender_hostname=$LSMB_MAIL_SMTPSENDER_HOSTNAME
}${LSMB_MAIL_SMTPTLS:+smtptls=$LSMB_MAIL_SMTPTLS
}${LSMB_MAIL_SMTPUSER:+smtpuser=$LSMB_MAIL_SMTPUSER
}${LSMB_MAIL_SMTPPASS:+smtppass=$LSMB_MAIL_SMTPPASS
}${LSMB_MAIL_SMTPAUTHMECH:+smtpauthmech=$LSMB_MAIL_SMTPAUTHMECH
}
[proxy]
ip=${PROXY_IP:-172.17.0.1/12}
if [[ ! -f ./local/conf/ledgersmb.yaml ]]; then
cat <<EOF >./local/conf/ledgersmb.yaml
paths:
$class: Beam::Wire
config:
UI: ./UI/
UI_cache: lsmb_templates/
db:
$class: LedgerSMB::Database::Factory
connect_data:
host: $POSTGRES_HOST
port: $POSTGRES_PORT
mail:
transport:
$class: LedgerSMB::Mailer::TransportSMTP
host: $LSMB_MAIL_SMTPHOST
port: $LSMB_MAIL_SMTPPORT
helo: $LSMB_MAIL_SMTPSENDER_HOSTNAME
tls: $LSMB_MAIL_SMTPTLS
miscellaneous:
$class: Beam::Wire
config:
proxy_ip: ${PROXY_IP:-172.17.0.1/12}
ui:
class: LedgerSMB::Template::UI
method: new_UI
lifecycle: eager
args:
cache:
$ref: paths/UI_cache
root:
$ref: paths/UI
EOF
export LSMB_CONFIG_FILE='/tmp/ledgersmb.conf'
if [[ -n "" ]]
then
cat <<EOF >./local/conf/ledgersmb.000.yaml
mail:
transport:
sasl_password: ''
sasl_username:
$class: Authen::SASL
mechanism: $LSMB_MAIL_SMTPAUTHMECH
callback:
user: $LSMB_MAIL_SMTPUSER
pass: $LSMB_MAIL_SMTPPASS
EOF
fi
fi
# start ledgersmb