diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cc1016a2cd3b43c6530edfe0cfbde714f008dbc7..f26089e95823132a1dd3d5405682955fd932a3ae 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,4 @@
-#image: ubuntu:artful
-image: debian:testing-slim
+image: parras/nifty:latest
 
 stages:
   - test
@@ -11,11 +10,8 @@ variables:
 test_python2:
   stage: test
   script:
-    - apt-get update > /dev/null
-    - apt-get install -y git libfftw3-dev openmpi-bin libopenmpi-dev python python-pip python-dev python-nose python-numpy python-matplotlib python-future python-mpi4py python-scipy > /dev/null
-    - pip install --process-dependency-links parameterized coverage git+https://gitlab.mpcdf.mpg.de/ift/pyHealpix.git > /dev/null
     - pip install --user .
-    - OMP_NUM_THREADS=1 mpiexec --allow-run-as-root -n 2 nosetests -q 2>/dev/null
+    - OMP_NUM_THREADS=1 mpiexec -n 2 nosetests -q 2>/dev/null
     - nosetests -q --with-coverage --cover-package=nifty4 --cover-branches --cover-erase
     - >
       coverage report | grep TOTAL | awk '{ print "TOTAL: "$6; }'
@@ -23,18 +19,13 @@ test_python2:
 test_python3:
   stage: test
   script:
-    - apt-get update > /dev/null
-    - apt-get install -y git libfftw3-dev openmpi-bin libopenmpi-dev python3 python3-pip python3-dev python3-nose python3-numpy python3-matplotlib python3-future python3-mpi4py python3-scipy > /dev/null
-    - pip3 install --process-dependency-links parameterized git+https://gitlab.mpcdf.mpg.de/ift/pyHealpix.git > /dev/null
     - pip3 install --user .
     - nosetests3 -q
-    - OMP_NUM_THREADS=1 mpiexec --allow-run-as-root -n 2 nosetests3 -q 2>/dev/null
+    - OMP_NUM_THREADS=1 mpiexec -n 2 nosetests3 -q 2>/dev/null
 
 pages:
   stage: release
   script:
-    - apt-get update > /dev/null
-    - apt-get install -y git libfftw3-dev python python-pip python-dev python-numpy python-future python-sphinx python-sphinx-rtd-theme python-numpydoc > /dev/null
     - pip install --user .
     - sh docs/generate.sh > /dev/null
     - mv docs/build/ public/
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..3fc7ecbbf31570ec4d8bf5b44f4b275bb262ee75
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,17 @@
+FROM debian:testing-slim
+
+RUN apt-get update
+
+# Debian package installations
+RUN apt-get install -y git libfftw3-dev openmpi-bin libopenmpi-dev python python-pip python-dev python-nose python-numpy python-matplotlib python-future python-mpi4py python-scipy
+RUN apt-get install -y python3 python3-pip python3-dev python3-nose python3-numpy python3-matplotlib python3-future python3-mpi4py python3-scipy
+RUN apt-get install -y python-sphinx python-sphinx-rtd-theme python-numpydoc
+
+# Python module installations
+RUN pip install parameterized coverage pyfftw git+https://gitlab.mpcdf.mpg.de/ift/pyHealpix.git
+RUN pip3 install parameterized coverage pyfftw git+https://gitlab.mpcdf.mpg.de/ift/pyHealpix.git
+
+# Create user (openmpi does not like to be run as root)
+RUN useradd -ms /bin/bash testinguser
+USER testinguser
+WORKDIR /home/testinguser