Author: sebb
Date: Sat Jan 10 21:56:58 2026
New Revision: 1931220

Log:
Initial version of Docker for local testing

Added:
   comdev/projects.apache.org/trunk/.dockerignore
   comdev/projects.apache.org/trunk/DOCKER.md
   comdev/projects.apache.org/trunk/Dockerfile
   comdev/projects.apache.org/trunk/compose.yml
   comdev/projects.apache.org/trunk/docker-config/
   comdev/projects.apache.org/trunk/docker-config/25-projects.conf   (contents, 
props changed)
   comdev/projects.apache.org/trunk/docker-data/
   comdev/projects.apache.org/trunk/docker-data/logs/   (props changed)

Added: comdev/projects.apache.org/trunk/.dockerignore
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ comdev/projects.apache.org/trunk/.dockerignore      Sat Jan 10 21:56:58 
2026        (r1931220)
@@ -0,0 +1,4 @@
+# Only allow required files
+
+**
+!docker-config/*

Added: comdev/projects.apache.org/trunk/DOCKER.md
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ comdev/projects.apache.org/trunk/DOCKER.md  Sat Jan 10 21:56:58 2026        
(r1931220)
@@ -0,0 +1,25 @@
+# Local testing using Docker
+
+## Build
+
+```docker compose build```
+
+## Start application
+
+```docker compose up```
+
+Browse to ```http://localhost/```
+
+Logs will appear under ```docker-data/logs```
+
+## Start shell in running container
+
+```docker compose exec projects bash```
+
+## Start container with shell instead of webserver
+
+```docker compose run -rm -P projects bash```
+
+To start the server:
+
+```apache2ctl -DFOREGROUND```

Added: comdev/projects.apache.org/trunk/Dockerfile
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ comdev/projects.apache.org/trunk/Dockerfile Sat Jan 10 21:56:58 2026        
(r1931220)
@@ -0,0 +1,21 @@
+FROM ubuntu:24.04
+
+RUN apt-get update && \
+    apt-get install -y \
+    bash \
+    apache2 \
+    python3
+
+RUN \
+    a2enmod cgi && \
+    a2enmod headers
+
+    WORKDIR /var/www/projects.apache.org
+
+RUN echo "ServerName projects.local" > 
/etc/apache2/conf-enabled/servername.conf
+
+COPY docker-config/25-projects.conf /etc/apache2/sites-enabled/000-default.conf
+
+EXPOSE 80
+
+CMD ["apache2ctl", "-DFOREGROUND"]
\ No newline at end of file

Added: comdev/projects.apache.org/trunk/compose.yml
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ comdev/projects.apache.org/trunk/compose.yml        Sat Jan 10 21:56:58 
2026        (r1931220)
@@ -0,0 +1,10 @@
+services:
+  projects:
+    build:
+      context: .
+      dockerfile: Dockerfile
+    volumes:
+      - .:/var/www/projects.apache.org/
+      - ./docker-data/logs:/var/log/apache2
+    ports:
+      - 80:80

Added: comdev/projects.apache.org/trunk/docker-config/25-projects.conf
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ comdev/projects.apache.org/trunk/docker-config/25-projects.conf     Sat Jan 
10 21:56:58 2026        (r1931220)
@@ -0,0 +1,36 @@
+<VirtualHost *:80>
+  ServerName projects.local
+  ServerAdmin [email protected]
+
+  ## Vhost docroot
+  DocumentRoot "/var/www/projects.apache.org/site"
+
+  ## Directories, there should at least be a declaration for 
/var/www/projects.apache.org/site
+
+  <Directory "/var/www/projects.apache.org/site">
+    Options Indexes FollowSymLinks MultiViews ExecCGI
+    AllowOverride None
+    Require all granted
+    DirectoryIndex index.py index.html
+  </Directory>
+
+  ## Logging
+  ErrorLog "/var/log/apache2/projects_error.log"
+  ServerSignature Off
+  CustomLog "/var/log/apache2/projects_access.log" combined 
+
+  ## Custom fragment
+  AddHandler cgi-script .py
+
+# <Location />
+#   Require ip 140.211.11.75 140.211.11.138 140.211.11.139 140.211.11.140 
10.41.0.4
+# </Location>
+
+  <Directory /var/www/projects.apache.org/site/json/>
+    Header set Access-Control-Allow-Origin "*"
+  </Directory>
+
+  # Use main ASF favicon
+  Redirect /favicon.ico https://apache.org/favicons/favicon.ico
+
+</VirtualHost>

Reply via email to