mirror of
https://github.com/ledgersmb/ledgersmb-docker.git
synced 2025-10-14 08:10:30 -04:00
Compare commits
41 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
fe9561801b | ||
|
0c80fb46fc | ||
|
0f6ceead07 | ||
|
9b8dac1b46 | ||
|
f09fe4e6b1 | ||
|
fb16267a93 | ||
|
fed8a29266 | ||
|
6ddc8da10d | ||
|
b46592f2cb | ||
|
5717494020 | ||
|
6e529873ae | ||
|
13572ee685 | ||
|
2056ad56cb | ||
|
3658a14ccd | ||
|
f114db8fcb | ||
|
2849671500 | ||
|
bdebd44ae0 | ||
|
c95e4b4b9d | ||
|
7c89b26987 | ||
|
cd7f62abc6 | ||
|
d518733d23 | ||
|
53c4e6ac92 | ||
|
78b902ddc9 | ||
|
c1fee69d52 | ||
|
33d4019521 | ||
|
2a138c50f2 | ||
|
11baa4c0a0 | ||
|
7e914dbfd1 | ||
|
1a1d294e31 | ||
|
44b544c8ba | ||
|
5dc7176b3f | ||
|
f25dee9473 | ||
|
0332a27535 | ||
|
19c6b2d6df | ||
|
6ff37dc952 | ||
|
da234d021d | ||
|
ffb7ff1a09 | ||
|
966c1fd043 | ||
|
ba98f4c5c0 | ||
|
20bd26798a | ||
|
f4bc2c874f |
86
Dockerfile
86
Dockerfile
@@ -1,9 +1,53 @@
|
|||||||
FROM debian:stretch-slim
|
# Build time variables
|
||||||
|
|
||||||
|
ARG SRCIMAGE=debian:stretch-slim
|
||||||
|
|
||||||
|
|
||||||
|
FROM $SRCIMAGE AS builder
|
||||||
|
|
||||||
|
ARG LSMB_VERSION="1.7.41"
|
||||||
|
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 && \
|
||||||
|
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
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
FROM $SRCIMAGE
|
||||||
MAINTAINER Freelock john@freelock.com
|
MAINTAINER Freelock john@freelock.com
|
||||||
|
|
||||||
|
|
||||||
# Build time variables
|
# Build time variables
|
||||||
ARG LSMB_VERSION="1.7.12"
|
ARG LSMB_VERSION="1.7.41"
|
||||||
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"
|
||||||
|
|
||||||
# Install Perl, Tex, Starman, psql client, and all dependencies
|
# Install Perl, Tex, Starman, psql client, and all dependencies
|
||||||
# Without libclass-c3-xs-perl, performance is terribly slow...
|
# Without libclass-c3-xs-perl, performance is terribly slow...
|
||||||
@@ -16,12 +60,11 @@ ARG LSMB_DL_DIR="Releases"
|
|||||||
# Installing psql client directly from instructions at https://wiki.postgresql.org/wiki/Apt
|
# 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
|
# That mitigates issues where the PG instance is running a newer version than this container
|
||||||
|
|
||||||
# for Buster, add:
|
|
||||||
# libhtml-escape-perl \
|
COPY --from=builder /srv/derived-deps /tmp/derived-deps
|
||||||
# libplack-middleware-builder-conditionals-perl \
|
|
||||||
# libplack-request-withencoding-perl \
|
RUN set -x ; \
|
||||||
#libversion-compare-perl
|
echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >> /etc/apt/apt.conf && \
|
||||||
RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >> /etc/apt/apt.conf && \
|
|
||||||
mkdir -p /usr/share/man/man1/ && \
|
mkdir -p /usr/share/man/man1/ && \
|
||||||
mkdir -p /usr/share/man/man2/ && \
|
mkdir -p /usr/share/man/man2/ && \
|
||||||
mkdir -p /usr/share/man/man3/ && \
|
mkdir -p /usr/share/man/man3/ && \
|
||||||
@@ -33,31 +76,10 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
|
|||||||
DEBIAN_FRONTEND="noninteractive" apt-get dist-upgrade -y -q && \
|
DEBIAN_FRONTEND="noninteractive" apt-get dist-upgrade -y -q && \
|
||||||
DEBIAN_FRONTEND="noninteractive" apt-get -y -q install \
|
DEBIAN_FRONTEND="noninteractive" apt-get -y -q install \
|
||||||
wget ca-certificates gnupg \
|
wget ca-certificates gnupg \
|
||||||
libcgi-emulate-psgi-perl libconfig-inifiles-perl \
|
$( cat /tmp/derived-deps ) \
|
||||||
libdbd-pg-perl libdbi-perl libdata-uuid-perl libdatetime-perl \
|
|
||||||
libdatetime-format-strptime-perl \
|
|
||||||
libio-stringy-perl \
|
|
||||||
libcpanel-json-xs-perl liblist-moreutils-perl \
|
|
||||||
liblocale-maketext-perl liblocale-maketext-lexicon-perl \
|
|
||||||
liblog-log4perl-perl libmime-lite-perl libmime-types-perl \
|
|
||||||
libmath-bigint-gmp-perl libmodule-runtime-perl libmoose-perl \
|
|
||||||
libmoosex-nonmoose-perl libnumber-format-perl \
|
|
||||||
libpgobject-perl libpgobject-simple-perl libpgobject-simple-role-perl \
|
|
||||||
libpgobject-type-bigfloat-perl libpgobject-type-datetime-perl \
|
|
||||||
libpgobject-type-bytestring-perl libpgobject-util-dbmethod-perl \
|
|
||||||
libpgobject-util-dbadmin-perl libplack-perl \
|
|
||||||
libplack-middleware-reverseproxy-perl \
|
|
||||||
libtemplate-perl libtext-csv-perl libtext-csv-xs-perl \
|
|
||||||
libtext-markdown-perl libxml-simple-perl \
|
|
||||||
libnamespace-autoclean-perl \
|
|
||||||
libfile-find-rule-perl \
|
|
||||||
libtemplate-plugin-latex-perl libtex-encode-perl \
|
|
||||||
libclass-c3-xs-perl libclass-accessor-lite-perl \
|
libclass-c3-xs-perl libclass-accessor-lite-perl \
|
||||||
libnet-cidr-lite-perl \
|
texlive-latex-recommended texlive-fonts-recommended \
|
||||||
texlive-latex-recommended \
|
|
||||||
texlive-xetex fonts-liberation \
|
texlive-xetex fonts-liberation \
|
||||||
starman \
|
|
||||||
libopenoffice-oodoc-perl \
|
|
||||||
ssmtp \
|
ssmtp \
|
||||||
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 http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
|
||||||
@@ -65,7 +87,7 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
|
|||||||
DEBIAN_FRONTEND="noninteractive" apt-get -q -y update && \
|
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 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 "https://download.ledgersmb.org/f/$LSMB_DL_DIR/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
|
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 --notest \
|
||||||
|
12
README.md
12
README.md
@@ -4,8 +4,9 @@ Dockerfile for LedgerSMB Docker image
|
|||||||
|
|
||||||
# Supported tags
|
# Supported tags
|
||||||
|
|
||||||
|
- `1.8` - Preview version for the 1.8 branch
|
||||||
- `1.7`, `1.7.x`, `latest` - Latest official release from 1.7 branch
|
- `1.7`, `1.7.x`, `latest` - Latest official release from 1.7 branch
|
||||||
- `1.6`, `1.6.x` - Latest official release from 1.6 branch
|
- `1.6`, `1.6.33` - Last official release from 1.6 branch
|
||||||
- `1.5`, `1.5.30` - Last official release from 1.5 branch
|
- `1.5`, `1.5.30` - Last official release from 1.5 branch
|
||||||
- `1.4`, `1.4.42` - Last official release from 1.4 branch
|
- `1.4`, `1.4.42` - Last official release from 1.4 branch
|
||||||
- `master` - Master branch from git, unstable
|
- `master` - Master branch from git, unstable
|
||||||
@@ -28,9 +29,9 @@ This image is designed to be used in conjunction with a running PostgreSQL
|
|||||||
instance (such as may be provided through a separate image).
|
instance (such as may be provided through a separate image).
|
||||||
|
|
||||||
This image exposes port 5762 running a Starman HTTP application server. We
|
This image exposes port 5762 running a Starman HTTP application server. We
|
||||||
do not recommend exposing this port publicly, because
|
do recommend not exposing this port publicly, because
|
||||||
|
|
||||||
1. The Starman author recommends it
|
1. The Starman author recommends not exposing it
|
||||||
2. We strongly recommend TLS encryption of all application traffic
|
2. We strongly recommend TLS encryption of all application traffic
|
||||||
|
|
||||||
While the exposed port can be used for quick evaluation, it's recommended
|
While the exposed port can be used for quick evaluation, it's recommended
|
||||||
@@ -42,7 +43,7 @@ could require additional setup of a mail service or CUPS printer service.
|
|||||||
# How to use this image
|
# How to use this image
|
||||||
|
|
||||||
This image can be installed either automatically with the Docker compose file
|
This image can be installed either automatically with the Docker compose file
|
||||||
manually with docker only.
|
or manually with docker only.
|
||||||
|
|
||||||
## Docker-Compose installation and start
|
## Docker-Compose installation and start
|
||||||
|
|
||||||
@@ -69,6 +70,9 @@ The database username and password are:
|
|||||||
password: abc
|
password: abc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
From here, follow the steps as detailed in the instructions for
|
||||||
|
[preparing for first use](https://ledgersmb.org/content/preparing-ledgersmb-17-first-use).
|
||||||
|
|
||||||
## Manual installation
|
## Manual installation
|
||||||
|
|
||||||
This section assumes availability of a PostgreSQL server to attach to the
|
This section assumes availability of a PostgreSQL server to attach to the
|
||||||
|
@@ -28,18 +28,12 @@ services:
|
|||||||
lsmb:
|
lsmb:
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres
|
- postgres
|
||||||
image: ledgersmb/ledgersmb:1.7
|
image: ghcr.io/ledgersmb/ledgersmb:1.7
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
- default
|
- default
|
||||||
# Uncomment the 'ports' section to map the LedgerSMB container port (5762)
|
ports:
|
||||||
# to the host's port of the same number, thus making LedgerSMB
|
- "127.0.0.1:5762:5762"
|
||||||
# available on http://<host-dns-or-ip>:5762/
|
|
||||||
# SECURITY NOTE: Do this for evaluation purposes only!
|
|
||||||
# In production, be sure to use SSL/TLS to protect user's passwords
|
|
||||||
# and other sensitive data
|
|
||||||
# ports:
|
|
||||||
# - "5762:5762"
|
|
||||||
environment:
|
environment:
|
||||||
# The LSMB_WORKERS environment variable lets you select the number
|
# The LSMB_WORKERS environment variable lets you select the number
|
||||||
# of processes serving HTTP requests. The default number of 2 workers
|
# of processes serving HTTP requests. The default number of 2 workers
|
||||||
@@ -58,6 +52,15 @@ services:
|
|||||||
# SSMTP_AUTH_METHOD:
|
# SSMTP_AUTH_METHOD:
|
||||||
# SSMTP_USE_STARTTLS:
|
# SSMTP_USE_STARTTLS:
|
||||||
# SSMTP_FROMLINE_OVERRIDE:
|
# SSMTP_FROMLINE_OVERRIDE:
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# The PROXY_IP environment variable lets you set the IP address
|
||||||
|
# (range) of the reverse proxy used for TLS termination, which forwards
|
||||||
|
# its requests to this container. When this reverse proxy runs on the
|
||||||
|
# Docker host, the default below applies. In case the reverse proxy is
|
||||||
|
# hosted in a separate container, this setting needs to be adjusted.
|
||||||
|
#
|
||||||
|
# PROXY_IP: 172.17.0.1/12
|
||||||
|
|
||||||
# having the dbdata volume is required to persist our
|
# having the dbdata volume is required to persist our
|
||||||
# data between PostgreSQL container updates; without
|
# data between PostgreSQL container updates; without
|
||||||
|
Reference in New Issue
Block a user