Announcing Official Podman Support for Specify 7

We’re excited to announce that Specify 7 now officially supports Podman as a production deployment platform. For the past 5 years, Docker has been our recommended deployment method of choice for Specify 7. We are expanding our supported installation options to formally include Podman, giving our community more flexibility and choice in how they deploy and run Specify.

This includes two new ready-to-use configurations for both all-in-one and Specify Cloud deployment schemes.

Why Podman?

We received feedback from several member institutions, including the Florida Museum and Laurentian Forestry Centre, as well as from the Technical Advisory Committee. They indicated that Podman is the preferred approach for their institutions, especially for those using Red Hat Enterprise Linux (RHEL). In some cases, Docker is not permitted, resulting in local installations that are harder to support and maintain.

Podman offers several advantages including:

  • Rootless containers – Enhanced security with daemonless architecture (Docker offers a similar approach here)
  • Docker compatibility – Drop-in replacement for Docker workflows
  • Open source – Community-driven development

Getting Started

[!question] Important
You must have access to the docker-compositions repository on GitHub to access these resources.

:incoming_envelope: Click here to request access or email support@specifysoftware.org with your GitHub username, member institution or collection, and any additional questions or notes for us!

Ready to deploy Specify 7 with Podman? Check out our new documentation:

2 Likes

Just a quick note—my two cents:

Alternative: Instead of using a Docker Compose file to manage Specify 7 deployments in my rootless Podman setup, I’ve opted to use podman pods and Makefile. This approach lets containers within a pod share the same network namespace, which simplifies service-to-service communication and makes port mapping more straightforward and centralized.

Currently, I have three separate Specify 7 instances, each running in its own pod, all connected to a shared MariaDB pod. That MariaDB pod hosts three distinct databases—one for each Specify instance.

To replicate the simplicity of Docker Compose for managing containers, I’m using a simple Makefile configuration to handle pod and container start, stop, and delete operations.

2 Likes