mirror of
https://github.com/ledgersmb/ledgersmb-docker.git
synced 2025-10-14 16:20:29 -04:00
Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5b4970253c | ||
|
3d0b2b2a90 | ||
|
c616d6f8ab | ||
|
f69a36a5d3 | ||
|
dbed029289 | ||
|
dfa82a63bf | ||
|
9353e8187f | ||
|
a1ea9d9895 | ||
|
0f8af754bd | ||
|
da48259b68 | ||
|
774e6ef6e2 | ||
|
0d8517ebc4 | ||
|
f7cfcc72ec | ||
|
847efed2d0 | ||
|
9d5b62b6bb | ||
|
e23e85fea8 | ||
|
c4a1a6f1cc | ||
|
90764650c5 | ||
|
795fdf3f95 | ||
|
6cceef46f6 |
28
Dockerfile
28
Dockerfile
@@ -1,15 +1,27 @@
|
|||||||
FROM debian:jessie
|
FROM debian:jessie-slim
|
||||||
MAINTAINER Freelock john@freelock.com
|
MAINTAINER Freelock john@freelock.com
|
||||||
|
|
||||||
# Build time variables
|
# Build time variables
|
||||||
ENV LSMB_VERSION 1.5.15
|
ENV LSMB_VERSION 1.5.20
|
||||||
|
|
||||||
|
|
||||||
# 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...
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
RUN 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/man2/ && \
|
||||||
|
mkdir -p /usr/share/man/man3/ && \
|
||||||
|
mkdir -p /usr/share/man/man4/ && \
|
||||||
|
mkdir -p /usr/share/man/man5/ && \
|
||||||
|
mkdir -p /usr/share/man/man6/ && \
|
||||||
|
mkdir -p /usr/share/man/man7/ && \
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get update && \
|
DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||||
apt-get dist-upgrade -y && apt-get -y install \
|
apt-get dist-upgrade -y && apt-get -y install \
|
||||||
|
curl wget ca-certificates \
|
||||||
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
|
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
|
||||||
libdbd-pg-perl libdbi-perl libdatetime-perl \
|
libdbd-pg-perl libdbi-perl libdatetime-perl \
|
||||||
libdatetime-format-strptime-perl libdigest-md5-perl \
|
libdatetime-format-strptime-perl libdigest-md5-perl \
|
||||||
@@ -23,14 +35,17 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
|
|||||||
libtemplate-plugin-latex-perl libtex-encode-perl \
|
libtemplate-plugin-latex-perl libtex-encode-perl \
|
||||||
libmoosex-nonmoose-perl libclass-c3-xs-perl \
|
libmoosex-nonmoose-perl libclass-c3-xs-perl \
|
||||||
texlive-latex-recommended \
|
texlive-latex-recommended \
|
||||||
texlive-xetex \
|
texlive-xetex fonts-liberation \
|
||||||
starman \
|
starman \
|
||||||
libopenoffice-oodoc-perl \
|
libopenoffice-oodoc-perl \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
ssmtp \
|
ssmtp \
|
||||||
lsb-release && \
|
lsb-release && \
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get update && \
|
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
|
||||||
apt-get -y install git cpanminus make gcc libperl-dev && \
|
(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 && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -y install git cpanminus make gcc libperl-dev && \
|
||||||
curl -Lo /tmp/ledgersmb-$LSMB_VERSION.tar.gz "https://download.ledgersmb.org/f/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
|
curl -Lo /tmp/ledgersmb-$LSMB_VERSION.tar.gz "https://download.ledgersmb.org/f/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
|
||||||
tar -xvzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
|
tar -xvzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
|
||||||
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
|
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
|
||||||
@@ -43,7 +58,8 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
|
|||||||
apt-get autoremove -y && \
|
apt-get autoremove -y && \
|
||||||
apt-get autoclean && \
|
apt-get autoclean && \
|
||||||
rm -rf ~/.cpanm/ && \
|
rm -rf ~/.cpanm/ && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/* /usr/share/man/*
|
||||||
|
|
||||||
|
|
||||||
WORKDIR /srv/ledgersmb
|
WORKDIR /srv/ledgersmb
|
||||||
|
|
||||||
|
34
README.md
34
README.md
@@ -35,6 +35,19 @@ to add the TLS layer by applying Nginx or Apache as reverse proxy.
|
|||||||
Enabling optional functionalities such as outgoing e-mail and printing
|
Enabling optional functionalities such as outgoing e-mail and printing
|
||||||
could require additional setup of a mail service or CUPS printer service.
|
could require additional setup of a mail service or CUPS printer service.
|
||||||
|
|
||||||
|
# Quickstart
|
||||||
|
|
||||||
|
The quickest way to get this image up and running is by using the
|
||||||
|
`docker-compose` file available through the GitHub repository at:
|
||||||
|
|
||||||
|
https://github.com/ledgersmb/ledgersmb-docker/blob/1.5/docker-compose.yml
|
||||||
|
|
||||||
|
which sets up both this image and a supporting database image for
|
||||||
|
production purposes (i.e. with persistent (database) data, with the
|
||||||
|
exception of one thing: setting up an Nginx or Apache reverse proxy
|
||||||
|
with TLS 1.2 support -- a requirement if you want to access your
|
||||||
|
installation over any type of network.
|
||||||
|
|
||||||
# How to use this image
|
# How to use this image
|
||||||
|
|
||||||
## Start a postgres instance
|
## Start a postgres instance
|
||||||
@@ -118,14 +131,16 @@ without needing to enter the name of that database on the login.pl login screen.
|
|||||||
|
|
||||||
## Mail configuration
|
## Mail configuration
|
||||||
|
|
||||||
* `SSMTP_ROOT`
|
The docker image uses `ssmtp` to send mail.
|
||||||
* `SSMTP_MAILHUB`
|
|
||||||
* `SSMTP_HOSTNAME`
|
* `SSMTP_ROOT` (config: `Root`)
|
||||||
* `SSMTP_USE_STARTTLS`
|
* `SSMTP_MAILHUB` (config: `Mailhub`)
|
||||||
* `SSMTP_AUTH_USER`
|
* `SSMTP_HOSTNAME` (config: `Hostname`)
|
||||||
* `SSMTP_AUTH_PASS`
|
* `SSMTP_USE_STARTTLS` (config: `UseSTARTTLS`)
|
||||||
* `SSMTP_METHOD`
|
* `SSMTP_AUTH_USER` (config: `AuthUser`)
|
||||||
* `SSMTP_FROMLINE_OVERRIDE`
|
* `SSMTP_AUTH_PASS` (config: `AuthPass`)
|
||||||
|
* `SSMTP_AUTH_METHOD` (config: `AuthMethod`)
|
||||||
|
* `SSMTP_FROMLINE_OVERRIDE` (config: `FromLineOverride`)
|
||||||
|
|
||||||
These variables are used to set outgoing SMTP defaults.
|
These variables are used to set outgoing SMTP defaults.
|
||||||
|
|
||||||
@@ -137,6 +152,9 @@ already configured to relay mail, this should relay successfully with only
|
|||||||
the root and hostname set.
|
the root and hostname set.
|
||||||
|
|
||||||
Use the other environment variables to relay mail through a different host.
|
Use the other environment variables to relay mail through a different host.
|
||||||
|
Use the [ssmtp.conf man
|
||||||
|
page](https://www.systutorials.com/docs/linux/man/5-ssmtp.conf/) to look up
|
||||||
|
the meaning and function of each of the mail configuration keys.
|
||||||
|
|
||||||
# Troubleshooting/Developing
|
# Troubleshooting/Developing
|
||||||
|
|
||||||
|
52
docker-compose.yml
Normal file
52
docker-compose.yml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# This docker-compose file creates one
|
||||||
|
# compose 'project' consisting of two containers
|
||||||
|
#
|
||||||
|
# 1. The PostgreSQL data container
|
||||||
|
# 2. The LedgerSMB application container
|
||||||
|
#
|
||||||
|
# LedgerSMB persists all its data in the database,
|
||||||
|
# so no special care needs to be taken on
|
||||||
|
# container upgrades. With PostgreSQL, data is
|
||||||
|
# persisted across upgrades by the use of a
|
||||||
|
# special 'dbdata' volume
|
||||||
|
|
||||||
|
version: "3.2"
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: postgres:9.6-alpine
|
||||||
|
environment:
|
||||||
|
# Replace the password below for a secure setup
|
||||||
|
POSTGRES_PASSWORD: abc
|
||||||
|
PGDATA: /var/lib/postgresql/data/pgdata
|
||||||
|
networks:
|
||||||
|
- internal
|
||||||
|
volumes:
|
||||||
|
- "dbdata:/var/lib/postgresql/data"
|
||||||
|
lsmb:
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
image: ledgersmb/ledgersmb:1.5
|
||||||
|
networks:
|
||||||
|
- internal
|
||||||
|
- default
|
||||||
|
# environment:
|
||||||
|
# SSMTP_ROOT:
|
||||||
|
# SSMTP_HOSTNAME:
|
||||||
|
# SSMTP_MAILHUB:
|
||||||
|
# SSMTP_AUTH_USER:
|
||||||
|
# SSMTP_AUTH_PASS:
|
||||||
|
# SSMTP_AUTH_METHOD:
|
||||||
|
# SSMTP_USE_STARTTLS:
|
||||||
|
# SSMTP_FROMLINE_OVERRIDE:
|
||||||
|
|
||||||
|
# having the dbdata volume is required to persist our
|
||||||
|
# data between PostgreSQL container updates; without
|
||||||
|
# that, the data is contained in the same volume as
|
||||||
|
# the rest of the image and on update/upgrade, the
|
||||||
|
# data will be lost.
|
||||||
|
volumes:
|
||||||
|
dbdata:
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
internal:
|
Reference in New Issue
Block a user