Files
mintel.me/apps/web/src/lib/env.ts
Marc Mintel 76e25d03b9
All checks were successful
Build & Deploy / 🔍 Prepare (push) Successful in 10s
Build & Deploy / 🏗️ Build (push) Successful in 23m32s
Build & Deploy / 🚀 Deploy (push) Successful in 2m25s
Build & Deploy / 🧪 QA (push) Successful in 3m50s
Build & Deploy / 🧪 Post-Deploy Verification (push) Successful in 4m49s
Build & Deploy / 🔔 Notify (push) Successful in 3s
fix(web): rename mail env vars and pass build context to Dockerfile to fix CMS white screen
2026-04-01 11:16:05 +02:00

40 lines
1.1 KiB
TypeScript

import { z } from "zod";
import { validateMintelEnv } from "@mintel/next-utils";
/**
* Environment variable schema extension.
*/
const envExtension = {
// Mail Configuration
MAIL_HOST: z.string().optional(),
MAIL_PORT: z.coerce.number().optional().default(587),
MAIL_USERNAME: z.string().optional(),
MAIL_PASSWORD: z.string().optional(),
MAIL_FROM: z.string().optional().default("marc@mintel.me"),
MAIL_RECIPIENTS: z.string().optional().default("marc@mintel.me"),
// Analytics (Server-side)
UMAMI_WEBSITE_ID: z.string().optional(),
UMAMI_API_ENDPOINT: z
.string()
.url()
.optional()
.default("https://analytics.infra.mintel.me"),
// S3 Storage (Required for importMap at build-time)
S3_ENDPOINT: z.string().optional(),
S3_ACCESS_KEY: z.string().optional(),
S3_SECRET_KEY: z.string().optional(),
S3_BUCKET: z.string().optional(),
S3_REGION: z.string().optional(),
S3_PREFIX: z.string().optional(),
// Error Tracking
SENTRY_DSN: z.string().optional(),
};
/**
* Validated environment object.
*/
export const env = validateMintelEnv(envExtension);