From b6b579971942047ce26a1d68f270d706cf58cb4a Mon Sep 17 00:00:00 2001 From: lennard Date: Tue, 27 Jan 2026 15:45:57 +0100 Subject: [PATCH 01/21] harden apache conf --- Dockerfile | 9 +++++++++ docker/000-default.conf | 2 +- docker/conf/custom.conf | 3 +++ docker/docker-entrypoint.sh | 10 +++++----- docker/sites/8080.conf | 6 ++++++ 5 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 docker/conf/custom.conf create mode 100644 docker/sites/8080.conf diff --git a/Dockerfile b/Dockerfile index 4d55339b..79e149e1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,11 +24,20 @@ RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf COPY mapserver.conf /usr/local/etc/ RUN echo "SetEnv MAPSERVER_CONFIG_FILE \"/usr/local/etc/mapserver.conf\"" >> /etc/apache2/apache2.conf +# apache config RUN rm /etc/apache2/mods-enabled/alias.conf +COPY docker/conf/*.conf /etc/apache2/conf-enabled/ +# rm 000-default.conf from repo COPY docker/000-default.conf /etc/apache2/sites-available/ +# COPY docker/sites/8080.conf /etc/apache2/sites-available/ COPY docker/docker-entrypoint.sh /bin COPY epsg /usr/share/proj +# disable default site +# RUN a2dissite 000-default.conf +# enable custom site +# RUN a2ensite 8080.conf + # set apache user id matching ctr user id RUN usermod --non-unique --uid 999 www-data RUN groupmod -o -g 999 www-data diff --git a/docker/000-default.conf b/docker/000-default.conf index 993755d8..99547aa6 100644 --- a/docker/000-default.conf +++ b/docker/000-default.conf @@ -1,6 +1,6 @@ # Never run the server with LOCAL set in production - + ServerAdmin datapunt@amsterdam.nl DocumentRoot /srv/mapserver diff --git a/docker/conf/custom.conf b/docker/conf/custom.conf new file mode 100644 index 00000000..875bf55a --- /dev/null +++ b/docker/conf/custom.conf @@ -0,0 +1,3 @@ +Listen 8080 +Timeout 600 +ErrorLog /dev/stderr diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index e9c0a4c0..c6f2e816 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -44,11 +44,11 @@ EOF # and apache will then redirect this to stderr, which will then be redirected to syslog/kibana. # ref: http://mapserver.org/optimization/debugging.html#steps-to-enable-mapserver-debugging # https://serverfault.com/questions/711168/writing-apache2-logs-to-stdout-stderr -sed -i 's/ErrorLog .*/ErrorLog \/dev\/stderr/' /etc/apache2/apache2.conf -sed -i 's/Timeout 300/Timeout 600/' /etc/apache2/apache2.conf -# set listen port to non-privileged port -sed -i '0,/Listen [0-9]*/s//Listen 8080/' /etc/apache2/ports.conf -sed -i s/\/ /etc/apache2/sites-enabled/000-default.conf +# sed -i 's/ErrorLog .*/ErrorLog \/dev\/stderr/' /etc/apache2/apache2.conf +# sed -i 's/Timeout 300/Timeout 600/' /etc/apache2/apache2.conf +# # set listen port to non-privileged port +# sed -i '0,/Listen [0-9]*/s//Listen 8080/' /etc/apache2/ports.conf +# sed -i s/\/ /etc/apache2/sites-enabled/000-default.conf # Replace actual location of the mapserver depending on the environment shopt -s globstar nullglob diff --git a/docker/sites/8080.conf b/docker/sites/8080.conf new file mode 100644 index 00000000..f62dfd23 --- /dev/null +++ b/docker/sites/8080.conf @@ -0,0 +1,6 @@ + + DocumentRoot /var/www/html + + ErrorLog /dev/stderr + CustomLog /dev/stdout combined + \ No newline at end of file From ec61f58379fdebd40a835b19ac096147b347a626 Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 14:17:30 +0100 Subject: [PATCH 02/21] modify dockerfile for RO fs in k8s pod --- Dockerfile | 1 + docker/docker-entrypoint.sh | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 79e149e1..a475530e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,6 +46,7 @@ RUN chown -R 999:999 /var/lock/apache2 && chown -R 999:999 /var/run/apache2 && c RUN chown -R 999:999 /srv/ && chown -R 999:999 /etc/apache2/ COPY --chown=999:999 . /srv/mapserver/ RUN rm -rf /srv/mapserver/private +RUN python3 /srv/mapserver/tools/make_indexjson.py /srv/mapserver/*.map > /srv/mapserver/index.json EXPOSE 8080 diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index c6f2e816..64c53c33 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -58,11 +58,11 @@ for i in **/*.map; do sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i done -mkdir -p /srv/mapserver/config +# mkdir -p /srv/mapserver/config # python3 /srv/mapserver/tools/make_mapfile_config.py > /srv/mapserver/sld/config.json -echo Make JSON index of maps -python3 /srv/mapserver/tools/make_indexjson.py /srv/mapserver/*.map > /srv/mapserver/index.json +# echo Make JSON index of maps +# python3 /srv/mapserver/tools/make_indexjson.py /srv/mapserver/*.map > /srv/mapserver/index.json echo Starting server # Apache gets grumpy about PID files pre-existing From 6fe83331d2dde344d8803f3ae30935310afe416e Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 14:34:43 +0100 Subject: [PATCH 03/21] move map_url placement to dockerfile --- Dockerfile | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Dockerfile b/Dockerfile index a475530e..2465235a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,10 @@ FROM ubuntu:24.04 LABEL maintainer="datapunt@amsterdam.nl" ARG DEBIAN_FRONTEND=noninteractive +# build-time inputs +ARG MAP_URL +ARG LEGEND_URL + RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ apache2 \ @@ -38,6 +42,13 @@ COPY epsg /usr/share/proj # enable custom site # RUN a2ensite 8080.conf +RUN : "${MAP_URL:?MAP_URL not set}" \ + && : "${LEGEND_URL:?LEGEND_URL not set}" \ + && find . -type f -name '*.map' -print0 \ + | xargs -0 sed -i \ + -e "s#MAP_URL_REPLACE#${MAP_URL}#g" \ + -e "s#LEGEND_URL_REPLACE#${LEGEND_URL}#g" + # set apache user id matching ctr user id RUN usermod --non-unique --uid 999 www-data RUN groupmod -o -g 999 www-data From d3d65463a0d9914fb11b93bdff60a43c1d7407e1 Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 14:39:07 +0100 Subject: [PATCH 04/21] move map_url placement to dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2465235a..66b5fd4d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ COPY epsg /usr/share/proj RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ - && find . -type f -name '*.map' -print0 \ + && find /srv/mapserver/ -type f -name '*.map' -print0 \ | xargs -0 sed -i \ -e "s#MAP_URL_REPLACE#${MAP_URL}#g" \ -e "s#LEGEND_URL_REPLACE#${LEGEND_URL}#g" From 5823ee13b872e444a001d32055e9c7285eae833c Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 15:08:38 +0100 Subject: [PATCH 05/21] debug map vars --- Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index 66b5fd4d..9032a5a8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,6 +42,9 @@ COPY epsg /usr/share/proj # enable custom site # RUN a2ensite 8080.conf +RUN echo ${LEGEND_URL} +RUN echo ${MAP_URL_REPLACE} + RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ && find /srv/mapserver/ -type f -name '*.map' -print0 \ From 9f1396141559eee568624011a6d170c0de90f784 Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 15:15:58 +0100 Subject: [PATCH 06/21] debug map vars --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9032a5a8..7f93b554 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,7 @@ COPY epsg /usr/share/proj # RUN a2ensite 8080.conf RUN echo ${LEGEND_URL} -RUN echo ${MAP_URL_REPLACE} +RUN echo ${MAP_URL} RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ From 2d60448f55ebcdbdff942dc2f451a7b6ee3ce41c Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 16:12:24 +0100 Subject: [PATCH 07/21] remap EXTRA_ARGS to map vars --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7f93b554..17a5349b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,9 @@ FROM ubuntu:24.04 LABEL maintainer="datapunt@amsterdam.nl" ARG DEBIAN_FRONTEND=noninteractive # build-time inputs -ARG MAP_URL -ARG LEGEND_URL +ARG EXTRA_ARG1 +ARG EXTRA_ARG2 +ENV MAP_URL="${EXTRA_ARG1}" LEGEND_URL="${EXTRA_ARG2}" RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ From f3a0e1a725dc76730fcd6beacffba95c05e06049 Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 16:20:07 +0100 Subject: [PATCH 08/21] debug show dirs --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 17a5349b..5f4f533c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,6 +45,7 @@ COPY epsg /usr/share/proj RUN echo ${LEGEND_URL} RUN echo ${MAP_URL} +RUN ls -al & ls -al /srv RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ From a7dcb213cfe66dd6ac0ba184a6518c9e04f0b375 Mon Sep 17 00:00:00 2001 From: lennard Date: Wed, 28 Jan 2026 16:40:41 +0100 Subject: [PATCH 09/21] mapfile detecting --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5f4f533c..41656d4b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,11 +45,11 @@ COPY epsg /usr/share/proj RUN echo ${LEGEND_URL} RUN echo ${MAP_URL} -RUN ls -al & ls -al /srv +RUN pwd RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ - && find /srv/mapserver/ -type f -name '*.map' -print0 \ + && find . -type f -name '*.map' -print0 \ | xargs -0 sed -i \ -e "s#MAP_URL_REPLACE#${MAP_URL}#g" \ -e "s#LEGEND_URL_REPLACE#${LEGEND_URL}#g" From 9466a8805fb084a56d12ee7a2ff10a01335a3d89 Mon Sep 17 00:00:00 2001 From: lennard Date: Thu, 29 Jan 2026 10:43:15 +0100 Subject: [PATCH 10/21] debug map_url replace step --- Dockerfile | 11 +++-------- docker/docker-entrypoint.sh | 8 ++++---- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 41656d4b..134b7008 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,16 +43,11 @@ COPY epsg /usr/share/proj # enable custom site # RUN a2ensite 8080.conf -RUN echo ${LEGEND_URL} -RUN echo ${MAP_URL} -RUN pwd - +RUN ls -al **/* RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ - && find . -type f -name '*.map' -print0 \ - | xargs -0 sed -i \ - -e "s#MAP_URL_REPLACE#${MAP_URL}#g" \ - -e "s#LEGEND_URL_REPLACE#${LEGEND_URL}#g" + && for i in **/*.map; do sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i ; sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i; done + # set apache user id matching ctr user id RUN usermod --non-unique --uid 999 www-data diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 64c53c33..2811f0c7 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -53,10 +53,10 @@ EOF # Replace actual location of the mapserver depending on the environment shopt -s globstar nullglob -for i in **/*.map; do - sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i - sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i -done +# for i in **/*.map; do +# sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i +# sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i +# done # mkdir -p /srv/mapserver/config # python3 /srv/mapserver/tools/make_mapfile_config.py > /srv/mapserver/sld/config.json From e8c15e4d8b8b494ab30f0159bafad4a1111b1f23 Mon Sep 17 00:00:00 2001 From: lennard Date: Thu, 29 Jan 2026 11:44:16 +0100 Subject: [PATCH 11/21] debug map_url replace step --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 134b7008..44f675e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,10 +43,11 @@ COPY epsg /usr/share/proj # enable custom site # RUN a2ensite 8080.conf -RUN ls -al **/* +RUN ls -al /srv/ +RUN for i in /srv/mapserver/*.map; do echo $i; done RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ - && for i in **/*.map; do sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i ; sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i; done + && for i in /srv/mapserver/*.map; do sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i ; sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i; done # set apache user id matching ctr user id From f389d4408b460df72764b4b8a067bf5875b53c9b Mon Sep 17 00:00:00 2001 From: lennard Date: Thu, 29 Jan 2026 12:39:09 +0100 Subject: [PATCH 12/21] debug map_url replace step --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 44f675e6..c9133578 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,8 @@ COPY epsg /usr/share/proj # enable custom site # RUN a2ensite 8080.conf -RUN ls -al /srv/ +RUN pwd +RUN ls -al . RUN for i in /srv/mapserver/*.map; do echo $i; done RUN : "${MAP_URL:?MAP_URL not set}" \ && : "${LEGEND_URL:?LEGEND_URL not set}" \ From 1d8ecb41fbf25de146d2e5095532d9f2e85b12d9 Mon Sep 17 00:00:00 2001 From: lennard Date: Thu, 29 Jan 2026 12:42:30 +0100 Subject: [PATCH 13/21] debug map_url replace step --- Dockerfile | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index c9133578..8b79d3df 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,13 +42,6 @@ COPY epsg /usr/share/proj # RUN a2dissite 000-default.conf # enable custom site # RUN a2ensite 8080.conf - -RUN pwd -RUN ls -al . -RUN for i in /srv/mapserver/*.map; do echo $i; done -RUN : "${MAP_URL:?MAP_URL not set}" \ - && : "${LEGEND_URL:?LEGEND_URL not set}" \ - && for i in /srv/mapserver/*.map; do sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i ; sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i; done # set apache user id matching ctr user id @@ -57,7 +50,12 @@ RUN groupmod -o -g 999 www-data RUN mkdir /var/lock/apache2 && mkdir /var/run/apache2 RUN chown -R 999:999 /var/lock/apache2 && chown -R 999:999 /var/run/apache2 && chown -R 999:999 /var/log/apache2/ RUN chown -R 999:999 /srv/ && chown -R 999:999 /etc/apache2/ +# maps COPY --chown=999:999 . /srv/mapserver/ +RUN for i in /srv/mapserver/*.map; do echo $i; done +RUN : "${MAP_URL:?MAP_URL not set}" \ + && : "${LEGEND_URL:?LEGEND_URL not set}" \ + && for i in /srv/mapserver/*.map; do sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i ; sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i; done RUN rm -rf /srv/mapserver/private RUN python3 /srv/mapserver/tools/make_indexjson.py /srv/mapserver/*.map > /srv/mapserver/index.json From 3758f1419587b45dcd6d3e296401f2f159046773 Mon Sep 17 00:00:00 2001 From: lennard Date: Fri, 30 Jan 2026 11:37:10 +0100 Subject: [PATCH 14/21] debug apache --- docker/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 2811f0c7..89d45d9a 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -66,6 +66,6 @@ shopt -s globstar nullglob echo Starting server # Apache gets grumpy about PID files pre-existing -rm -f /var/run/apache2/apache2.pid +# rm -f /var/run/apache2/apache2.pid apachectl -D FOREGROUND From 1ae07f58462a170448143a79a9b4e1356dd0bc75 Mon Sep 17 00:00:00 2001 From: lennard Date: Fri, 30 Jan 2026 11:53:27 +0100 Subject: [PATCH 15/21] apache2 debug --- docker/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 89d45d9a..2811f0c7 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -66,6 +66,6 @@ shopt -s globstar nullglob echo Starting server # Apache gets grumpy about PID files pre-existing -# rm -f /var/run/apache2/apache2.pid +rm -f /var/run/apache2/apache2.pid apachectl -D FOREGROUND From 7d820fe7abe1022d4c9204d8a4886c7a130e2504 Mon Sep 17 00:00:00 2001 From: lennard Date: Fri, 30 Jan 2026 12:09:43 +0100 Subject: [PATCH 16/21] use sed to rm privalliged listen port from apache conf (80) --- Dockerfile | 5 ++++- docker/conf/custom.conf | 1 - docker/conf/ports.conf | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 docker/conf/ports.conf diff --git a/Dockerfile b/Dockerfile index 8b79d3df..a913d74f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,7 @@ RUN a2enmod actions cgid headers rewrite # Configure localhost in Apache RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf +RUN sed -i '/^Listen 80$/d' /etc/apache2/ports.conf #config file COPY mapserver.conf /usr/local/etc/ @@ -31,7 +32,9 @@ RUN echo "SetEnv MAPSERVER_CONFIG_FILE \"/usr/local/etc/mapserver.conf\"" >> /et # apache config RUN rm /etc/apache2/mods-enabled/alias.conf -COPY docker/conf/*.conf /etc/apache2/conf-enabled/ +COPY docker/conf/custom.conf /etc/apache2/conf-enabled/ +# COPY docker/conf/ports.conf /etc/apache2/ports.conf # TODO: rm conf related + # rm 000-default.conf from repo COPY docker/000-default.conf /etc/apache2/sites-available/ # COPY docker/sites/8080.conf /etc/apache2/sites-available/ diff --git a/docker/conf/custom.conf b/docker/conf/custom.conf index 875bf55a..c5d1facc 100644 --- a/docker/conf/custom.conf +++ b/docker/conf/custom.conf @@ -1,3 +1,2 @@ -Listen 8080 Timeout 600 ErrorLog /dev/stderr diff --git a/docker/conf/ports.conf b/docker/conf/ports.conf new file mode 100644 index 00000000..3cc6764e --- /dev/null +++ b/docker/conf/ports.conf @@ -0,0 +1 @@ +Listen 8080 From 405b816221815c95eb2d20c5bc4412f635942d67 Mon Sep 17 00:00:00 2001 From: lennard Date: Fri, 30 Jan 2026 12:14:10 +0100 Subject: [PATCH 17/21] debug apache ports --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a913d74f..49adb9a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,7 @@ RUN echo "SetEnv MAPSERVER_CONFIG_FILE \"/usr/local/etc/mapserver.conf\"" >> /et # apache config RUN rm /etc/apache2/mods-enabled/alias.conf COPY docker/conf/custom.conf /etc/apache2/conf-enabled/ -# COPY docker/conf/ports.conf /etc/apache2/ports.conf # TODO: rm conf related +COPY docker/conf/ports.conf /etc/apache2/ports.conf # rm 000-default.conf from repo COPY docker/000-default.conf /etc/apache2/sites-available/ From b8e635395fde00e6b362c7bebcabcb86e8ef7dbc Mon Sep 17 00:00:00 2001 From: lennard Date: Fri, 30 Jan 2026 12:19:22 +0100 Subject: [PATCH 18/21] debug log settings apache --- Dockerfile | 2 ++ docker/conf/custom.conf | 1 + 2 files changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index 49adb9a5..b11a2eaa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,8 @@ RUN apt-get update -y \ # Enable these Apache modules RUN a2enmod actions cgid headers rewrite +# rm default access log +RUN a2disconf other-vhosts-access-log # Configure localhost in Apache RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf diff --git a/docker/conf/custom.conf b/docker/conf/custom.conf index c5d1facc..05123972 100644 --- a/docker/conf/custom.conf +++ b/docker/conf/custom.conf @@ -1,2 +1,3 @@ Timeout 600 ErrorLog /dev/stderr +CustomLog /dev/stdout combined From 366233b1fd7034342382903c577ae51cd2bed7ab Mon Sep 17 00:00:00 2001 From: lennard Date: Fri, 30 Jan 2026 12:31:55 +0100 Subject: [PATCH 19/21] cleanup --- Dockerfile | 8 -------- docker/docker-entrypoint.sh | 20 -------------------- docker/sites/8080.conf | 6 ------ 3 files changed, 34 deletions(-) delete mode 100644 docker/sites/8080.conf diff --git a/Dockerfile b/Dockerfile index b11a2eaa..c675bfb6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,18 +37,10 @@ RUN rm /etc/apache2/mods-enabled/alias.conf COPY docker/conf/custom.conf /etc/apache2/conf-enabled/ COPY docker/conf/ports.conf /etc/apache2/ports.conf -# rm 000-default.conf from repo COPY docker/000-default.conf /etc/apache2/sites-available/ -# COPY docker/sites/8080.conf /etc/apache2/sites-available/ COPY docker/docker-entrypoint.sh /bin COPY epsg /usr/share/proj -# disable default site -# RUN a2dissite 000-default.conf -# enable custom site -# RUN a2ensite 8080.conf - - # set apache user id matching ctr user id RUN usermod --non-unique --uid 999 www-data RUN groupmod -o -g 999 www-data diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 2811f0c7..9aab10a5 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -39,31 +39,11 @@ CONNECTION "host=${DATASERVICES_DB_HOST} dbname=${DATASERVICES_DB_NAME} user=${D PROCESSING "CLOSE_CONNECTION=DEFER" EOF -# Configure apache to redirect errors to stderr. -# The mapserver will redirect errors to apache errorstream (see header.inc and private/header.inc) -# and apache will then redirect this to stderr, which will then be redirected to syslog/kibana. -# ref: http://mapserver.org/optimization/debugging.html#steps-to-enable-mapserver-debugging -# https://serverfault.com/questions/711168/writing-apache2-logs-to-stdout-stderr -# sed -i 's/ErrorLog .*/ErrorLog \/dev\/stderr/' /etc/apache2/apache2.conf -# sed -i 's/Timeout 300/Timeout 600/' /etc/apache2/apache2.conf -# # set listen port to non-privileged port -# sed -i '0,/Listen [0-9]*/s//Listen 8080/' /etc/apache2/ports.conf -# sed -i s/\/ /etc/apache2/sites-enabled/000-default.conf - # Replace actual location of the mapserver depending on the environment shopt -s globstar nullglob -# for i in **/*.map; do -# sed -i 's#MAP_URL_REPLACE#'"$MAP_URL"'#g' $i -# sed -i 's#LEGEND_URL_REPLACE#'"$LEGEND_URL"'#g' $i -# done - -# mkdir -p /srv/mapserver/config # python3 /srv/mapserver/tools/make_mapfile_config.py > /srv/mapserver/sld/config.json -# echo Make JSON index of maps -# python3 /srv/mapserver/tools/make_indexjson.py /srv/mapserver/*.map > /srv/mapserver/index.json - echo Starting server # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2.pid diff --git a/docker/sites/8080.conf b/docker/sites/8080.conf deleted file mode 100644 index f62dfd23..00000000 --- a/docker/sites/8080.conf +++ /dev/null @@ -1,6 +0,0 @@ - - DocumentRoot /var/www/html - - ErrorLog /dev/stderr - CustomLog /dev/stdout combined - \ No newline at end of file From 1fa4887f35036068d68080eaf835608c0e5d2442 Mon Sep 17 00:00:00 2001 From: lennard Date: Mon, 2 Feb 2026 10:35:58 +0100 Subject: [PATCH 20/21] seyt default for map uri arg --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c675bfb6..173bd530 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,9 @@ FROM ubuntu:24.04 LABEL maintainer="datapunt@amsterdam.nl" ARG DEBIAN_FRONTEND=noninteractive # build-time inputs -ARG EXTRA_ARG1 -ARG EXTRA_ARG2 +ARG EXTRA_ARG1=http://localhost:8383 +ARG EXTRA_ARG2=http://localhost:8383 + ENV MAP_URL="${EXTRA_ARG1}" LEGEND_URL="${EXTRA_ARG2}" RUN apt-get update -y \ From 0de17a7d27e81fe1b1343f0ebe2a87819df5a9aa Mon Sep 17 00:00:00 2001 From: lennard Date: Mon, 2 Feb 2026 10:51:03 +0100 Subject: [PATCH 21/21] set default for map uri arg & echo values --- Dockerfile | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 173bd530..fa11dd55 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,10 +2,15 @@ FROM ubuntu:24.04 LABEL maintainer="datapunt@amsterdam.nl" ARG DEBIAN_FRONTEND=noninteractive # build-time inputs -ARG EXTRA_ARG1=http://localhost:8383 -ARG EXTRA_ARG2=http://localhost:8383 +ARG EXTRA_ARG1 +ARG EXTRA_ARG2 -ENV MAP_URL="${EXTRA_ARG1}" LEGEND_URL="${EXTRA_ARG2}" +ENV MAP_URL="${EXTRA_ARG1:-http://localhost:8383}" \ + LEGEND_URL="${EXTRA_ARG2:-http://localhost:8383}" + +# echo domain variables used +RUN echo "Using ARGS=$EXTRA_ARG1 LEGEND_URL=$EXTRA_ARG2" +RUN echo "Using MAP_URL=$MAP_URL LEGEND_URL=$LEGEND_URL" RUN apt-get update -y \ && apt-get install -y --no-install-recommends \