From 973b55e65e59df2a41548736cd8b119e5d87e716 Mon Sep 17 00:00:00 2001
From: Patrick Spek
Date: Wed, 7 Aug 2024 22:40:35 +0200
Subject: Make user and group IDs used for Apache configurable
---
conf.d/httpd.conf | 4 +++-
entrypoint.sh | 6 ++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/conf.d/httpd.conf b/conf.d/httpd.conf
index 787c68b..5653330 100644
--- a/conf.d/httpd.conf
+++ b/conf.d/httpd.conf
@@ -11,9 +11,11 @@ LoadModule unixd_module lib/apache2/mod_unixd.so
TypesConfig /etc/apache2/mime.types
ServerName "${HOSTNAME}"
-User nobody
Listen *:${HTTPD_LISTEN_PORT}
+User cgit
+Group cgit
+
ServerRoot "/etc/apache2"
DocumentRoot "/usr/share/webapps/cgit"
diff --git a/entrypoint.sh b/entrypoint.sh
index 2a43a24..5375491 100644
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -10,7 +10,9 @@ export CGITRC_ROOT_TITLE="${CGITRC_ROOT_TILE:-"Git repository browser"}"
export CGITRC_SCAN_PATH="${CGITRC_SCAN_PATH:-"/srv/git"}"
export CGITRC_SNAPSHOTS="${CGITRC_SNAPSHOTS:-"tar.gz"}"
export HOSTNAME="${HOSTNAME:-"$(hostname -f)"}"
+export HTTPD_GROUP="${HTTPD_GROUP:-"1000"}"
export HTTPD_LISTEN_PORT="${HTTPD_LISTEN_PORT:-"80"}"
+export HTTPD_USER="${HTTPD_USER:-"1000"}"
# Output debugging info
env | grep '^CGITRC_' | sort
@@ -25,5 +27,9 @@ envsubst \
< "/etc/cgitrc.template" \
> "/etc/cgitrc"
+# Create group and user
+addgroup -g "$HTTPD_GROUP" cgit
+adduser -G cgit -h "$CGITRC_SCAN_PATH" -u "$HTTPD_USER" cgit
+
# Run apache2
exec /usr/sbin/httpd -D FOREGROUND
--
cgit v1.2.3