Environment Variables
You can store environment variables in the Reflect server with the npx reflect env command.
These variables are then accessible at runtime in your server-side mutators and auth handler.
Setting Environment Variables
npx reflect env set foo=bar baz=hotdogBy default reflect env set modifies the variables for the production environment that runs on reflect-server.net.
To set variables for the local "development" environment add the --dev flag:
npx reflect env set --dev foo=monkey baz=cantaloupeAccessing Environment Variables at Runtime
Inside a mutator, you can access environment variables with the env field of WriteTransaction:
async function myMutator(tx: WriteTransaction) {
console.log(tx.env?.foo);
}The env field will be defined if the mutator is running on the server, and undefined on the client.
To access environment variables in your auth handler, use the env parameter.
function myAuthHandler(
auth: string,
roomID: string,
env: Record<string, string>,
) {
console.log(env.foo);
}Secrets
All production environment variables are encrypted at rest and suitable for storing sensitive data like passwords and API keys.
To avoid exposing secrets on the command line, omit the =value when setting a variable:
npx reflect env set db_passwordThis will prompt you to enter a masked input.
Note that local development variables set by --dev are stored locally and not encrypted.