diff --git a/Containerfile b/Containerfile
index 8e11da8..b1d1981 100644
--- a/Containerfile
+++ b/Containerfile
@@ -6,7 +6,7 @@ FROM alpine:3.15
 WORKDIR /usr/src/app
 
 # Install run dependencies first
-RUN apk add --no-cache python3 tzdata
+RUN apk add --no-cache python3 py3-lxml tzdata
 
 # system pip could be removed after build, but apk then decides to also remove all its
 # python dependencies, even if they are explicitly installed as python packages
@@ -15,16 +15,7 @@ RUN \
 	apk add py3-pip && \
 	pip install wheel
 
-# these are more static than the real requirements, which means caching
-COPY ./requirements_pre.txt ./requirements_pre.txt
 
-RUN \
-	apk add --no-cache --virtual .build-deps gcc g++ python3-dev libxml2-dev libxslt-dev libffi-dev libc-dev py3-pip linux-headers && \
-	pip install --no-cache-dir -r requirements_pre.txt && \
-	apk del .build-deps
-
-
-# less likely to be cached
 COPY ./requirements.txt ./requirements.txt
 
 RUN \
@@ -39,10 +30,9 @@ COPY . .
 
 RUN pip install /usr/src/app
 
-# Docker-specific configuration
-# defaulting to IPv4 is no longer necessary (default host is dual stack)
+# Docker-specific configuration and default to IPv4
 ENV MALOJA_SKIP_SETUP=yes
-ENV PYTHONUNBUFFERED=1
+ENV MALOJA_HOST=0.0.0.0
 
 EXPOSE 42010
 # use exec form for better signal handling https://docs.docker.com/engine/reference/builder/#entrypoint
diff --git a/dev/templates/Containerfile.jinja b/dev/templates/Containerfile.jinja
index e180abd..0eb8063 100644
--- a/dev/templates/Containerfile.jinja
+++ b/dev/templates/Containerfile.jinja
@@ -15,16 +15,7 @@ RUN \
 	apk add py3-pip && \
 	pip install wheel
 
-# these are more static than the real requirements, which means caching
-COPY ./requirements_pre.txt ./requirements_pre.txt
 
-RUN \
-	apk add --no-cache --virtual .build-deps {{ tool.osreqs.alpine.build | join(' ') }} && \
-	pip install --no-cache-dir -r requirements_pre.txt && \
-	apk del .build-deps
-
-
-# less likely to be cached
 COPY ./requirements.txt ./requirements.txt
 
 RUN \
diff --git a/install/install_alpine.sh b/install/install_alpine.sh
index 88b23c2..5de1f41 100644
--- a/install/install_alpine.sh
+++ b/install/install_alpine.sh
@@ -11,6 +11,7 @@ apk add \
 	py3-pip \
 	linux-headers \
 	python3 \
+	py3-lxml \
 	tzdata \
 	vips
 
diff --git a/install/install_dependencies_alpine.sh b/install/install_dependencies_alpine.sh
index 5a14d85..20bca2b 100644
--- a/install/install_dependencies_alpine.sh
+++ b/install/install_dependencies_alpine.sh
@@ -11,5 +11,6 @@ apk add \
 	py3-pip \
 	linux-headers \
 	python3 \
+	py3-lxml \
 	tzdata \
 	vips
diff --git a/pyproject.toml b/pyproject.toml
index ea61747..dba3ae1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -63,6 +63,7 @@ build =[
 ]
 run = [
 	"python3",
+	"py3-lxml",
 	"tzdata"
 ]
 opt = [
diff --git a/requirements_pre.txt b/requirements_pre.txt
deleted file mode 100644
index c4c0dbe..0000000
--- a/requirements_pre.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# this is a more static file that enables container images to be cached
-# it should contain packages that take long to build and don't change frequently
-lxml