iipsrv
iipsrv copied to clipboard
Official Docker support for iipsrv 1.1
Hi @ruven
Is there an official release of iipsrv 1.1 in Docker? And I'm also interested to know if Ubuntu 20.04 LTS comes with the latest 1.1.
https://iipimage.sourceforge.io/2019/06/iipsrv-1-1-released/
Thank you, manoaman
Is there an official release of iipsrv 1.1 in Docker?
No, there's no official one. It would be a good idea to have one - I'll look into it.
And I'm also interested to know if Ubuntu 20.04 LTS comes with the latest 1.1.
Yes indeed it does: https://packages.ubuntu.com/focal/iipimage-server
Thanks @ruven . That would be great to have. Looking forward to the official release! Tried on my machine and seemed to worked. Attaching sample Dockerfile and entrypoint script.
% docker build -t iipimagesrv1.1 .
% docker run -dit --name iipimage -p 9000:9000 -v ./images:/mnt/images -v ./config/:/etc/apache2/mods-enabled/ -v ./log/:/tmp/
iipimagesrv1.1
Can't seem to figure out using custom iipsrv.conf with Docker. Logging seems to go /tmp/iipsrv.log and MEMCACHED_SERVERS don't seem to reflect the change. I'm only seeing localhost used.
@ruven has there been a change to configuring MEMCACHED_SERVERS with iipsrv1.1 ? And should iipsrv.fcgi run with root user?
# Create a directory for the iipsrv binary
ScriptAlias /fcgi-bin/ "/usr/lib/iipimage-server/"
# Set the options on that directory
<Directory "/fcgi-bin/">
AllowOverride None
Options None
<IfModule mod_version.c>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
</IfModule>
# Set the module handler
AddHandler fcgid-script .fcgi
</Directory>
# Set our environment variables for the IIP server
FcgidInitialEnv VERBOSITY "6"
FcgidInitialEnv LOGFILE "/var/log/iipsrv.log"
FcgidInitialEnv MAX_IMAGE_CACHE_SIZE "128"
FcgidInitialEnv JPEG_QUALITY "90"
FcgidInitialEnv MAX_CVT "5000"
FcgidInitialEnv MEMCACHED_SERVERS "localhost,test2.com:11211,test3.com:11211,test3.com:11211"
FcgidInitialEnv MEMCACHED_TIMEOUT "86400"
# Define the idle timeout as unlimited and the number of
# processes we want
FcgidIdleTimeout 0
FcgidMaxProcessesPerClass 50
Hello,
for information, I made one some years ago (we use iipsrv (from the source) with an nginx in front (a specific version)). https://github.com/cytomine/Dockerfiles/blob/master/iipbase/Dockerfile https://github.com/cytomine/Dockerfiles/blob/master/iipOfficial/Dockerfile
I think the best way is to start from an official ubuntu image and install form package.
Have a nice day ! :-)
@geektortoise thank you! it is a good example for me to look into.
@ruven I'm a bet confused with the latest iipsrv1.1 on Ubutu20.04 running with Apache. And I was wondering if you don't mind answering to questions.
Do I need to install prerequisite libraries, Apache2, and explicitly load a2enmod on either iipsrv or fcgid to use mod_fastcgi or mod_fcgid? And use systemd to auto start iipsrv?
https://iipimage.sourceforge.io/2012/05/new-debian-and-ubuntu-packages-released/
Second question. If I start iipsrv from a command line, can I pass along iipsrv.conf or fcgid.conf to overwrite config values? Is there a way to know where iipsrv is getting the config values from?
Thanks for your help.
i'm using this docker compose https://github.com/medialibraryonline/iipsrv-docker two containers: one running iipsrv with spawn-fcgi, the other running nginx.
I've made an official docker image for the 1.2 release (based on Alpine Linux). It uses the Alpine iipsrv package with Lighttpd as a web front-end to provide a fully functional environment for IIPImage:
https://hub.docker.com/r/iipsrv/iipsrv
Let me know if you have any comments or suggestions for improving the Docker image.
great, thanks! Is the build automated and could be made for aarch64
too?
I was using lately this https://github.com/atomotic/iipsrv.docker (not very optimized, the image is quite big), will switch to your official image.
Yes, this image is nice and small - only about 12MB!
I've looked into making multi-arch builds and it's not too difficult. I've updated the images to include all the architectures available with Alpine linux: https://hub.docker.com/r/iipsrv/iipsrv