diff --git a/Dockerfile b/Dockerfile
index dc6ccd97d2cf3f00d983d321bba98f3dfe20b5ea..577255a1ddc4b172a0609c5f2c54a57fece8e609 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -11,7 +11,12 @@ RUN echo "Adding system components" && \
     apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive \
         apt-get install -y -q \
-                autoconf automake curl g++ gcc jq make npm unzip && \
+                autoconf automake curl g++ gcc jq make npm rsync unzip \
+                ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 \
+                libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 \
+                libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 \
+                libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 \
+                libxss1 libxtst6 lsb-release wget xdg-utils && \
     curl -L -o pandoc.deb https://github.com/jgm/pandoc/releases/download/2.9.2.1/pandoc-2.9.2.1-1-amd64.deb && \
     dpkg -i pandoc.deb && \
     rm pandoc.deb
@@ -21,7 +26,10 @@ ADD bin/* /usr/local/bin/
 RUN echo "Setup MdShow" && \
     mdshow setup && \
     ln -s /opt/mdshow/reveal.js/node_modules/gulp/bin/gulp.js /usr/bin/gulp && \
+    mkdir -p /opt/mdshow/theme && \
     chmod -R a+rwx /opt/mdshow && \
+    chmod -R a+rwx /opt/mdshow/reveal.js/css/theme/source && \
+    chmod -R a+rwx /opt/mdshow/reveal.js/dist/theme && \
     \
     echo "Cleanup" && \
     apt-get clean && \
diff --git a/bin/mdshow b/bin/mdshow
index 3f40da52001a7617e7ce7c5a47a5a5569ec867d9..ce86d38d1fd226116ae7d8a88b5ec44d8c6916dd 100755
--- a/bin/mdshow
+++ b/bin/mdshow
@@ -1,6 +1,6 @@
 #!/usr/bin/make -f
 # TODO: newer versions of env support this: !/usr/bin/env -S make -f
-# NOTE JH: switched for yarn npm, because yarn does not install node_modules/node-jp/bin
+# NOTE JH: switched from yarn to npm, because yarn does not install node_modules/node-jp/bin
 # Author: Jan Christoph Ebersbach <jceb@e-jc.de>
 # Copyright (c) 2020 Jan Christoph Ebersbach
 # License: Apache-2.0
@@ -138,6 +138,7 @@ sass: $(MDSHOW_CONFIG)/reveal.js \
 
 .sync-custom-themes: $(wildcard $(MDSHOW_CONFIG)/theme/*/source/*.scss)
 	@[ -n "$^" ] && rsync -u $^ $(MDSHOW_CONFIG)/reveal.js/css/theme/source/ || true
+	@[ -n "$^" ] && cd $(MDSHOW_CONFIG)/reveal.js && gulp css-themes || true
 
 .SECONDEXPANSION:
 .build-themes: $$(addprefix $(MDSHOW_CONFIG)/reveal.js/dist/theme/,$$(addsuffix .css,$$(basename $$(notdir $$(wildcard $(MDSHOW_CONFIG)/reveal.js/css/theme/source/*.scss)))))
@@ -152,7 +153,7 @@ $(MDSHOW_CONFIG)/theme/%/assets:
 	mkdir -p $@
 
 $(MDSHOW_CONFIG)/reveal.js/dist/theme/%: $(MDSHOW_CONFIG)/theme/%/assets
-	ln -s $< $@
+	@cp $@.css $<
 
 # {{{1 themes
 themes: $(MDSHOW_CONFIG)/reveal.js/dist $(wildcard $(MDSHOW_CONFIG)/reveal.js/dist/theme/*.css)
diff --git a/mdshow b/mdshow
index 55f539a5fd0b9e804385bf51d38426b2e4d51b0d..e4dab78b1da80ea15c5f9178f3a4935cf4d67021 100755
--- a/mdshow
+++ b/mdshow
@@ -1,3 +1,7 @@
 #!/bin/bash
 
-docker run --user=$(id -u) --rm -it --net=host --volume=$(pwd):/mdshow --workdir=/mdshow registry.lakedrops.com/docker/mdshow mdshow $@
+if [[ -n $MDSHOW_THEME_PATH ]]; then
+  THEME=--volume=${MDSHOW_THEME_PATH}:/opt/mdshow/theme/$(basename ${MDSHOW_THEME_PATH})
+fi
+
+docker run --user=$(id -u) --rm -it --net=host ${THEME} --volume=$(pwd):/mdshow --workdir=/mdshow registry.lakedrops.com/docker/mdshow mdshow $@