mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
Fixes #3429: Update installation docs for Redis
This commit is contained in:
parent
51fb0b59ec
commit
37aaf6f4ab
@ -16,11 +16,11 @@ ALLOWED_HOSTS = ['netbox.example.com', '192.0.2.123']
|
|||||||
|
|
||||||
NetBox requires access to a PostgreSQL database service to store data. This service can run locally or on a remote system. The following parameters must be defined within the `DATABASE` dictionary:
|
NetBox requires access to a PostgreSQL database service to store data. This service can run locally or on a remote system. The following parameters must be defined within the `DATABASE` dictionary:
|
||||||
|
|
||||||
* NAME - Database name
|
* `NAME` - Database name
|
||||||
* USER - PostgreSQL username
|
* `USER` - PostgreSQL username
|
||||||
* PASSWORD - PostgreSQL password
|
* `PASSWORD` - PostgreSQL password
|
||||||
* HOST - Name or IP address of the database server (use `localhost` if running locally)
|
* `HOST` - Name or IP address of the database server (use `localhost` if running locally)
|
||||||
* PORT - TCP port of the PostgreSQL service; leave blank for default port (5432)
|
* `PORT` - TCP port of the PostgreSQL service; leave blank for default port (5432)
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
@ -36,16 +36,6 @@ DATABASE = {
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## SECRET_KEY
|
|
||||||
|
|
||||||
This is a secret cryptographic key is used to improve the security of cookies and password resets. The key defined here should not be shared outside of the configuration file. `SECRET_KEY` can be changed at any time, however be aware that doing so will invalidate all existing sessions.
|
|
||||||
|
|
||||||
Please note that this key is **not** used for hashing user passwords or for the encrypted storage of secret data in NetBox.
|
|
||||||
|
|
||||||
`SECRET_KEY` should be at least 50 characters in length and contain a random mix of letters, digits, and symbols. The script located at `netbox/generate_secret_key.py` may be used to generate a suitable key.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## REDIS
|
## REDIS
|
||||||
|
|
||||||
[Redis](https://redis.io/) is an in-memory data store similar to memcached. While Redis has been an optional component of
|
[Redis](https://redis.io/) is an in-memory data store similar to memcached. While Redis has been an optional component of
|
||||||
@ -54,13 +44,13 @@ functionality (as well as other planned features).
|
|||||||
|
|
||||||
Redis is configured using a configuration setting similar to `DATABASE`:
|
Redis is configured using a configuration setting similar to `DATABASE`:
|
||||||
|
|
||||||
* HOST - Name or IP address of the Redis server (use `localhost` if running locally)
|
* `HOST` - Name or IP address of the Redis server (use `localhost` if running locally)
|
||||||
* PORT - TCP port of the Redis service; leave blank for default port (6379)
|
* `PORT` - TCP port of the Redis service; leave blank for default port (6379)
|
||||||
* PASSWORD - Redis password (if set)
|
* `PASSWORD` - Redis password (if set)
|
||||||
* DATABASE - Numeric database ID for webhooks
|
* `DATABASE` - Numeric database ID for webhooks
|
||||||
* CACHE_DATABASE - Numeric database ID for caching
|
* `CACHE_DATABASE` - Numeric database ID for caching
|
||||||
* DEFAULT_TIMEOUT - Connection timeout in seconds
|
* `DEFAULT_TIMEOUT` - Connection timeout in seconds
|
||||||
* SSL - Use SSL connection to Redis
|
* `SSL` - Use SSL connection to Redis
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
@ -84,3 +74,13 @@ REDIS = {
|
|||||||
!!! warning:
|
!!! warning:
|
||||||
It is highly recommended to keep the webhook and cache databases seperate. Using the same database number for both may result in webhook
|
It is highly recommended to keep the webhook and cache databases seperate. Using the same database number for both may result in webhook
|
||||||
processing data being lost in cache flushing events.
|
processing data being lost in cache flushing events.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SECRET_KEY
|
||||||
|
|
||||||
|
This is a secret cryptographic key is used to improve the security of cookies and password resets. The key defined here should not be shared outside of the configuration file. `SECRET_KEY` can be changed at any time, however be aware that doing so will invalidate all existing sessions.
|
||||||
|
|
||||||
|
Please note that this key is **not** used for hashing user passwords or for the encrypted storage of secret data in NetBox.
|
||||||
|
|
||||||
|
`SECRET_KEY` should be at least 50 characters in length and contain a random mix of letters, digits, and symbols. The script located at `netbox/generate_secret_key.py` may be used to generate a suitable key.
|
||||||
|
@ -101,9 +101,10 @@ Move into the NetBox configuration directory and make a copy of `configuration.e
|
|||||||
|
|
||||||
Open `configuration.py` with your preferred editor and set the following variables:
|
Open `configuration.py` with your preferred editor and set the following variables:
|
||||||
|
|
||||||
* ALLOWED_HOSTS
|
* `ALLOWED_HOSTS`
|
||||||
* DATABASE
|
* `DATABASE`
|
||||||
* SECRET_KEY
|
* `REDIS`
|
||||||
|
* `SECRET_KEY`
|
||||||
|
|
||||||
## ALLOWED_HOSTS
|
## ALLOWED_HOSTS
|
||||||
|
|
||||||
@ -117,7 +118,7 @@ ALLOWED_HOSTS = ['netbox.example.com', '192.0.2.123']
|
|||||||
|
|
||||||
## DATABASE
|
## DATABASE
|
||||||
|
|
||||||
This parameter holds the database configuration details. You must define the username and password used when you configured PostgreSQL. If the service is running on a remote host, replace `localhost` with its address.
|
This parameter holds the database configuration details. You must define the username and password used when you configured PostgreSQL. If the service is running on a remote host, replace `localhost` with its address. See the [configuration documentation](../configuration/required-settings/#database) for more detail on individual parameters.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
@ -131,6 +132,22 @@ DATABASE = {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## REDIS
|
||||||
|
|
||||||
|
Redis is a in-memory key-value store required as part of the NetBox installation. It is used for features such as webhooks and caching. Redis typically requires minimal configuration; the values below should suffice for most installations. See the [configuration documentation](../configuration/required-settings/#redis) for more detail on individual parameters.
|
||||||
|
|
||||||
|
```python
|
||||||
|
REDIS = {
|
||||||
|
'HOST': 'localhost',
|
||||||
|
'PORT': 6379,
|
||||||
|
'PASSWORD': '',
|
||||||
|
'DATABASE': 0,
|
||||||
|
'CACHE_DATABASE': 1,
|
||||||
|
'DEFAULT_TIMEOUT': 300,
|
||||||
|
'SSL': False,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## SECRET_KEY
|
## SECRET_KEY
|
||||||
|
|
||||||
Generate a random secret key of at least 50 alphanumeric characters. This key must be unique to this installation and must not be shared outside the local system.
|
Generate a random secret key of at least 50 alphanumeric characters. This key must be unique to this installation and must not be shared outside the local system.
|
||||||
@ -140,21 +157,6 @@ You may use the script located at `netbox/generate_secret_key.py` to generate a
|
|||||||
!!! note
|
!!! note
|
||||||
In the case of a highly available installation with multiple web servers, `SECRET_KEY` must be identical among all servers in order to maintain a persistent user session state.
|
In the case of a highly available installation with multiple web servers, `SECRET_KEY` must be identical among all servers in order to maintain a persistent user session state.
|
||||||
|
|
||||||
## Webhooks Configuration
|
|
||||||
|
|
||||||
If you have opted to enable the webhooks, set `WEBHOOKS_ENABLED = True` and define the relevant `REDIS` database parameters. Below is an example:
|
|
||||||
|
|
||||||
```python
|
|
||||||
WEBHOOKS_ENABLED = True
|
|
||||||
REDIS = {
|
|
||||||
'HOST': 'localhost',
|
|
||||||
'PORT': 6379,
|
|
||||||
'PASSWORD': '',
|
|
||||||
'DATABASE': 0,
|
|
||||||
'DEFAULT_TIMEOUT': 300,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
# Run Database Migrations
|
# Run Database Migrations
|
||||||
|
|
||||||
Before NetBox can run, we need to install the database schema. This is done by running `python3 manage.py migrate` from the `netbox` directory (`/opt/netbox/netbox/` in our example):
|
Before NetBox can run, we need to install the database schema. This is done by running `python3 manage.py migrate` from the `netbox` directory (`/opt/netbox/netbox/` in our example):
|
||||||
|
Loading…
Reference in New Issue
Block a user