How to run ERPNext using Podman?

Podman is a container engine that comes by default in Fedora and its derivatives like RHEL, CentOS Stream, RockyLinux etc.

We are setting up Frappe/ERPNext using docker-compose and performing a single-bench install.

In order to do this we have installed the following packages on Fedora 34

  1. podman
  2. podman-plugins
  3. dnsmasq
  4. podman-docker (emulates docker API for podman)
  5. docker-compose (compose-spec.io)

Podman is daemonless. In order to get docker-compose to work, we enable the systemd podman.socket service.

$ sudo systemctl enable --now podman.socket

Now we go to the frappe_docker cloned repository on our system, where we edit the traefik section of docker-compose.yaml to add

security_opt:
  - label=disable

This prevents podman from adding SELinux label to the traefik container. Without these steps, the reverse proxy will not work.

Now, the next issue that comes is that Podman troubleshooting guide suggests using :z volume mount option while sharing a volume between multiple containers. So, the docker-compose.yaml was updated to reflect these changes.

Despite these steps, the container cannot create the required configurations and shows ‘Permission denied’ error.

Please tell me what are we missing while installing Frappe/ERPNext.