From 63d2dbc5b6b48153e460335d007a6cd83380d61d Mon Sep 17 00:00:00 2001 From: alma Date: Sun, 4 May 2025 14:06:58 +0200 Subject: [PATCH] pages s3 --- .env | 2 ++ lib/s3.ts | 27 ++++++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.env b/.env index 2771b2cc..9680282d 100644 --- a/.env +++ b/.env @@ -16,6 +16,8 @@ DOLIBARR_API_KEY=2znq976PzZz1q2JSe9DG2A3hmbNMGIh8 MINIO_S3_UPLOAD_BUCKET_URL="https://dome-api.slm-lab.net/" MINIO_AWS_REGION="eu-east-1" MINIO_AWS_S3_UPLOAD_BUCKET_NAME="pages" +MINIO_ACCESS_KEY="H2yRY0DGaxKPjqeWIUSq" +MINIO_SECRET_KEY="gbdrqJsXyU4IFxsfz9xdrnQeMRy2eZHeqQRrAeBR" NEXTCLOUD_URL=https://espace.slm-lab.net diff --git a/lib/s3.ts b/lib/s3.ts index 9d106e5a..32658462 100644 --- a/lib/s3.ts +++ b/lib/s3.ts @@ -5,19 +5,28 @@ import { getSignedUrl } from '@aws-sdk/s3-request-presigner'; const S3_BUCKET_URL = process.env.MINIO_S3_UPLOAD_BUCKET_URL || 'https://dome-api.slm-lab.net/'; const S3_REGION = process.env.MINIO_AWS_REGION || 'eu-east-1'; const S3_BUCKET_NAME = process.env.MINIO_AWS_S3_UPLOAD_BUCKET_NAME || 'pages'; +const S3_ACCESS_KEY = process.env.MINIO_ACCESS_KEY || process.env.AWS_ACCESS_KEY_ID; +const S3_SECRET_KEY = process.env.MINIO_SECRET_KEY || process.env.AWS_SECRET_ACCESS_KEY; -// Create S3 client with MinIO configuration -export const s3Client = new S3Client({ +// Basic client config without credentials +const s3Config = { region: S3_REGION, endpoint: S3_BUCKET_URL, forcePathStyle: true, // Required for MinIO - credentials: { - // Use anonymous credentials as MinIO is configured with Keycloak - // and we're using the policy you provided - accessKeyId: 'anonymous', - secretAccessKey: 'anonymous' - } -}); +}; + +// Add credentials if available +if (S3_ACCESS_KEY && S3_SECRET_KEY) { + Object.assign(s3Config, { + credentials: { + accessKeyId: S3_ACCESS_KEY, + secretAccessKey: S3_SECRET_KEY + } + }); +} + +// Create S3 client with MinIO configuration +export const s3Client = new S3Client(s3Config); // Helper functions for S3 operations