Support for additional S3 providers (#71)

* support for other s3 providers

* remove redundant route options

* use type safe env

* prettier
This commit is contained in:
Mert Demir
2024-02-01 07:00:19 +09:00
committed by GitHub
parent e6467b41fc
commit 08d75fd75c
5 changed files with 35 additions and 10 deletions

View File

@@ -1,14 +1,27 @@
/**
* Undefined entries are not supported. Push optional patterns to this array only if defined.
* @type {import('next/dist/shared/lib/image-config').RemotePattern}
*/
const remotePatterns = []
// S3 Storage
if (process.env.S3_UPLOAD_ENDPOINT) {
// custom endpoint for providers other than AWS
const url = new URL(process.env.S3_UPLOAD_ENDPOINT);
remotePatterns.push({
hostname: url.hostname,
})
} else if (process.env.S3_UPLOAD_BUCKET && process.env.S3_UPLOAD_REGION) {
// default provider
remotePatterns.push({
hostname: `${process.env.S3_UPLOAD_BUCKET}.s3.${process.env.S3_UPLOAD_REGION}.amazonaws.com`,
})
}
/** @type {import('next').NextConfig} */
const nextConfig = {
images: {
remotePatterns:
process.env.S3_UPLOAD_BUCKET && process.env.S3_UPLOAD_REGION
? [
{
hostname: `${process.env.S3_UPLOAD_BUCKET}.s3.${process.env.S3_UPLOAD_REGION}.amazonaws.com`,
},
]
: [],
remotePatterns
},
}