grim/containers/apache2-trac

Initial revision
draft
2021-05-02, Gary Kramlich
486632db55b2
Parents
Children 19103dda7942
Initial revision
  • +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
    +