annotate docker/Dockerfile.wiki @ 9782:c670bf2ec4b0 3.2.x

Download dependencies before adding sources to leverage build cache
author Tom Gottfried <tom@intevation.de>
date Wed, 26 Apr 2023 16:04:45 +0200
parents 414647dc6936
children a440ebd5c23b
rev   line source
9739
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
1 # Docker file for D4E River documentation wiki
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
2 FROM centos:7
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
3 MAINTAINER tom@intevation.de
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
4
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
5 # Necessary to run further yum-installs inside Docker container,
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
6 # if not already part of the base image:
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
7 RUN yum -q -y install yum-plugin-ovl && rpm --rebuilddb
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
8
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
9 # Install prerequisites
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
10 RUN yum -q -y install curl ca-certificates \
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
11 python-setuptools gcc python-devel xmlsec1-nss-devel libtool-ltdl-devel \
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
12 httpd mod_wsgi
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
13 WORKDIR /opt/xmlsec
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
14 RUN curl -sL https://pypi.python.org/packages/source/p/pyxmlsec-next/pyxmlsec-next-0.3.1.tar.gz | \
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
15 tar -xz
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
16 WORKDIR pyxmlsec-next-0.3.1
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
17 RUN echo 3 | python setup.py build install
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
18
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
19 WORKDIR /opt/wiki
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
20
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
21 # User for wiki installation and WSGI
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
22 RUN useradd wiki
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
23 RUN chown wiki:wiki .
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
24 USER wiki
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
25
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
26 # Install MoinMoin
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
27 RUN curl -s https://static.moinmo.in/files/moin-1.9.9.tar.gz | tar -xz
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
28 ENV WIKI /opt/wiki/moin-1.9.9
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
29
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
30 # Install tool for SSO
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
31 RUN curl -s https://hg.intevation.de/moin/moin-was/archive/default.tar.gz | \
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
32 tar -xz -C $WIKI/MoinMoin/auth --strip-components=1 moin-was-default/was.py
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
33
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
34 # Volume for Wiki data
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
35 VOLUME $WIKI/wiki/data
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
36
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
37 USER root
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
38
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
39 # httpd config
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
40 ADD httpd-wiki.conf /etc/httpd/conf.d/
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
41
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
42 EXPOSE 80
414647dc6936 Add wiki to Docker setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
43 CMD ["/usr/sbin/httpd", "-DFOREGROUND"]

http://dive4elements.wald.intevation.org