grim/containers/apache2-trac
Clone
Summary
Browse
Changes
Graph
Initial revision
draft
2021-05-02, Gary Kramlich
486632db55b2
Parents
Children
19103dda7942
Initial revision
4 files changed, 83 insertions(+), 0 deletions(-)
+21
-0
Dockerfile
+11
-0
README.md
+8
-0
apache2-foreground
+43
-0
convey.yml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Dockerfile Sun May 02 00:10:33 2021 -0500
@@ -0,0 +1,21 @@
+FROM debian:buster
+
+MAINTAINER Gary Kramlich <grim@reaperworld.com>
+
+RUN set -ex && \
+ apt-get update && \
+ apt-get install -y \
+ apache2 libapache2-mod-wsgi libapache2-mod-xsendfile \
+ trac \
+ && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/
+
+# https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop
+STOPSIGNAL SIGWINCH
+
+COPY apache2-foreground /usr/local/bin/
+
+EXPOSE 80
+CMD ["apache2-foreground"]
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md Sun May 02 00:10:33 2021 -0500
@@ -0,0 +1,11 @@
+# trac
+
+This is a barebones Debian Buster image with apache2, mod-wsgi, mod-xsendfile,
+and trac installed with Apache listening on port 80 by default.
+
+Due to the often complicated nature of configuring trac, this image leaves that
+task to the user to volume mount in their specific configuration files over
+the default apache ones. For example, if you just have sites configured in
+`sites-available` then just volume mount that over
+`/etc/apache2/sites-available`.
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/apache2-foreground Sun May 02 00:10:33 2021 -0500
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+# Apache gets grumpy about PID files pre-existing
+rm -f /var/run/apache2/apache2.pid
+
+exec apache2ctl -DFOREGROUND -k start "$@"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/convey.yml Sun May 02 00:10:33 2021 -0500
@@ -0,0 +1,43 @@
+environment:
+ - REPO=rwgrim/trac
+ - TAG=latest
+ - REGISTRY=docker.io
+ - REGISTRY_USERNAME
+ - REGISTRY_PASSWORD
+
+tasks:
+ import:
+ type: docker/import
+ files: .:.
+
+ build:
+ type: docker/build
+ dockerfile: Dockerfile
+ tag: ${REGISTRY}/${REPO}:${TAG}
+ files: .:.
+
+ login:
+ type: docker/login
+ username: ${REGISTRY_USERNAME}
+ password: ${REGISTRY_PASSWORD}
+ server: ${REGISTRY}
+
+ logout:
+ type: docker/logout
+ server: ${REGISTRY}
+
+ push:
+ type: docker/push
+ images: ${REGISTRY}/${REPO}:${TAG}
+
+plans:
+ default:
+ stages:
+ - tasks: [import, build]
+
+ ci:
+ stages:
+ - tasks: [import, build, login, push]
+ - tasks: [logout]
+ run: always
+