diff --git a/lib/s3.ts b/lib/s3.ts index 177f538..7c41bcc 100644 --- a/lib/s3.ts +++ b/lib/s3.ts @@ -2,17 +2,20 @@ import { S3Client, PutObjectCommand, GetObjectCommand, DeleteObjectCommand, List import { getSignedUrl } from '@aws-sdk/s3-request-presigner'; // S3 Configuration +// Uses existing MINIO_* environment variables that are shared across the application export const S3_CONFIG = { - endpoint: process.env.S3_ENDPOINT || process.env.MINIO_S3_UPLOAD_BUCKET_URL || 'https://dome-api.slm-lab.net', - region: process.env.S3_REGION || process.env.MINIO_AWS_REGION || 'us-east-1', - bucket: process.env.S3_BUCKET || 'pages', - accessKey: process.env.S3_ACCESS_KEY || process.env.MINIO_ACCESS_KEY || '', - secretKey: process.env.S3_SECRET_KEY || process.env.MINIO_SECRET_KEY || '' + // Remove trailing slash from endpoint if present + endpoint: (process.env.MINIO_S3_UPLOAD_BUCKET_URL || process.env.S3_ENDPOINT || 'https://dome-api.slm-lab.net').replace(/\/$/, ''), + region: process.env.MINIO_AWS_REGION || process.env.S3_REGION || 'us-east-1', + // Use MINIO_AWS_S3_UPLOAD_BUCKET_NAME for pages bucket (shared with other parts of the app) + bucket: process.env.MINIO_AWS_S3_UPLOAD_BUCKET_NAME || process.env.S3_BUCKET || 'pages', + accessKey: process.env.MINIO_ACCESS_KEY || process.env.S3_ACCESS_KEY || '', + secretKey: process.env.MINIO_SECRET_KEY || process.env.S3_SECRET_KEY || '' }; // Validate required S3 configuration if (!S3_CONFIG.accessKey || !S3_CONFIG.secretKey) { - console.error('⚠️ S3 credentials are missing! Please set S3_ACCESS_KEY and S3_SECRET_KEY environment variables.'); + console.error('⚠️ S3 credentials are missing! Please set MINIO_ACCESS_KEY and MINIO_SECRET_KEY environment variables.'); if (process.env.NODE_ENV === 'production') { throw new Error('S3 credentials are required in production environment'); }