diff --git a/devops/docker/Dockerfile b/devops/docker/Dockerfile
index bdede0dcbf47407cc1c38304376b34a70e06d798..938dfee80230fdc5c41fbab555a4fa480e731f92 100644
--- a/devops/docker/Dockerfile
+++ b/devops/docker/Dockerfile
@@ -1,7 +1,76 @@
-FROM fpco/stack-build:lts-18.18
+FROM ubuntu:focal
 
-#RUN apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 8B1DA6120C2BF624
+ARG DEBIAN_FRONTEND=noninteractive
+ENV TZ=Europe/Rome
 RUN apt-get update && \
-    apt-get install -y ca-certificates git libigraph0-dev && \
-    rm -rf /var/lib/apt/lists/*
+    apt-get install --no-install-recommends -y \
+      apt-transport-https \
+      autoconf \
+      automake \
+      build-essential \
+      ca-certificates \
+      curl \
+      gcc \
+      git \
+      gnupg2 \
+      libffi-dev \
+      libffi7 \
+      libgmp-dev \
+      libgmp10 \
+      libncurses-dev \
+      libncurses5 \
+      libnuma-dev \
+      libtinfo5 \
+      locales \
+      lsb-release \
+      software-properties-common \
+      sudo \
+      wget \
+      xz-utils \
+      zlib1g-dev && \
+    apt-get clean && rm -rf /var/lib/apt/lists/* && \
+    mkdir -m 0755 /nix && groupadd -r nixbld && chown root /nix && \
+    for n in $(seq 1 10); do useradd -c "Nix build user $n" -d /var/empty -g nixbld -G nixbld -M -N -r -s "$(command -v nologin)" "nixbld$n"; done
+RUN gpg --batch --keyserver keys.openpgp.org     --recv-keys 7D1E8AFD1D4A16D71FADA2F2CCC85C0E40C06A8C
+RUN gpg --batch --keyserver keyserver.ubuntu.com --recv-keys FE5AB6C91FEA597C3B31180B73EDE9E8CFBAEF01
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN set -o pipefail && curl -L https://releases.nixos.org/nix/nix-2.11.0/install | bash
 
+# Fixes locale-related issues: https://gitlab.haskell.org/ghc/ghc/-/issues/8118
+RUN locale-gen en_US.UTF-8
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+
+ENV USER=root
+ENV SHELL /bin/bash
+RUN . "$HOME/.nix-profile/etc/profile.d/nix.sh" && \
+    mkdir "$HOME/gargantext/" && \
+    echo "source $HOME/.nix-profile/etc/profile.d/nix.sh" >> "$HOME/.bashrc" && \
+    echo `which nix-env`
+
+ENV PATH=/root/.nix-profile/bin:$PATH
+
+RUN . $HOME/.bashrc && nix-env --version
+
+RUN \
+curl https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup && \
+    chmod +x /usr/bin/ghcup && \
+    ghcup config set gpg-setting GPGLax
+
+ARG GHC=8.10.7
+ARG STACK=2.7.3
+ARG CABAL=3.10.1.0
+
+# install GHC, stack and cabal
+RUN \
+    ghcup -v install ghc --force ${GHC} && \
+    ghcup -v install cabal --force ${CABAL} && \
+    ghcup -v install stack --force ${STACK}
+
+ENV PATH=/root/.ghcup/bin:$PATH
+ENV PATH=/root/.local/bin:$PATH
+
+RUN ghcup set 8.10.7 && ghc --version
+
+RUN cabal v2-update && cabal v2-install hpack --overwrite-policy=always
+
+WORKDIR "$HOME/gargantext/"