Runtime Config
Environment-aware configuration with runtime access.
nitro.config.ts
import { defineConfig } from "nitro";
export default defineConfig({
serverDir: "./",
runtimeConfig: {
apiKey: "",
},
});
Runtime config lets you define configuration values that can be overridden by environment variables at runtime.
Define Config Schema
Declare your runtime config with default values in nitro.config.ts:
nitro.config.ts
import { defineConfig } from "nitro";
export default defineConfig({
serverDir: "./",
runtimeConfig: {
apiKey: "",
},
});
Access at Runtime
Use useRuntimeConfig to access configuration values in your handlers:
server.ts
import { defineHandler } from "nitro/h3";
import { useRuntimeConfig } from "nitro/runtime-config";
export default defineHandler((event) => {
const runtimeConfig = useRuntimeConfig();
return { runtimeConfig };
});
Environment Variables
Override config values via environment variables prefixed with NITRO_:
.env
# NEVER COMMIT SENSITIVE DATA. THIS IS ONLY FOR DEMO PURPOSES.
NITRO_API_KEY=secret-api-key