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: ---
 | 
					  # --- Available options: ---
 | 
				
			||||||
  # ENGINE: Database engine. Selection from:
 | 
					  # ENGINE: Database engine. Selection from:
 | 
				
			||||||
 | 
					  #         - sqlite3
 | 
				
			||||||
  #         - mysql
 | 
					  #         - mysql
 | 
				
			||||||
  #         - postgresql
 | 
					  #         - postgresql
 | 
				
			||||||
  # NAME: Database name
 | 
					  # NAME: Database name
 | 
				
			||||||
@@ -22,6 +23,10 @@ database:
 | 
				
			|||||||
  # HOST: Database host address (if required)
 | 
					  # HOST: Database host address (if required)
 | 
				
			||||||
  # PORT: Database host port (if required)
 | 
					  # PORT: Database host port (if required)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # --- Example Configuration - sqlite3 ---
 | 
				
			||||||
 | 
					  # ENGINE: sqlite3
 | 
				
			||||||
 | 
					  # NAME: '/home/inventree/database.sqlite3'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # --- Example Configuration - MySQL ---
 | 
					  # --- Example Configuration - MySQL ---
 | 
				
			||||||
  #ENGINE: mysql
 | 
					  #ENGINE: mysql
 | 
				
			||||||
  #NAME: inventree
 | 
					  #NAME: inventree
 | 
				
			||||||
@@ -63,6 +68,19 @@ currencies:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Email backend configuration
 | 
					# Email backend configuration
 | 
				
			||||||
# Ref: https://docs.djangoproject.com/en/dev/topics/email/
 | 
					# 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:
 | 
					email:
 | 
				
			||||||
  # backend: 'django.core.mail.backends.smtp.EmailBackend'
 | 
					  # backend: 'django.core.mail.backends.smtp.EmailBackend'
 | 
				
			||||||
@@ -78,11 +96,33 @@ email:
 | 
				
			|||||||
# Use the environment variable INVENTREE_DEBUG
 | 
					# Use the environment variable INVENTREE_DEBUG
 | 
				
			||||||
debug: True
 | 
					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
 | 
					# Configure the system logging level
 | 
				
			||||||
# Use environment variable INVENTREE_LOG_LEVEL
 | 
					# Use environment variable INVENTREE_LOG_LEVEL
 | 
				
			||||||
# Options: DEBUG / INFO / WARNING / ERROR / CRITICAL
 | 
					# Options: DEBUG / INFO / WARNING / ERROR / CRITICAL
 | 
				
			||||||
log_level: WARNING
 | 
					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
 | 
					# MEDIA_ROOT is the local filesystem location for storing uploaded files
 | 
				
			||||||
# By default, it is stored under /home/inventree/data/media
 | 
					# By default, it is stored under /home/inventree/data/media
 | 
				
			||||||
# Use environment variable INVENTREE_MEDIA_ROOT
 | 
					# 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
 | 
					# By default, it is stored under /home/inventree/data/static
 | 
				
			||||||
# Use environment variable INVENTREE_STATIC_ROOT
 | 
					# Use environment variable INVENTREE_STATIC_ROOT
 | 
				
			||||||
static_root: '/home/inventree/data/static'
 | 
					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"
 | 
					!!! 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
 | 
					import os
 | 
				
			||||||
from posixpath import dirname
 | 
					from posixpath import dirname
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from urllib import request
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def define_env(env):
 | 
					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
 | 
					    @env.macro
 | 
				
			||||||
    def listimages(subdir):
 | 
					    def listimages(subdir):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user