From 3b96c59bcffdf2836297b4a4ac5a20ad89e91adb Mon Sep 17 00:00:00 2001 From: Jake Charman Date: Wed, 11 Jun 2025 21:46:41 +0100 Subject: [PATCH] Upgrade to Python 3.13 --- Dockerfile | 15 ++++++++------- config/httpd.conf | 14 ++++++-------- src/requirements.txt | 1 + 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index bd81dac..8cce0f2 100755 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,11 @@ -FROM httpd:2.4 +FROM python:3.13-bookworm RUN apt-get update -RUN apt-get -y install libapache2-mod-wsgi-py3 python3 python3-pip +RUN apt-get -y install apache2 apache2-dev COPY src/requirements.txt /var/www/jc/requirements.txt -RUN pip3 install --upgrade pip --break-system-packages -RUN pip3 freeze | sed 's/==.*//' #| xargs pip3 install --upgrade --break-system-packages -RUN pip3 install -r /var/www/jc/requirements.txt || pip3 install --break-system-packages -r /var/www/jc/requirements.txt -COPY --chown=www-data:www-data config/httpd.conf /usr/local/apache2/conf/httpd.conf +RUN /usr/local/bin/pip3 install --upgrade pip +RUN /usr/local/bin/pip3 install -r /var/www/jc/requirements.txt +COPY --chown=www-data:www-data config/httpd.conf /etc/apache2/apache2.conf COPY --chown=www-data:www-data src/ /var/www/jc -RUN httpd -t \ No newline at end of file +RUN apache2 -t +EXPOSE 80 +ENTRYPOINT ["apache2", "-D", "FOREGROUND"] \ No newline at end of file diff --git a/config/httpd.conf b/config/httpd.conf index ba14fcc..df690f4 100755 --- a/config/httpd.conf +++ b/config/httpd.conf @@ -28,7 +28,7 @@ # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # -ServerRoot "/usr/local/apache2" +ServerRoot "/usr/lib/apache2" # # Mutex: Allows you to set the mutex mechanism and mutex file directory @@ -123,7 +123,7 @@ LoadModule deflate_module modules/mod_deflate.so #LoadModule brotli_module modules/mod_brotli.so LoadModule mime_module modules/mod_mime.so #LoadModule ldap_module modules/mod_ldap.so -LoadModule log_config_module modules/mod_log_config.so +#LoadModule log_config_module modules/mod_log_config.so #LoadModule log_debug_module modules/mod_log_debug.so #LoadModule log_forensic_module modules/mod_log_forensic.so #LoadModule logio_module modules/mod_logio.so @@ -137,7 +137,7 @@ LoadModule headers_module modules/mod_headers.so #LoadModule usertrack_module modules/mod_usertrack.so #LoadModule unique_id_module modules/mod_unique_id.so LoadModule setenvif_module modules/mod_setenvif.so -LoadModule version_module modules/mod_version.so +#LoadModule version_module modules/mod_version.so #LoadModule remoteip_module modules/mod_remoteip.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so @@ -171,7 +171,7 @@ LoadModule version_module modules/mod_version.so #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so -LoadModule unixd_module modules/mod_unixd.so +#LoadModule unixd_module modules/mod_unixd.so #LoadModule heartbeat_module modules/mod_heartbeat.so #LoadModule heartmonitor_module modules/mod_heartmonitor.so #LoadModule dav_module modules/mod_dav.so @@ -198,8 +198,7 @@ LoadModule dir_module modules/mod_dir.so LoadModule alias_module modules/mod_alias.so #LoadModule rewrite_module modules/mod_rewrite.somod_wsgi-express start-server -LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so - +LoadModule wsgi_module /usr/local/lib/python3.13/site-packages/mod_wsgi/server/mod_wsgi-py313.cpython-313-x86_64-linux-gnu.so # @@ -368,7 +367,7 @@ LogLevel warn # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # - TypesConfig conf/mime.types + TypesConfig /etc/mime.types # # AddType allows you to add to or override the MIME configuration @@ -423,7 +422,6 @@ ErrorDocument 503 /error/503 ErrorDocument 505 /error/505 WSGISocketPrefix /var/run/wsgi - WSGIDaemonProcess jc-wsgi user=www-data group=www-data threads=5 WSGIProcessGroup jc-wsgi WSGIScriptAlias / /var/www/jc/projects.wsgi diff --git a/src/requirements.txt b/src/requirements.txt index 53d73cd..d3b3521 100755 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -6,3 +6,4 @@ beautifulsoup4>=4.11.1 python-frontmatter>=1.1.0 requests>=2.32.3 pillow>=11.0.0 +mod_wsgi>=5.0.2