From 5660502b21843b0c0b6b2250bcd10e76d9710e6b Mon Sep 17 00:00:00 2001 From: johnhkchen Date: Wed, 22 Oct 2025 14:04:29 -0700 Subject: [PATCH] Configure Directus to use MinIO S3 for file storage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace local directus_uploads volume with S3 - Add MinIO credentials to environment config - Files now stored in s3.b28.dev/directus-uploads - Enables shared media access across all demos 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .env.example | 5 +++++ docker-compose.yml | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index cdfa24e..49a897e 100644 --- a/.env.example +++ b/.env.example @@ -17,3 +17,8 @@ DIRECTUS_SECRET=your_directus_secret_here # For local: http://localhost:8055 # For Coolify: https://directus.yourdomain.com PUBLIC_URL=http://localhost:8055 + +# MinIO S3 Storage Configuration +# These credentials should match your MinIO root user +MINIO_ACCESS_KEY=your_minio_access_key +MINIO_SECRET_KEY=your_minio_secret_key diff --git a/docker-compose.yml b/docker-compose.yml index 713456b..6de97bb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,8 +55,18 @@ services: CORS_ENABLED: "true" CORS_ORIGIN: "true" + # Storage - MinIO S3 + STORAGE_LOCATIONS: "s3" + STORAGE_S3_DRIVER: "s3" + STORAGE_S3_KEY: ${MINIO_ACCESS_KEY} + STORAGE_S3_SECRET: ${MINIO_SECRET_KEY} + STORAGE_S3_BUCKET: "directus-uploads" + STORAGE_S3_REGION: "us-east-1" + STORAGE_S3_ENDPOINT: "https://s3.b28.dev" + STORAGE_S3_FORCE_PATH_STYLE: "true" + volumes: - - directus_uploads:/directus/uploads + # Note: directus_uploads volume removed - using S3 instead - directus_extensions:/directus/extensions expose: @@ -72,7 +82,6 @@ services: volumes: postgres_data: name: directus_postgres_data - directus_uploads: - name: directus_uploads + # directus_uploads removed - using MinIO S3 instead directus_extensions: name: directus_extensions