summaryrefslogtreecommitdiffstats
path: root/latest
diff options
context:
space:
mode:
Diffstat (limited to 'latest')
-rw-r--r--latest/Dockerfile33
-rwxr-xr-xlatest/docker-entrypoint.sh12
2 files changed, 45 insertions, 0 deletions
diff --git a/latest/Dockerfile b/latest/Dockerfile
new file mode 100644
index 0000000..47518d5
--- /dev/null
+++ b/latest/Dockerfile
@@ -0,0 +1,33 @@
+FROM python:2-alpine
+
+ARG TRAC_VERSION=1.2.4
+ENV HOME=/tmp
+
+RUN \
+ apk update && apk upgrade && apk add --no-cache curl; \
+ easy_install pip Genshi pytz Babel docutils Pygments
+
+RUN cd /usr/src && \
+ curl -sL https://github.com/edgewall/trac/archive/trac-${TRAC_VERSION}.tar.gz | tar xvz && \
+ cd trac-trac-${TRAC_VERSION}/ && \
+ python ./setup.py install && \
+ cd .. && \
+ rm -Rf trac-$trac_version/
+
+RUN pip install 'https://trac-hacks.org/browser/accountmanagerplugin/tags/acct_mgr-0.5.0?rev=17460&format=zip'
+
+RUN mkdir -p /auth && \
+ touch /auth/htpasswd && \
+ touch /auth/htgroups && \
+ mkdir -p /trac && \
+ ln -s /auth/htpasswd /trac/.htpasswd && \
+ ln -s /auth/htgroups /trac/.htgroups && \
+ mkdir -p /home/csa/ && \
+ ln -s /trac /home/csa/.trac && \
+ chmod g=u /etc/passwd
+
+COPY docker-entrypoint.sh /
+ENTRYPOINT ["/docker-entrypoint.sh"]
+CMD ["tracd", "-p", "8080", "--env-parent-dir", "/trac"]
+
+EXPOSE 8080
diff --git a/latest/docker-entrypoint.sh b/latest/docker-entrypoint.sh
new file mode 100755
index 0000000..f4d9f20
--- /dev/null
+++ b/latest/docker-entrypoint.sh
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+set -e
+
+if ! whoami &> /dev/null; then
+ if [ -w /etc/passwd ]; then
+ echo "${USER_NAME:-default}:x:$(id -u):0:${USER_NAME:-default} user:${HOME}:/sbin/nologin" >> /etc/passwd
+ fi
+fi
+
+echo "Running: $@"
+exec "$@"