DEPRECATED - unmaintained. See convoy-postgres for maintained multi-arch builds. Tags stay up.
2.8K
This repository contains Docker builds as a near direct clone of the official PostGIS builds.
⚠️ DEPRECATED — no longer maintained
These images were a stop-gap: I needed arm64 PostGIS containers before the official images offered them. I am no longer actively maintaining them.
Existing tags stay published and pullable. Nothing here is being deleted, so anything already pinned to
markfrommn/postgiskeeps working. But there will be no new tags, no rebuilds, and no security patching — please migrate.Note that the new repo is currently Postgres 18 only. I'm not sure if I will get to backfilling with v17 or v16.
If you came here for arm64 PostGIS: as of 2026-07-29 the official
postgis/postgisimages are still amd64-only, so that gap has not closed. Your options:
convoy-postgres— my maintained successor, and a drop-in PostGIS image. Multi-arch (amd64 + arm64), keyless-cosign signed, with SBOM and provenance attestations. It also bundles pgmq, which you can simply not install if you don't want it:docker pull ghcr.io/convoyai-public/convoy-postgres:18-3.6-pgmq1.10- Build your own from postgis/docker-postgis. As the original note below says: the PostGIS team makes it pretty darn easy.
See my post on LI for more details ( https://www.linkedin.com/feed/update/urn:li:share:7432638300466880512/ ) - but the TL;DR is I wanted/needed arm64 PostGIS containers so I could work on the road on my MBP. The official builds aren't there yet - close hopefully - but not quite yet.
These builds were done with a pull at commit c902fcae52c858a7537e9cbb8215c80912bc87ee https://github.com/postgis/docker-postgis.git with the following patch and a make -k (one regression test seems to be chronically flakey).
Trust me and use these, or don't and build them yourself...the PostGIS team makes it pretty darn easy.
---
diff --git a/Makefile b/Makefile
index 54e2d75..e2e29b2 100644
--- a/Makefile
+++ b/Makefile
@@ -76,12 +76,14 @@ update:
define build-version
build-$1:
ifeq ($(do_default),true)
- $(DOCKER) build --pull -t $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1) $1
+# $(DOCKER) build --pull -t $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1) $1
+ $(DOCKER) buildx build --platform linux/amd64,linux/arm64 --pull -t $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1) $1
$(DOCKER) images $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1)
endif
ifeq ($(do_alpine),true)
ifneq ("$(wildcard $1/alpine)","")
- $(DOCKER) build --pull -t $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1)-alpine $1/alpine
+# $(DOCKER) build --pull -t $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1)-alpine $1/alpine
+ $(DOCKER) buildx build --platform linux/amd64,linux/arm64 --pull -t $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1)-alpine $1/alpine
$(DOCKER) images $(REPO_NAME)/$(IMAGE_NAME):$(shell echo $1)-alpine
endif
endif
@@ -138,11 +140,11 @@ $(foreach version,$(VERSIONS),$(eval $(call push-version,$(version))))
push-latest: tag-latest $(PUSH_LATEST_DEP)
$(DOCKER) image push $(REPO_NAME)/$(IMAGE_NAME):latest
@$(DOCKER) run -v "$(PWD)":/workspace \
- -e DOCKERHUB_USERNAME='$(DOCKERHUB_USERNAME)' \
- -e DOCKERHUB_PASSWORD='$(DOCKERHUB_ACCESS_TOKEN)' \
-e DOCKERHUB_REPOSITORY='$(REPO_NAME)/$(IMAGE_NAME)' \
-e README_FILEPATH='/workspace/README.md' $(DOCKERHUB_DESC_IMG)
+# -e DOCKERHUB_USERNAME='$(DOCKERHUB_USERNAME)' \
+# -e DOCKERHUB_PASSWORD='$(DOCKERHUB_ACCESS_TOKEN)' \
Content type
Image
Digest
sha256:8f8f3eba2…
Size
169.7 MB
Last updated
7 months ago
docker pull markfrommn/postgis:18-3.6-alpine