2017-12-20 17:20:44 +01:00
# Deployment
2019-01-15 13:29:39 +01:00
### Docker
::: tip
2019-01-15 13:32:23 +01:00
You can also deploy using [Docker ](https://hub.docker.com/r/strapi/strapi] )
2019-01-15 13:29:39 +01:00
:::
The method below describes regular deployment using the built-in mechanisms.
2018-10-11 20:51:47 +02:00
#### #1 - Configure
2017-12-20 17:20:44 +01:00
Update the `production` settings with the IP and domain name where the project will be running.
**Path —** `./config/environments/production/server.json` .
```js
{
"host": "domain.io", // IP or domain
"port": 1337,
"autoReload": {
"enabled": false
},
"admin": {
2018-01-09 18:39:50 +01:00
"path": "/dashboard" // We highly recommend to change the default `/admin` path for security reasons.
2017-12-20 17:20:44 +01:00
}
}
```
2018-09-01 23:15:27 +02:00
In case your database is not running on the same server, make sure that the environment of your production
database (`./config/environments/production/database.json` ) is set properly.
2019-01-04 17:13:04 +11:00
If you are passing a number of configuration item values via environment variables which is always encouraged for production environment to keep application stateless, checkout the section for [Dynamic Configuration ](../configurations/configurations.md#dynamic-configurations ). Here is a hint on how to do it for production, for the configuration mentioned above:
**Path —** `./config/environments/production/server.json` .
```js
{
"host": "${process.env.APP_HOST || '127.0.0.1'}"
"port": "${process.env.NODE_PORT || 1337}",
"autoReload": {
"enabled": false
},
"admin": {
"path": "/dashboard" // We highly recommend to change the default `/admin` path for security reasons.
}
}
```
2018-01-09 18:39:50 +01:00
**⚠️ If you changed the path to access to the administration, the step #2 is required.**
2017-12-20 17:20:44 +01:00
2018-01-09 18:39:50 +01:00
#### #2 - Setup (optional)
Run this following command to install the dependencies and build the project with your custom configurations.
2017-12-20 17:20:44 +01:00
```bash
cd /path/to/the/project
npm run setup
```
2018-10-01 12:19:34 +02:00
::: note
To display the build logs use the --debug option `npm run setup --debug` .
:::
2017-12-20 17:20:44 +01:00
#### #3 - Launch the server
Run the server with the `production` settings.
```bash
NODE_ENV=production npm start
```
2018-10-01 12:19:34 +02:00
::: warning
We highly recommend to use [pm2 ](https://github.com/Unitech/pm2/ ) to manage your process.
:::
2017-12-20 17:20:44 +01:00
### Advanced configurations
2018-01-09 18:39:50 +01:00
If you want to host the administration on another server than the API, [please take a look at this dedicated section ](../advanced/customize-admin.md#deployment ).