# MinIO для локальной разработки: официальный бинарник релиза
# RELEASE.2024-07-26T20-48-21Z (AGPLv3, открытый код).
#
# Собираем сами, а не тянем minio/minio: на Docker Hub репозиторий
# архивирован — все теги, включая старые, отвечают 401, зеркала не
# помогают, а dl.min.io больше не отдаёт архив. Источник — официальные
# assets GitHub-релиза minio/minio; хеш сверен с мини-файлом
# minio.linux-amd64.<tag>.sha256sum того же релиза.
FROM alpine:3.19

ARG MINIO_RELEASE=RELEASE.2024-07-26T20-48-21Z
# sha256 официального asset minio.linux-amd64.RELEASE.2024-07-26T20-48-21Z.
ARG MINIO_SHA256=0956c4ad6fbbbd27bfbc73b82c2689703735ebeb2abd509ebbd8723345da35fd

# curl+ca-certificates — только на время скачивания: наружу остаётся
# один бинарник (минимум слоёв и лишних пакетов в образе).
RUN apk add --no-cache ca-certificates curl \
 && curl -fsSL -o /usr/local/bin/minio \
      "https://github.com/minio/minio/releases/download/${MINIO_RELEASE}/minio.linux-amd64.${MINIO_RELEASE}" \
 && echo "${MINIO_SHA256}  /usr/local/bin/minio" | sha256sum -c - \
 && chmod 0755 /usr/local/bin/minio \
 && apk del curl

EXPOSE 9000 9001
# Аргументы `server …` приходят из compose (command:).
ENTRYPOINT ["/usr/local/bin/minio"]
