Enhance Dockerfile and Redis configuration for improved build-time handling

- Added environment variables in Dockerfile for build-time placeholders, ensuring proper static analysis during the build process.
- Updated Redis initialization in redis.ts to include lazy connection, preventing network access during module import and improving error handling with a console log for connection errors.
This commit is contained in:
smueller
2026-07-22 14:15:52 +02:00
parent 6a155597ce
commit 59b3ccb0ca
2 changed files with 32 additions and 2 deletions

View File

@@ -3,8 +3,19 @@ import { env } from './env';
const globalForRedis = globalThis as unknown as { __nexumiRedis?: Redis };
export const redis: Redis = globalForRedis.__nexumiRedis ?? new Redis(env.REDIS_URL, {
maxRetriesPerRequest: 3
export const redis: Redis =
globalForRedis.__nexumiRedis ??
new Redis(env.REDIS_URL, {
maxRetriesPerRequest: 3,
// Defer the actual TCP connection until the first command is issued.
// This keeps module import side-effect free, which matters for
// Next.js's build-time "collect page data" step (no network access
// there) and avoids unhandled 'error' events on unreachable hosts.
lazyConnect: true
});
redis.on('error', (error) => {
console.error('[redis]', error.message);
});
if (env.NODE_ENV !== 'production') {