Compare commits

..

18 Commits
1.6.21 ... 1.5

Author SHA1 Message Date
Erik Huelsmann
293ce6cd10 Update README.md (mark all branches End-of-Life) 2024-10-21 23:46:06 +02:00
Erik Huelsmann
bb6d50e1a9 Change the hosting location of the LedgerSMB Docker images 2022-01-28 22:54:46 +01:00
Erik Huelsmann
9d23fabbe4 Change image in order to be able to rebuild image lost due to Docker Hub throwing our images away... 2022-01-28 22:32:48 +01:00
Erik Huelsmann
4caeb3822c * Automatic Dockerfile update by release process 2019-11-29 09:42:28 +00:00
Erik Huelsmann
75643ab3c1 * Automatic Dockerfile update by release process 2019-11-15 16:22:44 +00:00
Erik Huelsmann
3d3eb39aee * Automatic Dockerfile update by release process 2019-11-02 15:00:12 +00:00
Erik Huelsmann
65f32b6208 * Automatic Dockerfile update by release process 2019-10-18 11:07:41 +00:00
Erik Huelsmann
ff99b0e596 * Automatic Dockerfile update by release process 2019-09-29 19:20:23 +00:00
Erik Huelsmann
fdc17840d8 * Automatic Dockerfile update by release process 2019-08-18 20:23:20 +00:00
Erik Huelsmann
ea0fbaab99 * Automatic Dockerfile update by release process 2018-12-25 23:23:49 +00:00
Erik Huelsmann
00335a0c04 * Automatic Dockerfile update by release process 2018-12-16 17:17:21 +00:00
Erik Huelsmann
d5e0648af3 * Automatic Dockerfile update by release process 2018-12-14 11:24:37 +00:00
Erik Huelsmann
5ce2cf5310 * Automatic Dockerfile update by release process 2018-05-31 20:40:48 +00:00
Erik Huelsmann
b2b13409b5 * Add option to set the number of Starman workers 2018-05-23 23:20:36 +02:00
Erik Huelsmann
f5306a1e3e * Adjust database host name so that the Compose setup works out-of-the-box again 2018-05-23 21:48:03 +02:00
Erik Huelsmann
681a604143 * Add documentation of the availability of a 'ports' statement
Note that we found in the LedgerSMB Matrix chat channel that users
need more straight forward ways to quickly evaluate our proposition
which they are able to offer if we skip the TLS requirement

Also note that the TLS requirement requires a domain, which some
might not have at the stage where the system is only being evaluated.
2018-05-23 21:43:12 +02:00
Erik Huelsmann
5b4970253c * Automatic Dockerfile update by release process 2018-04-14 07:52:39 +00:00
Erik Huelsmann
3d0b2b2a90 * Automatic Dockerfile update by release process 2018-04-02 18:55:35 +00:00
4 changed files with 67 additions and 81 deletions

View File

@@ -2,16 +2,11 @@ FROM debian:stretch-slim
MAINTAINER Freelock john@freelock.com
# Build time variables
ENV LSMB_VERSION 1.6.21
ENV LSMB_VERSION 1.5.30
# Install Perl, Tex, Starman, psql client, and all dependencies
# Without libclass-c3-xs-perl, performance is terribly slow...
# Without libclass-accessor-lite-perl, HTML::Entities won't build from CPAN
# libnet-cidr-lite-perl is a dependency for Plack::Builder::Conditionals
# which is being installed from CPAN
# libtest-requires-perl is a dependency of Module-Build-Pluggable-PPPort
# on which HTML::Escape depends
# 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
@@ -24,52 +19,44 @@ RUN echo -n "APT::Install-Recommends \"0\";\nAPT::Install-Suggests \"0\";\n" >>
mkdir -p /usr/share/man/man5/ && \
mkdir -p /usr/share/man/man6/ && \
mkdir -p /usr/share/man/man7/ && \
DEBIAN_FRONTEND="noninteractive" apt-get update -q && \
DEBIAN_FRONTEND="noninteractive" apt-get dist-upgrade -y -q && \
DEBIAN_FRONTEND="noninteractive" apt-get -y -q install \
wget ca-certificates gnupg \
DEBIAN_FRONTEND=noninteractive apt-get update && \
apt-get dist-upgrade -y && apt-get -y install \
gnupg2 curl wget ca-certificates \
libcgi-emulate-psgi-perl libcgi-simple-perl libconfig-inifiles-perl \
libdbd-pg-perl libdbi-perl libdata-uuid-perl libdatetime-perl \
libdatetime-format-strptime-perl libio-stringy-perl \
libjson-xs-perl libcpanel-json-xs-perl liblist-moreutils-perl \
libdbd-pg-perl libdbi-perl libdatetime-perl \
libdatetime-format-strptime-perl libdigest-md5-perl \
libfile-mimeinfo-perl libjson-xs-perl libjson-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 \
liblog-log4perl-perl libmime-base64-perl libmime-lite-perl \
libmath-bigint-gmp-perl libmoose-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 \
libpgobject-util-dbmethod-perl libplack-perl libtemplate-perl \
libnamespace-autoclean-perl \
libimage-size-perl \
libtemplate-plugin-latex-perl libtex-encode-perl \
libclass-c3-xs-perl libclass-accessor-lite-perl \
libnet-cidr-lite-perl libtest-requires-perl \
libmoosex-nonmoose-perl libclass-c3-xs-perl \
texlive-latex-recommended \
texlive-xetex fonts-liberation \
starman \
libopenoffice-oodoc-perl \
postgresql-client \
ssmtp \
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 -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 "https://download.ledgersmb.org/f/Releases/$LSMB_VERSION/ledgersmb-$LSMB_VERSION.tar.gz" && \
tar -xzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
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" && \
tar -xvzf /tmp/ledgersmb-$LSMB_VERSION.tar.gz --directory /srv && \
rm -f /tmp/ledgersmb-$LSMB_VERSION.tar.gz && \
cpanm --notest \
cpanm --quiet --notest \
--with-feature=starman \
--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 autoclean -q && \
apt-get purge -y git cpanminus make gcc libperl-dev && \
apt-get autoremove -y && \
apt-get autoclean && \
rm -rf ~/.cpanm/ && \
rm -rf /var/lib/apt/lists/* /usr/share/man/*

