Hello, switched storage driver to devicemapper (direct-lvm) and Discourse refuses to rebuild, why devicemapper option is filtered since it is one of the proper production setups. Do not confuse with loop-lvm, where loop devices are created in filesystem, they have terrible performance. The direct-lvm uses hard drive directly, without interaction with host filesystem.
More info here Use the Device Mapper storage driver | Docker Documentation
In general, most suitable options for storage should be overlay2, devicemapper (direct-lvm mode) and btrfs. The first one is default one, good performance, reliable. The devicemapper and btrfs gives ability to snapshot the data, easier to manage backups. Also devicemapper is good for write heavy operations, btrfs has superior performance but not all systems support it.
Simple fix for now to allow devicemapper, can I open PR ?
diff --git a/launcher b/launcher
index 9d44cda..ec2964a 100755
--- a/launcher
+++ b/launcher
@@ -136,7 +136,7 @@ check_prereqs() {
fi
# 2. running an approved storage driver?
- if ! $docker_path info 2> /dev/null | egrep -q '^Storage Driver: (aufs|btrfs|zfs|overlay|overlay2)$'; then
+ if ! $docker_path info 2> /dev/null | egrep -q '^Storage Driver: (aufs|btrfs|zfs|overlay|overlay2|devicemapper)$'; then
echo "Your Docker installation is not using a supported storage driver. If we were to proceed you may have a broken install."
echo "aufs is the recommended storage driver, although zfs/btrfs/overlay and overlay2 may work as well."
echo "Other storage drivers are known to be problematic."