chore(next.config.js): make it possible to configure strapi cdn remote patterns

This commit is contained in:
Artur
2024-11-29 16:09:49 -03:00
parent 3c9f6e22cf
commit 5bdab90089
3 changed files with 25 additions and 3 deletions

View File

@@ -33,6 +33,7 @@ services:
container_name: app
restart: unless-stopped
environment:
NODE_ENV: production
APP_URL: https://donate.magicgrants.org
DATABASE_URL: ${DATABASE_URL}
@@ -41,6 +42,11 @@ services:
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
USER_SETTINGS_JWT_SECRET: ${USER_SETTINGS_JWT_SECRET}
STRAPI_CDN_PROTOCOL: https
STRAPI_CDN_HOST: ${STRAPI_CDN_HOST}
STRAPI_CDN_PORT: 443
STRAPI_CDN_PATHNAME: /
SMTP_HOST: email-smtp.us-east-2.amazonaws.com
SMTP_PORT: 587
SMTP_USER: ${SMTP_USER}

15
env.mjs
View File

@@ -15,6 +15,10 @@ export const env = createEnv({
STRAPI_API_URL: z.string().url(),
STRAPI_API_TOKEN: z.string().length(256),
STRAPI_CDN_PROTOCOL: z.string().min(1),
STRAPI_CDN_HOST: z.string().min(1),
STRAPI_CDN_PORT: z.string().min(1),
STRAPI_CDN_PATHNAME: z.string().min(1),
SMTP_HOST: z.string().min(1),
SMTP_PORT: z.string().min(1),
@@ -57,7 +61,8 @@ export const env = createEnv({
* 💡 You'll get type errors if these are not prefixed with NEXT_PUBLIC_.
*/
client: {
NEXT_PUBLIC_STRAPI_URL: z.string().url(),
NEXT_PUBLIC_STRAPI_URL:
process.env.NODE_ENV === 'production' ? z.string().url().optional() : z.string().url(),
NEXT_PUBLIC_MONERO_APPLICATION_RECIPIENT: z.string().email(),
NEXT_PUBLIC_FIRO_APPLICATION_RECIPIENT: z.string().email(),
NEXT_PUBLIC_PRIVACY_GUIDES_APPLICATION_RECIPIENT: z.string().email(),
@@ -78,6 +83,10 @@ export const env = createEnv({
NEXT_PUBLIC_STRAPI_URL: process.env.NEXT_PUBLIC_STRAPI_URL,
STRAPI_API_URL: process.env.STRAPI_API_URL,
STRAPI_API_TOKEN: process.env.STRAPI_API_TOKEN,
STRAPI_CDN_PROTOCOL: process.env.STRAPI_CDN_PROTOCOL,
STRAPI_CDN_HOST: process.env.STRAPI_CDN_HOST,
STRAPI_CDN_PORT: process.env.STRAPI_CDN_PORT,
STRAPI_CDN_PATHNAME: process.env.STRAPI_CDN_PATHNAME,
SMTP_HOST: process.env.SMTP_HOST,
SMTP_PORT: process.env.SMTP_PORT,
@@ -112,6 +121,8 @@ export const env = createEnv({
PRIVACY_GUIDES_APPLICATION_RECIPIENT: process.env.PRIVACY_GUIDES_APPLICATION_RECIPIENT,
GENERAL_APPLICATION_RECIPIENT: process.env.GENERAL_APPLICATION_RECIPIENT,
PRINTFUL_API_KEY: process.env.PRINTFUL_API_KEY,
NEXT_PUBLIC_MONERO_APPLICATION_RECIPIENT: process.env.NEXT_PUBLIC_MONERO_APPLICATION_RECIPIENT,
NEXT_PUBLIC_FIRO_APPLICATION_RECIPIENT: process.env.NEXT_PUBLIC_FIRO_APPLICATION_RECIPIENT,
NEXT_PUBLIC_PRIVACY_GUIDES_APPLICATION_RECIPIENT:
@@ -119,7 +130,7 @@ export const env = createEnv({
NEXT_PUBLIC_GENERAL_APPLICATION_RECIPIENT:
process.env.NEXT_PUBLIC_GENERAL_APPLICATION_RECIPIENT,
PRINTFUL_API_KEY: process.env.PRINTFUL_API_KEY,
NEXT_PUBLIC_STRAPI_CDN_URL: process.env.NEXT_PUBLIC_STRAPI_CDN_URL,
},
/**
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially

View File

@@ -4,7 +4,12 @@ const nextConfig = {
output: 'standalone',
images: {
remotePatterns: [
{ protocol: 'http', hostname: '172.17.0.1', port: '1337', pathname: '/uploads/*' },
{
protocol: process.env.STRAPI_CDN_PROTOCOL,
hostname: process.env.STRAPI_CDN_HOST,
port: process.env.STRAPI_CDN_PORT,
pathname: process.env.STRAPI_CDN_PATHNAME,
},
],
},
webpack: (config, options) => {