From 2d0e861fd0f9d7abed255cc673312dda96f59216 Mon Sep 17 00:00:00 2001 From: Aric Camarata Date: Mon, 14 Sep 2026 07:32:06 -0400 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20point=20MinIO=20at=20quay.io=20?= =?UTF-8?q?=E2=80=94=20the=20Docker=20Hub=20repository=20is=20gone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MinIO removed minio/minio from Docker Hub. The Hub API answers {"message":"object not found"} for the repository and every reference, digest pins included, returns 401 to anonymous and authenticated requests alike. This is production's storage service: the container keeps running from its local image, but any redeploy, restart with pull, or new box cannot fetch it. The pinned digest is unchanged and still exact. quay.io serves the same manifest bytes: a HEAD for RELEASE.2025-09-07T16-13-09Z there returns docker-content-digest sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e, byte-identical to the pin. Only the registry prefix changes, so the digest-pinning rationale in the comment above it still holds exactly. Upstream generator fix: nself-org/cli#424, which also adds a daily gate resolving every default image so a pin cannot rot unnoticed again. --- .github/wiki/Backend-Architecture.md | 2 +- backend/README.md | 2 +- backend/deploy/docker-compose.production.override.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/wiki/Backend-Architecture.md b/.github/wiki/Backend-Architecture.md index c13e291..e8dea17 100644 --- a/.github/wiki/Backend-Architecture.md +++ b/.github/wiki/Backend-Architecture.md @@ -50,7 +50,7 @@ The ɳTasks backend is a self-contained Docker Compose stack. It runs PostgreSQL | graphql-engine | `hasura/graphql-engine` | 8080 | GraphQL API + console | | auth | `nhost/hasura-auth` | 4000 | JWT signup, signin, password reset | | storage | `nhost/hasura-storage` | 8484 | S3-compatible upload, download, signed URLs | -| minio | `minio/minio` | 9000, 9001 | Object storage backend + admin UI | +| minio | `quay.io/minio/minio` | 9000, 9001 | Object storage backend + admin UI | | mailpit | `axllent/mailpit` | 8025 | Dev email capture (UI on 8025, SMTP on 1025) | | traefik | `traefik` | 80, 443 | HTTPS reverse proxy (staging/prod profiles) | diff --git a/backend/README.md b/backend/README.md index f923f23..c71fd8d 100644 --- a/backend/README.md +++ b/backend/README.md @@ -32,7 +32,7 @@ This directory contains everything needed to run a complete backend for your app | Hasura GraphQL Engine | `hasura/graphql-engine:v2.42.0` | 8080 | GraphQL API + Console | | Hasura Auth | `nhost/hasura-auth:0.32.1` | 4000 | Authentication (email, OAuth) | | Hasura Storage | `nhost/hasura-storage:0.6.1` | 8484 | S3-compatible file storage | -| MinIO | `minio/minio` | 9000/9001 | Object storage (S3-compatible) | +| MinIO | `quay.io/minio/minio` | 9000/9001 | Object storage (S3-compatible) | | Mailhog | `mailhog/mailhog` | 1025/8025 | Local email testing (dev only) | | Traefik | `traefik:v3.0` | 80/443 | Reverse proxy + HTTPS (staging/prod) | diff --git a/backend/deploy/docker-compose.production.override.yml b/backend/deploy/docker-compose.production.override.yml index dbef4a4..f763f75 100644 --- a/backend/deploy/docker-compose.production.override.yml +++ b/backend/deploy/docker-compose.production.override.yml @@ -32,7 +32,7 @@ services: minio: # Pinned by digest: `latest` on a stateful store means a restart can jump # versions silently. This digest is RELEASE.2025-09-07T16-13-09Z. - image: minio/minio@sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e + image: quay.io/minio/minio@sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e container_name: ntask_minio restart: unless-stopped command: server /data --console-address ":9001"