12 lines
374 B
TypeScript
12 lines
374 B
TypeScript
import { z } from "zod";
|
|
|
|
const envSchema = z.object({
|
|
DATABASE_URL: z.string().url(),
|
|
DATA_DIR: z.string().min(1).default("/data"),
|
|
MEDIA_DIR: z.string().min(1).default("/data/media"),
|
|
WEB_PORT: z.string().regex(/^\d+$/).transform((s) => Number(s)).default("3000"),
|
|
});
|
|
|
|
export type Env = z.infer<typeof envSchema>;
|
|
export const env = envSchema.parse(process.env);
|