diff --git a/.dockerignore b/.dockerignore
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..616b3fa85f1094776d055a6b69dce52b277f995f 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -0,0 +1,2 @@
+*
+!cgitrc
diff --git a/Dockerfile b/Dockerfile
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b42ad6d33a4eca6c486894360a93452b4e99921c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -0,0 +1,30 @@
+FROM debian:buster-slim
+# hadolint ignore=DL3008,DL3015
+RUN apt-get update && \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y \
+        apache2 \
+        cgit \
+        groff-base \
+        python3-docutils \
+        python3-markdown \
+        python3-pygments \
+    && \
+    a2enmod cgid && \
+    a2enconf cgit && \
+    install -d -o www-data -g www-data -m 755 /var/cache/cgit && \
+    install -d -o www-data -g www-data -m 755 /run/apache2 && \
+    install -d -o www-data -g www-data -m 755 /var/log/apache2 && \
+    ln -sf /dev/stdout /var/log/apache2/access.log && \
+    ln -sf /dev/stderr /var/log/apache2/error.log && \
+    ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log && \
+    rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/*
+COPY --chown=root:root cgitrc /etc/
+ENV APACHE_RUN_DIR=/run/apache2 \
+    APACHE_LOG_DIR=/var/log/apache2 \
+    APACHE_RUN_USER=www-data \
+    APACHE_RUN_GROUP=www-data \
+    APACHE_PID_FILE=/run/apache2/apache2.pid
+EXPOSE 80
+CMD [ "apache2", "-DFOREGROUND" ]
+VOLUME ["/srv/git"]
+HEALTHCHECK CMD wget --spider --quiet http://localhost/cgit/ --user-agent 'Healthcheck' || exit 1
diff --git a/cgitrc b/cgitrc
new file mode 100644
index 0000000000000000000000000000000000000000..94620973ae4b4fa0b1e6969fe288a45c0d242600
--- /dev/null
+++ b/cgitrc
@@ -0,0 +1,43 @@
+#
+# cgit config
+# see cgitrc(5) for details
+
+about-filter=/usr/lib/cgit/filters/about-formatting.sh
+cache-size=2000
+css=/cgit-css/cgit.css
+enable-git-config=1
+favicon=/cgit-css/favicon.ico
+logo=/cgit-css/cgit.png
+readme=:README.md
+readme=:readme.md
+readme=:README.mkd
+readme=:readme.mkd
+readme=:README.rst
+readme=:readme.rst
+readme=:README.html
+readme=:readme.html
+readme=:README.htm
+readme=:readme.htm
+readme=:README.txt
+readme=:readme.txt
+readme=:README
+readme=:readme
+readme=:INSTALL.md
+readme=:install.md
+readme=:INSTALL.mkd
+readme=:install.mkd
+readme=:INSTALL.rst
+readme=:install.rst
+readme=:INSTALL.html
+readme=:install.html
+readme=:INSTALL.htm
+readme=:install.htm
+readme=:INSTALL.txt
+readme=:install.txt
+readme=:INSTALL
+readme=:install
+remove-suffix=1
+source-filter=/usr/lib/cgit/filters/syntax-highlighting.py
+
+# Needs to be last.
+scan-path=/srv/git/