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

Reply via email to