Merge remote-tracking branch 'origin/main' into next

This commit is contained in:
github-actions[bot]
2026-09-14 11:33:22 +00:00
8 changed files with 20 additions and 24 deletions
+1
View File
@@ -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.
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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:
+1 -1
View File
@@ -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
+1 -5
View File
@@ -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
+1 -1
View File
@@ -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 -3
View File
@@ -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
+12 -11
View File
@@ -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:');
}
});