mirror of
				https://github.com/inventree/inventree-docs.git
				synced 2025-11-03 22:15:40 +00:00 
			
		
		
		
	Download the latest configuration template file when building
- So we don't have to manually copy it all the time!
This commit is contained in:
		@@ -14,6 +14,7 @@ database:
 | 
			
		||||
 | 
			
		||||
  # --- Available options: ---
 | 
			
		||||
  # ENGINE: Database engine. Selection from:
 | 
			
		||||
  #         - sqlite3
 | 
			
		||||
  #         - mysql
 | 
			
		||||
  #         - postgresql
 | 
			
		||||
  # NAME: Database name
 | 
			
		||||
@@ -22,6 +23,10 @@ database:
 | 
			
		||||
  # HOST: Database host address (if required)
 | 
			
		||||
  # PORT: Database host port (if required)
 | 
			
		||||
 | 
			
		||||
  # --- Example Configuration - sqlite3 ---
 | 
			
		||||
  # ENGINE: sqlite3
 | 
			
		||||
  # NAME: '/home/inventree/database.sqlite3'
 | 
			
		||||
 | 
			
		||||
  # --- Example Configuration - MySQL ---
 | 
			
		||||
  #ENGINE: mysql
 | 
			
		||||
  #NAME: inventree
 | 
			
		||||
@@ -63,6 +68,19 @@ currencies:
 | 
			
		||||
 | 
			
		||||
# Email backend configuration
 | 
			
		||||
# Ref: https://docs.djangoproject.com/en/dev/topics/email/
 | 
			
		||||
# Available options:
 | 
			
		||||
# host: Email server host address
 | 
			
		||||
# port: Email port
 | 
			
		||||
# username: Account username
 | 
			
		||||
# password: Account password
 | 
			
		||||
# prefix: Email subject prefix
 | 
			
		||||
# tls: Enable TLS support
 | 
			
		||||
# ssl: Enable SSL support
 | 
			
		||||
 | 
			
		||||
# Alternatively, these options can all be set using environment variables,
 | 
			
		||||
# with the INVENTREE_EMAIL_ prefix:
 | 
			
		||||
# e.g. INVENTREE_EMAIL_HOST / INVENTREE_EMAIL_PORT / INVENTREE_EMAIL_USERNAME
 | 
			
		||||
# Refer to the InvenTree documentation for more information
 | 
			
		||||
 | 
			
		||||
email:
 | 
			
		||||
  # backend: 'django.core.mail.backends.smtp.EmailBackend'
 | 
			
		||||
@@ -78,11 +96,33 @@ email:
 | 
			
		||||
# Use the environment variable INVENTREE_DEBUG
 | 
			
		||||
debug: True
 | 
			
		||||
 | 
			
		||||
# Set debug_toolbar to True to enable a debugging toolbar for InvenTree
 | 
			
		||||
# Note: This will only be displayed if DEBUG mode is enabled, 
 | 
			
		||||
#       and only if InvenTree is accessed from a local IP (127.0.0.1)
 | 
			
		||||
debug_toolbar: False
 | 
			
		||||
 | 
			
		||||
# Configure the system logging level
 | 
			
		||||
# Use environment variable INVENTREE_LOG_LEVEL
 | 
			
		||||
# Options: DEBUG / INFO / WARNING / ERROR / CRITICAL
 | 
			
		||||
log_level: WARNING
 | 
			
		||||
 | 
			
		||||
# Allowed hosts (see ALLOWED_HOSTS in Django settings documentation)
 | 
			
		||||
# A list of strings representing the host/domain names that this Django site can serve.
 | 
			
		||||
# Default behaviour is to allow all hosts (THIS IS NOT SECURE!)
 | 
			
		||||
allowed_hosts:
 | 
			
		||||
  - '*'
 | 
			
		||||
 | 
			
		||||
# Cross Origin Resource Sharing (CORS) settings (see https://github.com/ottoyiu/django-cors-headers)
 | 
			
		||||
# Following parameters are 
 | 
			
		||||
cors:
 | 
			
		||||
  # CORS_ORIGIN_ALLOW_ALL - If True, the whitelist will not be used and all origins will be accepted.
 | 
			
		||||
  allow_all: True
 | 
			
		||||
 | 
			
		||||
  # CORS_ORIGIN_WHITELIST - A list of origins that are authorized to make cross-site HTTP requests. Defaults to []
 | 
			
		||||
  # whitelist:
 | 
			
		||||
  # - https://example.com
 | 
			
		||||
  # - https://sub.example.com
 | 
			
		||||
 | 
			
		||||
# MEDIA_ROOT is the local filesystem location for storing uploaded files
 | 
			
		||||
# By default, it is stored under /home/inventree/data/media
 | 
			
		||||
