mirror of
https://github.com/coollabsio/coolify.git
synced 2026-09-26 01:10:30 -04:00
chore(docker): pin AIStor MinIO client release
This commit is contained in:
@@ -99,3 +99,4 @@
|
||||
## Trace image replacements through build stages
|
||||
- When replacing a container image for development, inspect both Compose services and every development Dockerfile `FROM` stage.
|
||||
- A successful Compose pull does not prove the application build is free of the old image; validate the complete build dependency chain.
|
||||
- Do not replace a removed image with a floating `latest` tag. Find the newest stable release tag and pin it consistently in Compose and every Dockerfile stage.
|
||||
|
||||
@@ -162,7 +162,7 @@ services:
|
||||
networks:
|
||||
- coolify
|
||||
# maxio-init:
|
||||
# image: quay.io/minio/aistor/mc:latest
|
||||
# image: quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z
|
||||
# pull_policy: always
|
||||
# container_name: coolify-maxio-init
|
||||
# restart: no
|
||||
@@ -182,7 +182,7 @@ services:
|
||||
# networks:
|
||||
# - coolify
|
||||
minio-init:
|
||||
image: quay.io/minio/aistor/mc:latest
|
||||
image: quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z
|
||||
pull_policy: always
|
||||
container_name: coolify-minio-init
|
||||
restart: no
|
||||
|
||||
@@ -195,7 +195,7 @@ services:
|
||||
|
||||
minio-init:
|
||||
profiles: ["minio"]
|
||||
image: quay.io/minio/aistor/mc:latest
|
||||
image: quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z
|
||||
pull_policy: always
|
||||
restart: "no"
|
||||
depends_on:
|
||||
|
||||
@@ -150,7 +150,7 @@ services:
|
||||
networks:
|
||||
- coolify
|
||||
minio-init:
|
||||
image: quay.io/minio/aistor/mc:latest
|
||||
image: quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z
|
||||
pull_policy: always
|
||||
container_name: coolify-minio-init
|
||||
restart: no
|
||||
|
||||
@@ -15,11 +15,7 @@ ARG NIXPACKS_VERSION=1.41.0
|
||||
ARG RAILPACK_VERSION=0.23.0
|
||||
# https://github.com/jdx/mise/releases — must match railpack's pinned version (https://raw.githubusercontent.com/railwayapp/railpack/refs/heads/main/core/mise/version.txt)
|
||||
ARG MISE_VERSION=2026.3.17
|
||||
# https://github.com/minio/mc/releases
|
||||
ARG MINIO_VERSION=RELEASE.2025-08-13T08-35-41Z
|
||||
|
||||
|
||||
FROM minio/mc:${MINIO_VERSION} AS minio-client
|
||||
FROM quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z AS minio-client
|
||||
|
||||
FROM ${BASE_IMAGE} AS base
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ ARG NGINX_VERSION=1.31.2-r1
|
||||
# =================================================================
|
||||
# Get MinIO client
|
||||
# =================================================================
|
||||
FROM quay.io/minio/aistor/mc:latest AS minio-client
|
||||
FROM quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z AS minio-client
|
||||
|
||||
# =================================================================
|
||||
# Final Stage: Production image
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
# Versions
|
||||
# https://hub.docker.com/r/serversideup/php/tags?name=8.4-fpm-nginx-alpine
|
||||
ARG SERVERSIDEUP_PHP_VERSION=8.4-fpm-nginx-alpine
|
||||
# https://github.com/minio/mc/releases
|
||||
ARG MINIO_VERSION=RELEASE.2025-08-13T08-35-41Z
|
||||
# https://github.com/cloudflare/cloudflared/releases
|
||||
ARG CLOUDFLARED_VERSION=2026.7.3
|
||||
# https://www.postgresql.org/support/versioning/
|
||||
@@ -63,7 +61,7 @@ RUN npm run build
|
||||
# =================================================================
|
||||
# Stage 3: Get MinIO client
|
||||
# =================================================================
|
||||
FROM minio/mc:${MINIO_VERSION} AS minio-client
|
||||
FROM quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z AS minio-client
|
||||
|
||||
# =================================================================
|
||||
# Final Stage: Production image
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
<?php
|
||||
|
||||
it('pins the same MinIO client release in every Coolify image', function () {
|
||||
$dockerfiles = [
|
||||
it('pins the AIStor MinIO client release in every Coolify image', function () {
|
||||
$imageFiles = [
|
||||
dirname(__DIR__, 2).'/docker/production/Dockerfile',
|
||||
dirname(__DIR__, 2).'/docker/development/Dockerfile',
|
||||
dirname(__DIR__, 2).'/docker/coolify-helper/Dockerfile',
|
||||
dirname(__DIR__, 2).'/docker-compose.dev.yml',
|
||||
dirname(__DIR__, 2).'/docker-compose.dev-multi.yml',
|
||||
dirname(__DIR__, 2).'/docker-compose-maxio.dev.yml',
|
||||
];
|
||||
|
||||
$versions = collect($dockerfiles)->map(function (string $dockerfile): string {
|
||||
$contents = file_get_contents($dockerfile);
|
||||
foreach ($imageFiles as $imageFile) {
|
||||
$contents = file_get_contents($imageFile);
|
||||
|
||||
expect(preg_match('/^ARG MINIO_VERSION=(.+)$/m', $contents, $matches))->toBe(1);
|
||||
|
||||
return $matches[1];
|
||||
});
|
||||
|
||||
expect($versions->unique()->values()->all())
|
||||
->toBe(['RELEASE.2025-08-13T08-35-41Z']);
|
||||
expect($contents)
|
||||
->toContain('quay.io/minio/aistor/mc:RELEASE.2026-09-06T02-44-40Z')
|
||||
->not->toContain('quay.io/minio/aistor/mc:latest')
|
||||
->not->toContain('minio/mc:');
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user