View File

@@ -3,11 +3,10 @@ Dockerfile for LedgerSMB Docker image
# 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.6`, `1.6.x`, `latest` - Latest release tarball from 1.6 branch
- `1.5`, `1.5.x` - Latest release tarball from 1.5 branch
- `1.4`, `1.4.x` - Latest tagged release of git 1.4 branch
- `1.5`, `1.5.30` - Last release tarball from 1.5 branch (End-of-Life)
- `1.4`, `1.4.42` - Last tagged release of git 1.4 branch (End-of-Life)
- `master` - Master branch from git, unstable
- `master-dev`, `1.5-dev` - Containers to kick off a development setup
# What is LedgerSMB?
@@ -41,48 +40,56 @@ could require additional setup of a mail service or CUPS printer service.
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.7/docker-compose.yml
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. The database
username and password are:
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
## Start a postgres instance
```plain
username: postgres
password: abc
$ docker run -d --name postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
postgres:latest
```
The docker-compose file does *not* set up an Nginx or Apache reverse proxy
with TLS 1.2/1.3 support -- a requirement if you want to access your
installation over any type of network (and especially the internet).
BEWARE: The command above creates a container with the database data stored
*inside* the container. Upon removal of the container, the database data will
be removed too!
To prevent destruction of the database data upon replacement of the container,
please use these commands instead:
## Manual installation
This section assumes availability of a PostgreSQL server to attach to the
LedgerSMB image as the database server.
```plain
$ docker volume create dbdata
$ docker run -d --name postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v dbdata:/var/lib/postgresql/data \
postgres:latest
```
## Start LedgerSMB
```plain
$ docker run -d -p 5762:5762 --name myledger \
-e POSTGRES_HOST=<ip/hostname> ledgersmb/ledgersmb:latest
ledgersmb/ledgersmb:latest
```
This command maps port 5762 of your container to port 5762 in your host. The
web application inside the container should now be accessible through
http://localhost:5762/setup.pl and http://localhost:5762/login.pl.
Below are more variables which determine container configuration,
like `POSTGRES_HOST` above.
http://localhost:5762/setup.pl.
## Set up LedgerSMB
* Visit http://myledger:5762/setup.pl.
* Log in with the "postgres" user and the password `abc` as given above -
or with the credentials of your own database server in case of a manual
setup - and provide the name of a company (= database name) you want to
create.
* Log in with the "postgres" user and the password `mysecretpassword`
and provide the name of a company (= database name) you want to create.
* Go over the steps presented in the browser
Once you have completed the setup steps, you have a fully functional
@@ -167,18 +174,11 @@ and the startup & config script is /usr/bin/start.sh.
## Issues
If you have any problems with or questions about this image or LedgerSMB,
please contact us on the [mailing list](http://ledgersmb.org/topic/support/mailing-lists-rss-and-nntp-feeds)
or through a [GitHub issue](https://github.com/ledgersmb/ledgersmb-docker/issues).
If you have any problems with or questions about this image or LedgerSMB, please contact us on the [mailing list](http://ledgersmb.org/topic/support/mailing-lists-rss-and-nntp-feeds) or through a [GitHub issue](https://github.com/ledgersmb/ledgersmb-docker/issues).
You can also reach some of the official LedgerSMB maintainers via the
`#ledgersmb` IRC channel on [Freenode](https://freenode.net), or on the
bridged [Matrix](https://matrix.org) room in [#ledgersmb:matrix.org](https://matrix.to/#/#ledgersmb:matrix.org).
The [Riot.im](https://riot.im/app/#/room/#ledgersmb:matrix.org) Matrix client is highly recommended.
You can also reach some of the official LedgerSMB maintainers via the `#ledgersmb` IRC channel on [Freenode](https://freenode.net), or on the bridged [Matrix](https://matrix.org) room in [#ledgersmb:matrix.org](https://matrix.to/#/#ledgersmb:matrix.org). The [Riot.im](https://riot.im/app/#/room/#ledgersmb:matrix.org) Matrix client is highly recommended.
## Contributing
You are invited to contribute new features, fixes, or updates, large or small;
we are always thrilled to receive pull requests, and do our best to process
them as fast as we can.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

View File

@@ -28,7 +28,7 @@ services:
lsmb:
depends_on:
- postgres
image: ledgersmb/ledgersmb:1.6
image: ghcr.io/ledgersmb/ledgersmb:1.5
networks:
- internal
- default

View File

@@ -45,5 +45,4 @@ echo "Selected PERL5LIB=$PERL5LIB";
# --preload-app allows application initialization to kill the entire
# starman instance (instead of just the worker, which will immediately
# get restarted); it also has a positive effect on memory use
exec starman --port 5762 --workers ${LSMB_WORKERS:-5} --preload-app bin/ledgersmb-server.psgi
exec starman --port 5762 --workers ${LSMB_WORKERS:-5} --preload-app tools/starman.psgi