# Use environment variable INVENTREE_MEDIA_ROOT
 | 
			
		||||
@@ -92,3 +132,47 @@ media_root: '/home/inventree/data/media'
 | 
			
		||||
# By default, it is stored under /home/inventree/data/static
 | 
			
		||||
# Use environment variable INVENTREE_STATIC_ROOT
 | 
			
		||||
static_root: '/home/inventree/data/static'
 | 
			
		||||
 | 
			
		||||
# Optional URL schemes to allow in URL fields
 | 
			
		||||
# By default, only the following schemes are allowed: ['http', 'https', 'ftp', 'ftps']
 | 
			
		||||
# Uncomment the lines below to allow extra schemes
 | 
			
		||||
#extra_url_schemes:
 | 
			
		||||
#  - mailto
 | 
			
		||||
#  - git
 | 
			
		||||
#  - ssh
 | 
			
		||||
 | 
			
		||||
# Login configuration
 | 
			
		||||
# How long do confirmation mail last?
 | 
			
		||||
# Use environment variable INVENTREE_LOGIN_CONFIRM_DAYS
 | 
			
		||||
#login_confirm_days: 3
 | 
			
		||||
# How many wrong login attempts are permitted?
 | 
			
		||||
# Use environment variable INVENTREE_LOGIN_ATTEMPTS
 | 
			
		||||
#login_attempts: 5
 | 
			
		||||
 | 
			
		||||
# Permit custom authentication backends
 | 
			
		||||
#authentication_backends:
 | 
			
		||||
#  - 'django.contrib.auth.backends.ModelBackend'
 | 
			
		||||
 | 
			
		||||
#  Custom middleware, sometimes needed alongside an authentication backend change.
 | 
			
		||||
#middleware:
 | 
			
		||||
#  - 'django.middleware.security.SecurityMiddleware'
 | 
			
		||||
#  - 'django.contrib.sessions.middleware.SessionMiddleware'
 | 
			
		||||
#  - 'django.middleware.locale.LocaleMiddleware'
 | 
			
		||||
#  - 'django.middleware.common.CommonMiddleware'
 | 
			
		||||
#  - 'django.middleware.csrf.CsrfViewMiddleware'
 | 
			
		||||
#  - 'corsheaders.middleware.CorsMiddleware'
 | 
			
		||||
#  - 'django.contrib.auth.middleware.AuthenticationMiddleware'
 | 
			
		||||
#  - 'django.contrib.messages.middleware.MessageMiddleware'
 | 
			
		||||
#  - 'django.middleware.clickjacking.XFrameOptionsMiddleware'
 | 
			
		||||
#  - 'InvenTree.middleware.AuthRequiredMiddleware'
 | 
			
		||||
 | 
			
		||||
# Add SSO login-backends
 | 
			
		||||
# social_backends:
 | 
			
		||||
#  - 'allauth.socialaccount.providers.keycloak'
 | 
			
		||||
 | 
			
		||||
# Add specific settings
 | 
			
		||||
# social_providers:
 | 
			
		||||
#   keycloak:
 | 
			
		||||
#     KEYCLOAK_URL: 'https://keycloak.custom/auth'
 | 
			
		||||
#     KEYCLOAK_REALM: 'master'
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -47,5 +47,4 @@ invoke worker
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
!!! info "Supervisor"
 | 
			
		||||
 | 
			
		||||
A better option is to manage the background worker process using a process manager such as supervisor. Refer to the [production server guide](./start/production.md).
 | 
			
		||||
    A better option is to manage the background worker process using a process manager such as supervisor. Refer to the [production server guide](./start/production.md).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								main.py
									
									
									
									
									
								
							@@ -1,8 +1,24 @@
 | 
			
		||||
import os
 | 
			
		||||
from posixpath import dirname
 | 
			
		||||
 | 
			
		||||
from urllib import request
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def define_env(env):
 | 
			
		||||
 | 
			
		||||
    # Ensure that the config template is always up to date
 | 
			
		||||
    CFG_URL = "https://raw.githubusercontent.com/inventree/InvenTree/master/InvenTree/config_template.yaml"
 | 
			
		||||
 | 
			
		||||
    response = request.urlopen(CFG_URL)
 | 
			
		||||
    print(f"Reading config template from GitHub: Response {response.status}")
 | 
			
		||||
    
 | 
			
		||||
    if response.status == 200:
 | 
			
		||||
        data = response.read()
 | 
			
		||||
 | 
			
		||||
        if len(data) > 0:
 | 
			
		||||
            with open("_includes/config.yaml", "w") as f:
 | 
			
		||||
                f.write(str(data.decode()))
 | 
			
		||||
 | 
			
		||||
    @env.macro
 | 
			
		||||
    def listimages(subdir):
 | 
			
		||||
        """
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user