This docker image contains a working Shibboleth + nginx FastCGI configuration.
docker build -t matter/shibboleth-nginx .
You will need to have port 80 available.
This runs the container in the foreground, which can be useful for debugging
docker run --rm -p 80:80 \
-v $(pwd)/log:/var/log \
-e CLIENT_APP_SCHEME=https \
-e CLIENT_APP_HOSTNAME=your-app.localdomain.com \
-e NGINX_PROXY_DESTINATION=http://172.17.42.1:8001 \
matter/shibboleth-nginx
The default shibboleth config file has metadata entries for:
httpsyour-app.localdomain.com/appshibresponder/samlhttp://172.17.42.1:8001/saml (uses SHIBBOLETH_RESPONDER_PATH)/saml/status/saml/session/saml/metadata/saml/acs/saml/Login (case-sensitive)docker build -t matter/shibboleth-nginx .
With log directory mounted and some example environment variables
docker run -p 80:80 \
-v $(pwd)/log:/var/log \
-e CLIENT_APP_HOSTNAME=your-app.localdomain.com \
-e NGINX_PROXY_DESTINATION=http://172.17.42.1:8001 \
matter/shibboleth-nginx
Also mount lots of directories. This allows you to override the default configuration files and templates.
docker run -p 80:80 -it \
-v $(pwd)/shibboleth:/etc/shibboleth \
-v $(pwd)/supervisor:/etc/supervisor/conf.d \
-v $(pwd)/nginx/conf.d:/etc/nginx/conf.d \
-v $(pwd)/log:/var/log \
matter/shibboleth-nginx /bin/bash
Run this while in bash inside the container
/usr/local/bin/ep -v /etc/nginx/conf.d/default.conf /etc/shibboleth/shibboleth2.xml -- \
/usr/bin/supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf
Run this while in bash inside the container
supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf
Content type
Image
Digest
sha256:1fb5c0a9e…
Size
143 MB
Last updated
about 10 years ago
docker pull matter/shibboleth-nginx