Skip to content

Commit

Permalink
Release: 4.1.10 documentation (#891)
Browse files Browse the repository at this point in the history
* Use beta logo

* [beta] Add TS command (#800)

* Add TS command

Signed-off-by: soupette <[email protected]>

* Use shorter instead of quicker :-)

Co-authored-by: Pierre Wizla <[email protected]>

* [beta] Dark mode: Updates user guide + dev docs (#795)

* Document dark mode in user guide

* Add note in dev docs about custom theme extension and dark mode

* Improve instructions for Interface mode setting in User guide

* Add precisions in Dev docs callout for Dark mode

* Update admin profile screenshot

Co-authored-by: Mégane Lacheny <[email protected]>

* Slightly update wording for TS flag

* Update core store migration

* Added APP_KEYS to environmental variables table + fixed spelling error

* added link to middlewares documentation

* (WIP) Add permissions mapping tables

* Fix typo

* Added caution call out

* Updated the telemetry opt-out method

* Update amazon-aws.md: Wrong package mentioned (#830)

Line 333 mentioned to run "npm install strapi-provider-upload-aws-s3".
Above package is not working.
New working package is "@strapi/provider-upload-aws-s3"

* Missing information for plugin creation #834

As asked in the bug report here is a PR, unfortunately I am neither sure of where this information is best placed (as it might apply to other part of the framework configuration file as well) nor how to word it properly.

* Include APP_KEYS in Heroku Deployment Guide

Under title 5. Create your Strapi server config for production
Update env/production/server.js to include app -> keys object
Include bash command to set APP_KEYS environment variable on Heroku

* Added caution callout and small text + formatting revisions

* Apply suggestions from code review

Co-authored-by: Shaun Brown  <[email protected]>

* docs: improve the Laravel Documentation

* docs: fix typo in code section

* Update azure.md

* Finish adding permission mapping tables

* Remove typescript from production release

* Added migration guide

* Added link to 4.1.8 migration guide

* add comments for Shaun

* updated with Derrick's suggestions

* fixed spelling and phrasing

* add JWT_SECRET code snippet

* Fixed code for config/plugins

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.0.x-to-4.1.8.md

Co-authored-by: DMehaffy <[email protected]>

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.0.x-to-4.1.8.md

Co-authored-by: DMehaffy <[email protected]>

* docs: fix typo (#853)

* make render.com hosting guide work with strapi version >= v4.0.6 (#832)

* make guide work with strapi v4

- set node version to 12.22.0 because install/build failed with 12.18.4 for i18n plugin.
- add APP_KEYS env variable because its required since v4.0.6

* Update render.md

Also add API_TOKEN_SALT variable to render.yaml blueprint file. It is needed since 4.1.8 See strapi/strapi#13126

* Add additional commands for Heroku environment variables config (#850)

* Add additional commands for Heroku environment variables config

* fix typo

* add random generation

* Fixed phrasing

Co-authored-by: Shaun Brown <[email protected]>

* Fixed config object example code

There was one } that wasn't needed

* remove API_TOKEN_SALT and APP_KEYS from env table

* Update routes.md

Fix missing comma

* update link style

* updated migration guide to match template.

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.0.x-to-4.1.8.md

Co-authored-by: Pierre Wizla <[email protected]>

* [v4 migration] MongoDB additions to data migration guide (#818)

* Add first draft of MongoDB migration instructions (w/o cheatsheet)

* Add raw, unedited cheatsheet for MongoDB vs. SQL differences

* Add new MongoDB related files to TOC

* Update data migration guide introduction

* Enhance MongoDB main guide

* Add MongoDB vs. SQL cheatsheet

* minor cleanup

Co-authored-by: derrickmehaffy <[email protected]>

* Lack one s in the file name middleware.js

* docs: fixed command to start strapi (#870)

* Update plugins-extension.md (#876)

Correct way to push new routes while extending a plugin

* fix: use correct key parameter for azure deploy (#874)

Azure CLI uses `--account-key` rather than `--access-key` now

* Upload: improve code examples (#806)

* Upload: improve code examples

* Remove heading inside tab

* Merge 2 lines

* Format examples as code-group

Co-authored-by: Pierre Wizla <[email protected]>
Co-authored-by: Pierre Wizla <[email protected]>

* Update services.md (#880)

The service name is changed from `api::restaurant.restaurant` to `api::email.email` to avoid confusion.

* Remove useless callout (#888)

* Force node 14 (#890)

* Update latest supported versions & expand docs (#883)

* Update amazon-aws.md

Update versions to latest supported. Expanded comments on some code blocks

* Clarify instruction

* Update CONTRIBUTING.md

According to the `package.json` from the official Strapi repo, Node 16.x.x is now supported. [Reference](https://github.com/strapi/strapi/blob/e8215ffcd7aefae42a524670923c1cc34837400f/package.json#L124)

* Update Node's latest supported version

* Update Node's oldest supported version

* Remove useless callout (#888)

* Force node 14 (#890)

* Update CONTRIBUTING.md

* Update README.md

* Update amazon-aws.md

* Update amazon-aws.md

* Update amazon-aws.md

* Update amazon-aws.md

Update versions to latest supported. Expanded comments on some code blocks

* Clarify instruction

* Update CONTRIBUTING.md

According to the `package.json` from the official Strapi repo, Node 16.x.x is now supported. [Reference](https://github.com/strapi/strapi/blob/e8215ffcd7aefae42a524670923c1cc34837400f/package.json#L124)

* Update Node's latest supported version

* Update Node's oldest supported version

* Update CONTRIBUTING.md

* Update README.md

* Update amazon-aws.md

* Update amazon-aws.md

* Update amazon-aws.md

* Update leftover GraphQL plugin config structure

* Update docs/developer-docs/latest/setup-deployment-guides/deployment/hosting-guides/amazon-aws.md

Co-authored-by: Pierre Wizla <[email protected]>
Co-authored-by: DMehaffy <[email protected]>

* Fix wrong wording in model information (#887)

* Add migration guide to 4.1.10 (#885)

* add migration guide to 4.1.10

* Update file name

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.1.8+-to-4.1.10.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.1.8+-to-4.1.10.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.1.8+-to-4.1.10.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.1.8+-to-4.1.10.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.1.8+-to-4.1.10.md

Co-authored-by: Pierre Wizla <[email protected]>

* Add redirects plugin and rename v4 migration guides to match new std

Co-authored-by: Pierre Wizla <[email protected]>
Co-authored-by: derrickmehaffy <[email protected]>

* Fix predefined hook's name. (#884)

* Strapi-maintained plugins descriptions (#833)

* Added content

* Added content about plugins

* added png files for plugins

* added more logo png files

* fixed missing file extension

* Revised and added content

* Revised text and table cleanup

* Revised Gatsby preview plugin content

* revised intro section

* fixed spelling and formatting

* Revised Email plugin

* Added comment for U&P default deprecation

* Added content for Sentry plugin

* removed empty line

* GraphQL description improvement & Market reference cleanup

* added sidebarDepth

* Edit introduction

* fixed punctuation etc + Mégane's suggestions

* Revised the SEO plugin description

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: Pierre Wizla <[email protected]>

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: Pierre Wizla <[email protected]>

* fixed various issues

* Add dark reader-friendly logos

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: meganelacheny <[email protected]>

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: meganelacheny <[email protected]>

* fixed spelling

* Update docs/user-docs/latest/plugins/strapi-plugins.md

Co-authored-by: meganelacheny <[email protected]>

* Delint and small wording fixes

* fixed typos and formatting

* updated the Gatsby preview plugin details

Co-authored-by: Pierre Wizla <[email protected]>
Co-authored-by: meganelacheny <[email protected]>

* Remove populateCreatorFields from models (#881)

* Add NodeJS link to NODE_ENV=production (#879)

* changed env example

* add NODE_ENV callout

* added Nodejs link to explain NODE_ENV=production

* Update table "note" format

Co-authored-by: Pierre Wizla <[email protected]>

* Fix the example code for registering hooks (#877)

Code was broken several places:
- you need to return an object with the original arguments, not an array
- you cannot always write JSX directly in a .js file (according to your configuration)

Co-authored-by: Pierre Wizla <[email protected]>

Co-authored-by: derrickmehaffy <[email protected]>
Co-authored-by: cyril lopez <[email protected]>
Co-authored-by: Mégane Lacheny <[email protected]>
Co-authored-by: Shaun Brown <[email protected]>
Co-authored-by: Dan Siddoway <[email protected]>
Co-authored-by: Shaun Brown <[email protected]>
Co-authored-by: spreadcharm <[email protected]>
Co-authored-by: Dimitri Gilbert <[email protected]>
Co-authored-by: David <[email protected]>
Co-authored-by: Daniel Sum <[email protected]>
Co-authored-by: Mohammed Muqtadir Ahad <[email protected]>
Co-authored-by: Alisan Stoll <[email protected]>
Co-authored-by: Nico Hofmair <[email protected]>
Co-authored-by: Adria Lopez <[email protected]>
Co-authored-by: Elías Leyton <[email protected]>
Co-authored-by: Thomas PEDOT <[email protected]>
Co-authored-by: NiWA <[email protected]>
Co-authored-by: Rajat <[email protected]>
Co-authored-by: Thomas F. K. Jorna <[email protected]>
Co-authored-by: Gustav Hansen <[email protected]>
Co-authored-by: Rajat <[email protected]>
Co-authored-by: André Vital <[email protected]>
Co-authored-by: Pierre Noël <[email protected]>
Co-authored-by: horiken <[email protected]>
Co-authored-by: Pascal Vaccaro <[email protected]>
  • Loading branch information
1 parent 5249368 commit d5f9c19
Show file tree
Hide file tree
Showing 30 changed files with 508 additions and 129 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The core team will review your pull request and will either merge it, request ch

<!-- TODO Update warning about using yarn when npm v7 is out since it will support yarn.lock files — see https://blog.npmjs.org/post/621733939456933888/npm-v7-series-why-keep-package-lockjson.html -->
- You installed the following softwares:
- [Node](https://nodejs.org/en/) at v12 only (Node v13+ are not supported)
- [Node](https://nodejs.org/en/) at v14 only (Node v15+ are not supported)
- [Yarn](https://yarnpkg.com/en/) at v1.2.0+. **Please use yarn**, not npm, as we maintain a `yarn.lock` file instead of `package-lock.json`
- You are familiar with Git.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Strapi is a free and open-source headless CMS delivering your content anywhere y

The following are required if you are submitting pull requests to the documentation. For more information on how to contribute please see our [contribution guide](./CONTRIBUTING.md)

- NodeJS >=12.x <=14.x
- NodeJS >=12.22.0 <=14.x
- NPM >= 6.x
- Yarn >= 1.22.x

Expand Down
18 changes: 14 additions & 4 deletions docs/.vuepress/config/plugins.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ const plugins = [
},
],
['@vuepress/back-to-top', {}],
[
'@vuepress/html-redirect',
{
duration: 0,
},
],
[
'vuepress-plugin-container',
{
Expand Down Expand Up @@ -149,25 +155,29 @@ const plugins = [
type: 'grid',
defaultTitle: '',
},
], [
],
[
'vuepress-plugin-container',
{
type: 'grid-top-left',
defaultTitle: '',
},
], [
],
[
'vuepress-plugin-container',
{
type: 'grid-top-right',
defaultTitle: '',
},
], [
],
[
'vuepress-plugin-container',
{
type: 'grid-bottom-left',
defaultTitle: '',
},
], [
],
[
'vuepress-plugin-container',
{
type: 'grid-bottom-right',
Expand Down
2 changes: 2 additions & 0 deletions docs/.vuepress/redirects
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.0.x-to4.0.6.html /developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.0.0+-to-4.0.6.html
/developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.0.x-to-4.1.8.html /developer-docs/latest/update-migration-guides/migration-guides/v4/migration-guide-4.0.6+-to-4.1.8.html
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,6 @@ Queries can accept a `populate` parameter to explicitly define which fields to p
If the users-permissions plugin is installed, the `find` permission must be enabled for the content-types that are being populated. **If a role doesn't have access to a content-type it will not be populated.**
:::

:::note
https://github.com/ljharb/qs
:::

#### Populate 1 level for all relations

To populate one-level deep for all relations, use the `*` wildcard in combination with the `populate` parameter:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -617,37 +617,42 @@ export default {

#### Predefined hook

Strapi includes a predefined `cm/inject-column-in-table` hook that can be used to add or mutate a column of the List View of the [Content Manager](/user-docs/latest/content-manager/introduction-to-content-manager.md).
Strapi includes a predefined `Admin/CM/pages/ListView/inject-column-in-table` hook that can be used to add or mutate a column of the List View of the [Content Manager](/user-docs/latest/content-manager/introduction-to-content-manager.md).

::: details Example: 'cm/inject-column-in-table' hook, as used by the Internationalization plugin to add the 'Content available in' column
::: details Example: 'Admin/CM/pages/ListView/inject-column-in-table' hook, as used by the Internationalization plugin to add the 'Content available in' column

```jsx
// ./plugins/my-plugin/admin/src/index.js
import get from 'lodash/get';
import cellFormatter from './components/cellFormatter';

export default {
bootstrap(app) {
app.registerHook('cm/inject-column-in-table', ({ displayedHeaders, layout }) => {
app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', ({ displayedHeaders, layout }) => {
const isFieldLocalized = get(layout, 'contentType.pluginOptions.i18n.localized', false);

if (!isFieldLocalized) {
return displayedHeaders;
return { displayedHeaders, layout };
}

return [
...displayedHeaders,
{
key: '__locale_key__', // Needed for the table
fieldSchema: { type: 'string' }, // Schema of the attribute
metadatas: {
label: 'Content available in', // Label of the header,
sortable: false|true // Define in the column is sortable
}, // Metadatas for the label
// Name of the key in the data we will display
name: 'locales',
// Custom renderer
cellFormatter: props => <div>Object.keys(props).map(key => <p key={key}>key</p>)</div>,
},
];
return {
layout,
displayedHeaders: [
...displayedHeaders,
{
key: '__locale_key__', // Needed for the table
fieldSchema: { type: 'string' }, // Schema of the attribute
metadatas: {
label: 'Content available in', // Label of the header,
sortable: true|false // Define if the column is sortable
}, // Metadatas for the label
// Name of the key in the data we will display
name: 'locales',
// Custom renderer: props => Object.keys(props).map(key => <p key={key}>key</p>)
cellFormatter,
},
]
};
});
},
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ The `info` key in the model's schema describes information used to display the m
| Parameter | Type | Description |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `displayName` | String | Default name to use in the admin panel |
| `singularName` | String | Singular form of the collection type name.<br>Used to generate the API routes and databases/tables collection.<br><br>Should be kebab-case. |
| `pluralName` | String | Plural form of the collection type name.<br>Used to generate the API routes and databases/tables collection.<br><br>Should be kebab-case. |
| `singularName` | String | Singular form of the content-type name.<br>Used to generate the API routes and databases/tables collection.<br><br>Should be kebab-case. |
| `pluralName` | String | Plural form of the content-type name.<br>Used to generate the API routes and databases/tables collection.<br><br>Should be kebab-case. |
| `description` | String | Description of the model |
| `icon`<br><br>_Optional,_<br>_only for Components_ | String | [FontAwesome](https://fontawesome.com/) (v5) icon name to use for the component's icon in the admin panel

Expand Down Expand Up @@ -540,7 +540,6 @@ The `options` key is used to define specific behaviors and accepts the following
| Parameter | Type | Description |
| ----------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `privateAttributes` | Array of strings | Allows treating a set of attributes as private, even if they're not actually defined as attributes in the model. It could be used to remove them from API responses timestamps.<br><br>The set of `privateAttributes` defined in the model are merged with the `privateAttributes` defined in the global Strapi configuration. |
| `populateCreatorFields` | Boolean | Toggles including the `created_by` and `updated_by` fields in the API response.<br><br>Default value: `false` |
| `draftAndPublish` | Boolean | Enables the draft and publish feature.<br><br>Default value: `false` |

```json
Expand All @@ -549,7 +548,6 @@ The `options` key is used to define specific behaviors and accepts the following
{
"options": {
"privateAttributes": ["id", "created_at"],
"populateCreatorFields": true,
"draftAndPublish": false
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ const transporter = nodemailer.createTransport({
},
});

module.exports = createCoreService('api::restaurant.restaurant', ({ strapi }) => ({
module.exports = createCoreService('api::email.email', ({ strapi }) => ({
send(from, to, subject, text) {
// Setup e-mail data.
const options = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ module.exports = (plugin) => {

plugin.policies[newPolicy] = (ctx) => {};

plugin.routes.push({
plugin.routes['content-api'].routes.push({
method: 'GET',
path: '/route-path',
handler: 'controller.action',
Expand Down
16 changes: 9 additions & 7 deletions docs/developer-docs/latest/development/plugins/graphql.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,15 @@ Please note the setting for GraphQL `tracing` as changed and has been moved to `
module.exports = {
//
graphql: {
endpoint: '/graphql',
shadowCRUD: true,
playgroundAlways: false,
depthLimit: 7,
amountLimit: 100,
apolloServer: {
tracing: false,
config: {
endpoint: '/graphql',
shadowCRUD: true,
playgroundAlways: false,
depthLimit: 7,
amountLimit: 100,
apolloServer: {
tracing: false,
},
},
},
};
Expand Down
103 changes: 62 additions & 41 deletions docs/developer-docs/latest/plugins/upload.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,15 @@ module.exports = ({ env }) => ({

## Upload files

To upload files into your application.
To upload files to your application.

### Parameters

- `files`: The file(s) to upload. The value(s) can be a Buffer or Stream.

### Code example
<code-group>

<code-block title="BROWSER">

```html
<form>
Expand All @@ -123,20 +125,48 @@ To upload files into your application.
</form>

<script type="text/javascript">
const formElement = document.querySelector('form');
const form = document.querySelector('form');

formElement.addEventListener('submit', (e) => {
form.addEventListener('submit', async (e) => {
e.preventDefault();

const request = new XMLHttpRequest();

request.open('POST', '/upload');

request.send(new FormData(formElement));
await fetch('/api/upload', {
method: 'post',
body: new FormData(e.target)
});
});
</script>
```

</code-block>

<code-block title="NODE.JS">

```js
import { FormData, Blob } from "formdata-node"
import { FormDataEncoder } from "form-data-encoder"
import { Readable } from "stream"
import fetch from 'node-fetch';
import fs from 'fs';

const file = fs.createReadStream('path-to-your-file');
const form = new FormData();

form.append('files', file);

const encoder = new FormDataEncoder(form);

await fetch('http://localhost:1337/api/upload', {
method: "post",
headers: encoder.headers,
body: Readable.from(encoder)
});
```

</code-block>

</code-group>

:::caution
You have to send FormData in your request body.
:::
Expand Down Expand Up @@ -189,16 +219,15 @@ Code
</form>

<script type="text/javascript">
const formElement = document.querySelector('form');
const form = document.querySelector('form');

formElement.addEventListener('submit', (e) => {
form.addEventListener('submit', async (e) => {
e.preventDefault();

const request = new XMLHttpRequest();

request.open('POST', '/upload');

request.send(new FormData(formElement));
await fetch('/api/upload', {
method: 'post',
body: new FormData(e.target)
});
});
</script>
```
Expand Down Expand Up @@ -245,44 +274,36 @@ Code
</form>

<script type="text/javascript">
const formElement = document.querySelector('form');
const form = document.querySelector('form');

formElement.addEventListener('submit', (e) => {
form.addEventListener('submit', async (e) => {
e.preventDefault();

const request = new XMLHttpRequest();

const formData = new FormData();

const formElements = formElement.elements;

const data = {};
const formData = new FormData();

for (let i = 0; i < formElements.length; i++) {
const currentElement = formElements[i];
if (!['submit', 'file'].includes(currentElement.type)) {
data[currentElement.name] = currentElement.value;
} else if (currentElement.type === 'file') {
for (let i = 0; i < currentElement.files.length; i++) {
const file = currentElement.files[i];
formData.append(`files.${currentElement.name}`, file, file.name);
form.elements
.forEach(({ name, type, value, files, ...element }) => {
if (!['submit', 'file'].includes(type)) {
data[name] = value;
} else if (type === 'file') {
files.forEach((file) => {
formData.append(`files.${name}`, file, file.name);
});
}
}
}
});

formData.append('data', JSON.stringify(data));

request.open('POST', `${HOST}/restaurants`);

request.send(formData);
await fetch('/api/restaurants', {
method: 'post',
body: formData
});
});
</script>
```

Your entry data has to be contained in a `data` key. You have to `JSON.stringify` your data object.

And for your files, they have to be prefixed by `files`.
Example here with cover attribute `files.cover`.
Your entry data has to be contained in a `data` key and you need to `JSON.stringify` this object. The keys for files, need to be prefixed with `files` (example with a cover attribute: `files.cover`).

::: tip
If you want to upload files for a component, you will have to specify the index of the item you want to add the file to.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ canonicalUrl: https://docs.strapi.io/developer-docs/latest/setup-deployment-guid
# Environment configuration and variables

Strapi provides environment variables that can be used in configuration files. An `env()` utility can be used to [retrieve the value of environment variables](#configuration-using-environment-variables) and [cast variables to different types](#casting-environment-variables), and specific [configurations for different environments](#environment-configurations) can be created.

## Strapi's environment variables

Strapi provides the following environment variables:
Expand All @@ -17,7 +18,7 @@ Strapi provides the following environment variables:
| `STRAPI_HIDE_STARTUP_MESSAGE` | Don't show the startup message in the terminal | `Boolean` | `false` |
| `STRAPI_TELEMETRY_DISABLED` | Don't send telemetry usage data to Strapi | `Boolean` | `false` |
| `STRAPI_LICENSE` | The license key to activate the Enterprise Edition | `String` | `undefined` |
| `NODE_ENV` | Type of environment where the app is running | `String` | `'development'` |
| `NODE_ENV` | Type of environment where the app is running.<br/><br/>`production` enables specific behaviors (see [Node.js documentation](https://nodejs.dev/learn/nodejs-the-difference-between-development-and-production) for details) | `String` | `'development'` |
| `BROWSER` | Open the admin panel in the browser after startup | `Boolean` | `true` |
| `ENV_PATH` | Path to the file that contains your environment variables | `String` | `'./.env'` |
| `STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE` <br/><br/>_Optional_ | Initialization locale for the app, if the [Internationalization (i18n) plugin](/developer-docs/latest/plugins/i18n.md) is installed and enabled on Content-Types (see [Configuration of i18n in production environments](/developer-docs/latest/plugins/i18n.md#configuration-of-the-default-locale)) | `String` | `'en'` |
Expand Down Expand Up @@ -115,7 +116,7 @@ With these configuration files the server will start on various ports depending

```bash
yarn start # uses host 127.0.0.1
NODE_ENV=production yarn start # uses host 0.0.0.0
NODE_ENV=production yarn start # uses host defined in .env. If not defined, uses 0.0.0.0
HOST=10.0.0.1 NODE_ENV=production yarn start # uses host 10.0.0.1
```

Loading

1 comment on commit d5f9c19

@vercel
Copy link

@vercel vercel bot commented on d5f9c19 May 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

documentation – ./

docs-vercel-v4.strapi.io
documentation-git-production-strapijs.vercel.app
documentation-strapijs.vercel.app

Please sign in to comment.