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>
