From b9ec8927c4a3e548f6a2043351cd86a35718494f Mon Sep 17 00:00:00 2001 From: "Andrey A." <56412611+aantti@users.noreply.github.com> Date: Wed, 18 Feb 2026 18:46:36 +0100 Subject: [PATCH] use chainguard images for minio and tidy up configs --- docker/docker-compose.s3.yml | 41 ++++++++++++++---------------------- docker/docker-compose.yml | 30 ++++++++++++++++---------- 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/docker/docker-compose.s3.yml b/docker/docker-compose.s3.yml index b7f8a2c70be..cb3e25c3e75 100644 --- a/docker/docker-compose.s3.yml +++ b/docker/docker-compose.s3.yml @@ -1,16 +1,16 @@ services: minio: - image: minio/minio - ports: - - '9000:9000' - - '9001:9001' + image: cgr.dev/chainguard/minio + #ports: + # - '9000:9000' + # - '9001:9001' environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} command: server --console-address ":9001" /data healthcheck: - test: [ "CMD", "curl", "-f", "http://minio:9000/minio/health/live" ] + test: [ "CMD", "mc", "ready", "local" ] interval: 2s timeout: 10s retries: 5 @@ -18,7 +18,7 @@ services: - ./volumes/storage:/data:z minio-createbucket: - image: minio/mc + image: cgr.dev/chainguard/minio-client:latest-dev depends_on: minio: condition: service_healthy @@ -30,7 +30,8 @@ services: storage: container_name: supabase-storage - image: supabase/storage-api:v1.37.1 + image: supabase/storage-api:v1.37.8 + restart: unless-stopped depends_on: db: # Disable this if you are using an external Postgres database @@ -41,6 +42,8 @@ services: condition: service_started minio-createbucket: condition: service_completed_successfully + minio: + condition: service_healthy healthcheck: test: [ @@ -54,7 +57,6 @@ services: timeout: 5s interval: 5s retries: 3 - restart: unless-stopped environment: ANON_KEY: ${ANON_KEY} SERVICE_KEY: ${SERVICE_ROLE_KEY} @@ -64,33 +66,22 @@ services: REQUEST_ALLOW_X_FORWARDED_PATH: "true" FILE_SIZE_LIMIT: 52428800 STORAGE_BACKEND: s3 + # S3 bucket when using S3 backend, directory name when using 'file' GLOBAL_S3_BUCKET: ${GLOBAL_S3_BUCKET} + # S3 Backend configuration GLOBAL_S3_ENDPOINT: http://minio:9000 GLOBAL_S3_PROTOCOL: http GLOBAL_S3_FORCE_PATH_STYLE: true AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER} AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD} - AWS_DEFAULT_REGION: stub - FILE_STORAGE_BACKEND_PATH: /var/lib/storage + #FILE_STORAGE_BACKEND_PATH: /var/lib/storage TENANT_ID: ${STORAGE_TENANT_ID} # TODO: https://github.com/supabase/storage-api/issues/55 REGION: ${REGION} ENABLE_IMAGE_TRANSFORMATION: "true" IMGPROXY_URL: http://imgproxy:5001 + # S3 protocol endpoint configuration S3_PROTOCOL_ACCESS_KEY_ID: ${S3_PROTOCOL_ACCESS_KEY_ID} S3_PROTOCOL_ACCESS_KEY_SECRET: ${S3_PROTOCOL_ACCESS_KEY_SECRET} - volumes: - - ./volumes/storage:/var/lib/storage:z - - imgproxy: - container_name: supabase-imgproxy - image: darthsim/imgproxy:v3.8.0 - healthcheck: - test: [ "CMD", "imgproxy", "health" ] - timeout: 5s - interval: 5s - retries: 3 - environment: - IMGPROXY_BIND: ":5001" - IMGPROXY_USE_ETAG: "true" - IMGPROXY_ENABLE_WEBP_DETECTION: ${IMGPROXY_ENABLE_WEBP_DETECTION} + #volumes: + # - ./volumes/storage:/var/lib/storage:z diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 70568224a1d..fc6dcb3729f 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -244,8 +244,14 @@ services: container_name: supabase-storage image: supabase/storage-api:v1.37.8 restart: unless-stopped - volumes: - - ./volumes/storage:/var/lib/storage:z + depends_on: + db: + # Disable this if you are using an external Postgres database + condition: service_healthy + rest: + condition: service_started + imgproxy: + condition: service_started healthcheck: test: [ @@ -259,14 +265,6 @@ services: timeout: 5s interval: 5s retries: 3 - depends_on: - db: - # Disable this if you are using an external Postgres database - condition: service_healthy - rest: - condition: service_started - imgproxy: - condition: service_started environment: ANON_KEY: ${ANON_KEY} SERVICE_KEY: ${SERVICE_ROLE_KEY} @@ -276,15 +274,25 @@ services: REQUEST_ALLOW_X_FORWARDED_PATH: "true" FILE_SIZE_LIMIT: 52428800 STORAGE_BACKEND: file + # S3 bucket when using S3 backend, directory name when using 'file' + GLOBAL_S3_BUCKET: ${GLOBAL_S3_BUCKET} + # S3 Backend configuration + #GLOBAL_S3_ENDPOINT: https://your-s3-endpoint + #GLOBAL_S3_PROTOCOL: https + #GLOBAL_S3_FORCE_PATH_STYLE: true + #AWS_ACCESS_KEY_ID: your-access-key-id + #AWS_SECRET_ACCESS_KEY: your-secret-access-key FILE_STORAGE_BACKEND_PATH: /var/lib/storage TENANT_ID: ${STORAGE_TENANT_ID} # TODO: https://github.com/supabase/storage-api/issues/55 REGION: ${REGION} - GLOBAL_S3_BUCKET: ${GLOBAL_S3_BUCKET} ENABLE_IMAGE_TRANSFORMATION: "true" IMGPROXY_URL: http://imgproxy:5001 + # S3 protocol endpoint configuration S3_PROTOCOL_ACCESS_KEY_ID: ${S3_PROTOCOL_ACCESS_KEY_ID} S3_PROTOCOL_ACCESS_KEY_SECRET: ${S3_PROTOCOL_ACCESS_KEY_SECRET} + volumes: + - ./volumes/storage:/var/lib/storage:z imgproxy: container_name: supabase-imgproxy