Overlayfs to Overlay2, Failed on Fresh Installation, storage driver

Error messages appear after ./discourse-setup and input hostname, smtp port, etc. according to official installation.

ENTER to continue, ‘n’ to try again, Ctrl+C to exit:
letsencrypt.ssl.template.yml enabled

Configuration file at containers/app.yml updated successfully!

Updates successful. Rebuilding in 5 seconds.
Building app
Your Docker installation is not using a supported storage driver. If we were to proceed you may have a broken install.
overlay2 is the recommended storage driver, although zfs and aufs may work as well.
Other storage drivers are known to be problematic.
You can tell what filesystem you are using by running “docker info” and looking at the ‘Storage Driver’ line.

If you wish to continue anyway using your existing unsupported storage driver,
read the source code of launcher and figure out how to bypass this check.

Storage Driver Overlayfs to overlay2

I have try and follow ask ai bot discourse and searching previous topic, such as:

But still does not work.

root 3085 0.0 0.0 6480 2372 pts/1 S+ 05:27 0:00 grep --color=auto 2658

Can Not Instal Docker

I have try change my vps providers into digitalocean, and two other vps provider but still failed.

I thought it was my vps provider problem but after I try fresh installation in digital ocean with some fresh droplet and official/standard installation, still failed. Then I change into another two different vps providers, same. :face_with_raised_eyebrow:

I thought it was my Ubuntu version, but after I try Ubuntu version 24, 22, 20, and 18 still failed.

Client: Docker Engine - Community
 Version:    29.0.2
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.30.0
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.40.3
    Path:     /usr/libexec/docker/cli-plugins/docker-compose
  model: Docker Model Runner (Docker Inc.)
    Version:  v1.0.0
    Path:     /usr/libexec/docker/cli-plugins/docker-model

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 3
 Server Version: 29.0.2
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: fcd43222d6b07379a4be9786bda52438f0dd16a1
 runc version: v1.3.3-0-gd842d771
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 5.15.0-161-generic
 Operating System: Ubuntu 22.04.5 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 2.407GiB
 Name: please-help-me
 ID: 398f33a7-2b49-4235-bcb9-4e1723a7bd81
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  ::1/128
  127.0.0.0/8
 Live Restore Enabled: false
 Firewall Backend: iptables

Anyone can help?

I can confirm this behavior on at least two sites I’ve set up recently. Something is wrong with git.docker.com and it fails to load overlay2 by default like it has for years.

Create /etc/docker/daemon.json with this content:

{
  "storage-driver": "overlay2"
}

then

sudo systemctl restart docker

It should work after that. You can check that it’s installed with

docker info --format '{{.Driver}}'
1 Like

Me too…

I mean, currently, something wrong in official discourse installation process.

I have try digitalocean with official installation but this error message appear. Then I move to another vps provider, same.

I hope, anyone who struggle on discourse fresh installation in this November 2025 :sweat_smile:, will find above solution :index_pointing_up:

This is my third day struggling :tired_face: and done.

Thank you very much Mr. Jay :folded_hands:

Well, it’s docker’s fault. I keep thinking that they’ll fix it, but until I notice that they do, all of my installs create that file so I don’t have to worry about it.

I complained about it here:

1 Like

Docker uses a new default storage driver for v29.0+

Docker Engine 29.0 and later uses the containerd image store by default for fresh installations. The containerd image store uses snapshotters instead of the classic storage drivers described on this page. If you’re running a fresh installation of Docker Engine 29.0 or later, or if you’ve migrated to the containerd image store, this page provides background on how image layers work but the implementation details differ. For information about the containerd image store, see containerd image store.

1 Like

so then from what I’m understanding, we just need to also look for and include overlayfs?

PR for that here:

I don’t know. I didn’t test whether overlay would work. At some point, it didn’t, and that’s why it’s a requirement. It didn’t occur to me that it’s no longer a requirement.

Oh.

containerd image store seems to report as overlayfs, so we should allow for this string as well.