[Koha-devel] Minimal docker images for Koha

Julian Maurice julian.maurice at biblibre.com
Mon Feb 17 18:59:06 CET 2020


Hi all,

I've been playing with docker lately, and I tried to build a minimal 
docker image for Koha. Here are the results.

My goals were:
* Install only required "things" to get Koha up and running, and nothing 
else (no testing or dev tools),
* No external dependencies except CPAN
* Follow Docker best practices as much as possible

The resulting images are here:
   https://hub.docker.com/repository/docker/julianmaurice/koha

and the Dockerfiles are here:
   https://github.com/jajm/koha-docker

A few things worth mentioning:

* I tried to build the smallest image possible by using alpine or perl 
slim images at first but it was not that great, because the perl version 
shipped with those images is missing some libs, which cause 
MARC::Charset to build a database of several hundreds MBs (which is only 
5MBs with a standard perl version). So I chose a more standard image 
(debian:buster) as base.

* Koha doesn't work well when running with a perl version different than 
the system perl installed in /usr/bin/perl. For example, the 
updatedatabase doesn't work when called from the web installer. This is 
because Perl scripts are called directly as executable files, and 
shebangs contain '/usr/bin/perl'. Same problem from 
misc/translator/translate which calls tmpl_process3.pl.

* I tried to make the Koha installation as self-contained as possible. 
Almost everything is installed as a non-root user in /home/koha, 
including Perl dependencies.

* It doesn't need a reverse proxy such as apache or nginx. The necessary 
URL rewriting is handled in PSGI file. The container expose two ports, 
one for intranet, the other one for OPAC.

* Each Perl dependency is installed in its latest version, so expect 
things to break. I can only confirm that the webinstaller, basic 
cataloguing and search/indexation work. I did not test anything else.

* There are docker-compose.yml files in the github repository to get 
Koha running quickly with mariadb, memcached and elasticsearch.

* Zebra is not installed

* Images weigh ~1.15GB uncompressed (koha sources included)

If you made it this far, thanks for reading :)
And if you want to use these docker images, you should start by reading 
https://github.com/jajm/koha-docker/blob/master/README.md

-- 
Julian Maurice
BibLibre


More information about the Koha-devel mailing list