diff --git a/www/apps/book/app/learn/advanced-development/environment-variables/page.mdx b/www/apps/book/app/learn/advanced-development/environment-variables/page.mdx new file mode 100644 index 0000000000..5a0b131d12 --- /dev/null +++ b/www/apps/book/app/learn/advanced-development/environment-variables/page.mdx @@ -0,0 +1,96 @@ +import { Table } from "docs-ui" + +export const metadata = { + title: `${pageNumber} Environment Variables`, +} + +# {metadata.title} + +In this chapter, you'll learn how environment variables are loaded in Medusa. + +## System Environment Variables + +The Medusa application loads and uses system environment variables. + +For example, if you set the `PORT` environment variable to `8000`, the Medusa application runs on that port instead of `9000`. + +In production, you should always use system environment variables that you set through your hosting provider. + +--- + +## Environment Variables in .env Files + +During development, it's easier to set environment variables in a `.env` file in your repository. + +Based on your `NODE_ENV` system environment variable, which is considered as `development` if not set, Medusa will try to load environment variables from the following `.env` files: + + + + + Environment + + + `.env` File + + + + + + + + + `NODE_ENV` = `development` or not set + + + + + `.env` + + + + + + + `NODE_ENV` = `production` + + + + + `.env.production` + + + + + + + `NODE_ENV` = `staging` + + + + + `.env.staging` + + + + + + + `NODE_ENV` = `test` + + + + + `.env.test` + + + + +
+ +### Set Environment in `loadEnv` + +In the `medusa-config.ts` file of your Medusa application, you'll find a `loadEnv` function used that accepts `process.env.NODE_ENV` as a first parameter. + +This function is responsible for loading the correct `.env` file based on the value of `process.env.NODE_ENV`. + +To ensure that the correct `.env` file is loaded as shown in the table above, only specify `development`, `production`, `staging` or `test` as the value of `process.env.NODE_ENV` or as the parameter of `loadEnv`. diff --git a/www/apps/book/generated/edit-dates.mjs b/www/apps/book/generated/edit-dates.mjs index c1a14cd970..43b7205f0a 100644 --- a/www/apps/book/generated/edit-dates.mjs +++ b/www/apps/book/generated/edit-dates.mjs @@ -112,5 +112,6 @@ export const generatedEditDates = { "app/learn/architecture/overview/page.mdx": "2024-09-23T12:55:01.339Z", "app/learn/advanced-development/data-models/infer-type/page.mdx": "2024-09-30T08:43:53.123Z", "app/learn/advanced-development/custom-cli-scripts/seed-data/page.mdx": "2024-10-03T11:11:07.181Z", - "app/learn/basics/modules/page.mdx": "2024-10-16T08:49:39.997Z" + "app/learn/basics/modules/page.mdx": "2024-10-16T08:49:39.997Z", + "app/learn/advanced-development/environment-variables/page.mdx": "2024-10-25T14:59:07.831Z" } \ No newline at end of file diff --git a/www/apps/book/sidebar.mjs b/www/apps/book/sidebar.mjs index d59f705bc3..fe8c35acc7 100644 --- a/www/apps/book/sidebar.mjs +++ b/www/apps/book/sidebar.mjs @@ -507,6 +507,11 @@ export const sidebar = numberSidebarItems( }, ], }, + { + type: "link", + title: "Environment Variables", + path: "/learn/advanced-development/environment-variables" + } ], }, {