File size: 1,202 Bytes
cfc59e4 f90228b cfc59e4 f2d1fea cfc59e4 2b62b0c bb6e880 2b62b0c bede2fc 83e82db cfc59e4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import "dotenv/config";
import { createEnv } from "@t3-oss/env-core";
import { z } from "zod";
export const env = createEnv({
server: {
DATABASE_URL: z.string().min(1),
REDIS_URL: z.string().min(1).default("redis://localhost:6379"),
BETTER_AUTH_SECRET: z.string().min(32),
BETTER_AUTH_URL: z.url(),
CORS_ORIGIN: z.url(),
API_KEY_ENCRYPTION_KEY: z.string().min(32),
NODE_ENV: z.enum(["development", "production", "test"]).default("development"),
SMTP_HOST: z.string().min(1).optional(),
SMTP_PORT: z.coerce.number().positive().default(587),
SMTP_USER: z.string().min(1).optional(),
SMTP_PASS: z.string().min(1).optional(),
SMTP_FROM: z.string().min(1).optional(),
PLATFORM_AI_API_KEY: z.string().optional(),
PLATFORM_AI_BASE_URL: z.string().optional(),
PLATFORM_AI_MODEL: z.string().optional(),
FREE_CREDITS_ENABLED: z.coerce.boolean().default(false),
FREE_CREDITS_MAX_POOL: z.coerce.number().positive().default(1_000_000),
DEFAULT_SIGNUP_CREDIT_TOKENS: z.coerce.number().positive().default(50_000),
CLOUDFLARE_TURNSTILE_SECRET_KEY: z.string().optional(),
},
runtimeEnv: process.env,
emptyStringAsUndefined: true,
});
|