2025-05-16 15:54:17 +02:00
|
|
|
import { createEnv } from "@t3-oss/env-nextjs";
|
|
|
|
|
import { z } from "zod";
|
|
|
|
|
import packageJson from "../package.json" with { type: "json" };
|
|
|
|
|
|
|
|
|
|
const { version } = packageJson;
|
2024-11-03 21:12:40 +01:00
|
|
|
|
|
|
|
|
export const env = createEnv({
|
|
|
|
|
server: {
|
2025-05-16 15:54:17 +02:00
|
|
|
NODE_ENV: z.enum(["development", "production"]).optional(),
|
2024-12-31 16:52:44 +01:00
|
|
|
DATABASE_URL: z.string().url().optional(),
|
2025-05-16 15:54:17 +02:00
|
|
|
NEXT_PUBLIC_PROJECT_NAME: z.string().optional(),
|
|
|
|
|
NEXT_PUBLIC_PROJECT_DESCRIPTION: z.string().optional(),
|
2025-07-17 13:22:56 +02:00
|
|
|
NEXT_PUBLIC_PROJECT_URL: z.string().optional(),
|
|
|
|
|
NEXT_PUBLIC_PROJECT_VERSION: z.string().optional(),
|
2025-05-16 15:54:17 +02:00
|
|
|
PROJECT_SECRET: z.string(),
|
2024-11-17 16:31:34 +01:00
|
|
|
|
|
|
|
|
SMTP_PASSWORD: z.string().optional(),
|
|
|
|
|
SMTP_FROM: z.string().optional(),
|
|
|
|
|
SMTP_HOST: z.string().optional(),
|
|
|
|
|
SMTP_PORT: z.string().optional(),
|
|
|
|
|
SMTP_USER: z.string().optional(),
|
|
|
|
|
|
2024-11-11 20:29:19 +01:00
|
|
|
AUTH_GOOGLE_ID: z.string().optional(),
|
|
|
|
|
AUTH_GOOGLE_SECRET: z.string().optional(),
|
2024-11-17 16:31:34 +01:00
|
|
|
|
2024-11-11 20:29:19 +01:00
|
|
|
S3_ENDPOINT: z.string().optional(),
|
|
|
|
|
S3_ACCESS_KEY: z.string().optional(),
|
|
|
|
|
S3_SECRET_KEY: z.string().optional(),
|
|
|
|
|
S3_BUCKET_NAME: z.string().optional(),
|
|
|
|
|
S3_PORT: z.string().optional(),
|
|
|
|
|
S3_USE_SSL: z.string().optional(),
|
2024-11-17 16:31:34 +01:00
|
|
|
|
|
|
|
|
STORAGE_TYPE: z.string().optional(),
|
2024-11-03 21:12:40 +01:00
|
|
|
},
|
|
|
|
|
client: {
|
2025-05-16 15:54:17 +02:00
|
|
|
NEXT_PUBLIC_PROJECT_NAME: z.string().optional(),
|
|
|
|
|
NEXT_PUBLIC_PROJECT_DESCRIPTION: z.string().optional(),
|
2025-07-17 13:22:56 +02:00
|
|
|
NEXT_PUBLIC_PROJECT_URL: z.string().optional(),
|
|
|
|
|
NEXT_PUBLIC_PROJECT_VERSION: z.string().optional(),
|
2024-11-03 21:12:40 +01:00
|
|
|
},
|
|
|
|
|
runtimeEnv: {
|
2025-05-16 15:54:17 +02:00
|
|
|
NEXT_PUBLIC_PROJECT_NAME: process.env.NEXT_PUBLIC_PROJECT_NAME,
|
|
|
|
|
NEXT_PUBLIC_PROJECT_DESCRIPTION: process.env.NEXT_PUBLIC_PROJECT_DESCRIPTION,
|
|
|
|
|
NEXT_PUBLIC_PROJECT_URL: process.env.NEXT_PUBLIC_PROJECT_URL,
|
|
|
|
|
NEXT_PUBLIC_PROJECT_VERSION: version || "Unknown Version",
|
|
|
|
|
PROJECT_SECRET: process.env.PROJECT_SECRET,
|
|
|
|
|
|
2024-11-03 21:12:40 +01:00
|
|
|
DATABASE_URL: process.env.DATABASE_URL,
|
2024-11-17 16:31:34 +01:00
|
|
|
|
2024-11-03 21:12:40 +01:00
|
|
|
SMTP_PASSWORD: process.env.SMTP_PASSWORD,
|
|
|
|
|
SMTP_FROM: process.env.SMTP_FROM,
|
|
|
|
|
SMTP_HOST: process.env.SMTP_HOST,
|
|
|
|
|
SMTP_PORT: process.env.SMTP_PORT,
|
|
|
|
|
SMTP_USER: process.env.SMTP_USER,
|
2024-11-17 16:31:34 +01:00
|
|
|
|
2024-11-09 21:38:18 +01:00
|
|
|
AUTH_GOOGLE_ID: process.env.AUTH_GOOGLE_ID,
|
|
|
|
|
AUTH_GOOGLE_SECRET: process.env.AUTH_GOOGLE_SECRET,
|
2024-11-17 16:31:34 +01:00
|
|
|
|
2024-11-11 20:29:19 +01:00
|
|
|
S3_ENDPOINT: process.env.S3_ENDPOINT,
|
|
|
|
|
S3_ACCESS_KEY: process.env.S3_ACCESS_KEY,
|
|
|
|
|
S3_SECRET_KEY: process.env.S3_SECRET_KEY,
|
|
|
|
|
S3_BUCKET_NAME: process.env.S3_BUCKET_NAME,
|
|
|
|
|
S3_PORT: process.env.S3_PORT,
|
|
|
|
|
S3_USE_SSL: process.env.S3_USE_SSL,
|
2024-11-17 16:31:34 +01:00
|
|
|
|
|
|
|
|
STORAGE_TYPE: process.env.STORAGE_TYPE,
|
2024-11-03 21:12:40 +01:00
|
|
|
},
|
|
|
|
|
});
|