2
0
mirror of https://github.com/inventree/inventree-docs.git synced 2025-04-28 05:36:46 +00:00
Oliver Walters 2b3a0c7748 Refactor installation instructions
(cherry picked from commit 2eb4589b0176b7377135c4539531abde7d0a88b4)
2021-04-08 21:18:17 +10:00

5.2 KiB

title
title
Database Configuration

Database Configuration

Admin users will need to adjust the InvenTree installation to meet the particular needs of their setup. For example, pointing to the correct database backend, or specifying a list of allowed hosts.

InvenTree system settings can be specified in a configuration file, or via environment variables.

!!! info "Environment Variables" Settings specified using environment variables take priority

Configuration File

To support install specific settings, a simple configuration file config.yaml is provided. This configuration file is loaded by the InvenTree server at runtime. Settings specific to a given install should be adjusted in config.yaml.

!!! info "Config file location" The InvenTree config file is located at ./InvenTree/config.yaml

The default configuration file launches a DEBUG configuration with a simple SQLITE database backend. This default configuration file is shown below:

{% include 'config.yaml' %}

Environment Variables

In addition to specifying InvenTree options via the config.yaml file, these options can also be specified via environment variables. This can be usful for system administrators who want the flexibility of altering settings without editing the configuration file.

  • Environment variable settings use the INVENTREE_ prefix, and are all uppercase.
  • Config file settings do not use this prefix, and are all lowercase

!!! info Priotity Configuration options set via environment variables will take priority over the values set in the config.yaml file.

!!! warning Available Variables Some configuration options cannot be set via environment variables. Refer to the documentation below.

Basic Options

The following basic options are available:

Environment Variable Settings File Description
INVENTREE_DEBUG debug Enable debug mode
INVENTREE_LOG_LEVEL log_level Set level of logging to terminal

Secret Key

InvenTree requires a secret key for providing cryptographic signing - this should be a secret (and unpredictable) value.

The secret key can be provided in multiple ways, with the following (descending) priorities:

Pass Secret Key via Environment Variable

A secret key string can be passed directly using the environment variable INVENTREE_SECRET_KEY

Pass Secret Key File via Environment Variable

A file containing the secret key can be passed via the environment variable INVENTREE_SECRET_KEY_FILE

Fallback to Default Secret Key File

If not specified via environment variables, the fallback secret_key file (automatically generated as part of InvenTree installation) will be used.

Database Options

InvenTree provides support for multiple database backends - any backend supported natively by Django can be used.

Database options are specified under the database heading in the configuration file. Any option available in the Django documentation can be used here - it is passed through transparently to the management scripts.

The following database options can be configured:

Environment Variable Settings File Description
INVENTREE_DB_ENGINE database.ENGINE Database backend
INVENTREE_DB_NAME database.NAME Database name
INVENTREE_DB_USER database.USER Database username (if required)
INVENTREE_DB_PASSWORD database.PASSWORD Database password (if required)
INVENTREE_DB_HOST database.HOST Database host address (if required)
INVENTREE_DB_PORT database.PORT Database host port (if required)

Allowed Hosts / CORS

By default, all hosts are allowed, and CORS requests are enabled from any origin. This is not secure and should be adjusted for your installation. These options can be changed in the configuration file.

For further information, refer to the following documentation:

Static File Storage

By default, static files are stored in the local directory /home/inventree/static. This directory should be changed by specifying the static_root option in the config file based on the particular installation requirements.

Alternatively this location can be specified with the INVENTREE_STATIC_ROOT environment variable.

Uploaded File Storage

By default, uploaded media files are stored in the local directory /home/inventree/media. This directory should be changed by specifying the media_root option in the config file based on the particular installation requirements.

Alternatively this location can be specified with the INVENTREE_MEDIA_ROOT environment variable.

Backup Location

The default behaviour of the database backup is to generate backup files for database tables and media files to /home/inventree/backup. The target directory can be overridden by setting the backup_dir parameter in the config file.

Alternatively this location can be specified with the INVENTREE_BACKUP_DIR environment variable.

Authentication Backends

Custom authentication backends can be used by specifying them here

Middleware

Custom middleware layers can specified here.