Author: sebb Date: Sun Jan 11 21:19:39 2026 New Revision: 1931242 Log: Add Docker build
Added: comdev/reporter.apache.org/trunk/.dockerignore comdev/reporter.apache.org/trunk/DOCKER.md comdev/reporter.apache.org/trunk/Dockerfile comdev/reporter.apache.org/trunk/compose.yml comdev/reporter.apache.org/trunk/docker-config/ comdev/reporter.apache.org/trunk/docker-config/25-reporter.conf (contents, props changed) comdev/reporter.apache.org/trunk/docker-config/start-reporter.sh (contents, props changed) comdev/reporter.apache.org/trunk/docker-data/ comdev/reporter.apache.org/trunk/docker-data/README.md comdev/reporter.apache.org/trunk/docker-data/logs/ (props changed) Added: comdev/reporter.apache.org/trunk/.dockerignore ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ comdev/reporter.apache.org/trunk/.dockerignore Sun Jan 11 21:19:39 2026 (r1931242) @@ -0,0 +1,4 @@ +# Only allow required files + +** +!docker-config/* Added: comdev/reporter.apache.org/trunk/DOCKER.md ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ comdev/reporter.apache.org/trunk/DOCKER.md Sun Jan 11 21:19:39 2026 (r1931242) @@ -0,0 +1,26 @@ +# Local testing using Docker + +## Build + +```docker compose build``` + +## Start application + +```docker compose up``` + +Browse to ```http://localhost/``` + +Webserver logs will appear under ```docker-data/logs``` +Gunicorn output to stdout + +## Start shell in running container + +```docker compose exec reporter bash``` + +## Start container with shell instead of webserver + +```docker compose run -rm -P reporter bash``` + +To start the app: + +```docker-config/start-reporter.sh``` Added: comdev/reporter.apache.org/trunk/Dockerfile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ comdev/reporter.apache.org/trunk/Dockerfile Sun Jan 11 21:19:39 2026 (r1931242) @@ -0,0 +1,25 @@ +FROM ubuntu:24.04 + +RUN apt-get update && \ + apt-get install -y \ + bash \ + apache2 \ + python3-pip \ + gunicorn + +RUN pip install requests --break-system-packages + +RUN a2enmod cgi headers proxy proxy_http authn_anon + +RUN echo "ServerName reporter.local" > /etc/apache2/conf-enabled/servername.conf + +COPY docker-config/25-reporter.conf /etc/apache2/sites-enabled/000-default.conf + +WORKDIR /usr/local/etc/tokens +RUN touch /usr/local/etc/tokens/jira.txt + +WORKDIR /var/www/reporter.apache.org + +EXPOSE 80 + +CMD ["docker-config/start-reporter.sh"] \ No newline at end of file Added: comdev/reporter.apache.org/trunk/compose.yml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ comdev/reporter.apache.org/trunk/compose.yml Sun Jan 11 21:19:39 2026 (r1931242) @@ -0,0 +1,10 @@ +services: + reporter: + build: + context: . + dockerfile: Dockerfile + volumes: + - .:/var/www/reporter.apache.org/ + - ./docker-data/logs:/var/log/apache2 + ports: + - 80:80 Added: comdev/reporter.apache.org/trunk/docker-config/25-reporter.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ comdev/reporter.apache.org/trunk/docker-config/25-reporter.conf Sun Jan 11 21:19:39 2026 (r1931242) @@ -0,0 +1,43 @@ +<VirtualHost *:80> + ServerName reporter.local + ServerAdmin [email protected] + + ## Vhost docroot + DocumentRoot "/var/www/reporter.apache.org/site" + + ## Directories, there should at least be a declaration for /var/www/reporter.apache.org/site + + <Directory "/var/www/reporter.apache.org/site"> + Options Indexes FollowSymLinks MultiViews ExecCGI + AllowOverride None + Require all granted + DirectoryIndex index.py index.html + </Directory> + + ## Logging + ErrorLog "/var/log/apache2/reporter_error.log" + ServerSignature Off + CustomLog "/var/log/apache2/reporter_access.log" combined + + ## Custom fragment + AddHandler cgi-script .py + + <Location /> + AuthName "Any" + AuthType Basic + AuthBasicProvider anon + Anonymous_NoUserID off + Anonymous_MustGiveEmail on + Anonymous_VerifyEmail off + Anonymous_LogEmail off + Anonymous * + Require valid-user + </Location> + + Alias /releases/ /var/www/reporter.apache.org/data/releases/ + ProxyPass /api/ http://localhost:8000/api/ + ProxyPass /quickjson http://localhost:8000/api/overview + # Use main ASF favicon + Redirect /favicon.ico https://apache.org/favicons/favicon.ico + +</VirtualHost> Added: comdev/reporter.apache.org/trunk/docker-config/start-reporter.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ comdev/reporter.apache.org/trunk/docker-config/start-reporter.sh Sun Jan 11 21:19:39 2026 (r1931242) @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +rm /var/log/apache2/*.log + +apache2ctl start + +cd scripts +exec gunicorn -b 127.0.0.1 -w 2 wsgi:app \ No newline at end of file Added: comdev/reporter.apache.org/trunk/docker-data/README.md ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ comdev/reporter.apache.org/trunk/docker-data/README.md Sun Jan 11 21:19:39 2026 (r1931242) @@ -0,0 +1 @@ +Temporary workspace for container \ No newline at end of file
