-
Notifications
You must be signed in to change notification settings - Fork 2
Server Configuration
mauricelambert edited this page Jul 23, 2021
·
8 revisions
The server configuration is modified with default configuration files, custom configuration files and command line arguments.
Priority:
- Command line arguments
- Custom JSON files
- Custom INI files
- Default JSON file
- Default INI file
The default configuration JSON files:
{
"server": {
"interface": "127.0.0.1",
"port": 8000,
"debug": false,
"security": true,
"accept_unknow_user": false,
"accept_unauthenticated_user": false,
"active_auth": true,
"auth_script": "auth.py",
"scripts_path": ["./scripts/account", "./scripts/passwords"],
"json_scripts_config": ["./config/scripts/*.json"],
"ini_scripts_config": ["./config/scripts/*.ini"],
"documentations_path": ["./doc/*.html"],
"modules": null,
"modules_path": null,
"js_path": ["./static/js/*.js"],
"statics_path": ["./static/html/*.html", "./static/css/*.css", "./static/images/*.jpg", "./static/pdf/*.pdf"],
"log_level": "0",
"log_filename": "./logs/logs.log",
"log_format": "%(asctime)s %(levelname)s %(message)s (%(funcName)s -> %(filename)s:%(lineno)d)",
"log_date_format": "%d/%m/%Y %H:%M:%S",
"log_encoding": "utf-8",
"auth_failures_to_blacklist": 3,
"blacklist_time": 30
}
}
The default configuration INI file:
[server]
interface=127.0.0.1 # required value
port=8000 # required value
debug=false # Export config and get error messages on HTTP errors pages [NEVER true in production]
security=true # Add security HTTP headers
accept_unknow_user=false # Don't force a user to re-authenticate
accept_unauthenticated_user=false # Don't force authentication for new user
active_auth=true # Active auth page
auth_script=auth.py # Change it to use a custom authentication script
scripts_path=./scripts/account,./scripts/passwords # Add scripts from location
json_scripts_config=./config/scripts/*.json # Add server configuration (syntax: json)
ini_scripts_config=./config/scripts/*.ini # Add server configuration (syntax: cfg, ini)
documentations_path=./doc/*.html # Add path to search documentation scripts
modules # Add custom modules (names) to the server
modules_path # Add directory to import custom modules
# modules=hello
# modules_path=./scripts/py
js_path=./static/js/*.js # Add glob syntax files to get javascript files
statics_path=./static/html/*.html,./static/css/*.css,./static/images/*.jpg,./static/pdf/*.pdf # Add glob syntax files to get static files
log_level=0 # Set your custom log level {"0", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"}
log_filename=./logs/logs.log # Write your custom logs in this filename
log_format=%(asctime)s %(levelname)s %(message)s (%(funcName)s -> %(filename)s:%(lineno)d) # Format for your custom logs (https://docs.python.org/3/library/logging.html#id2)
log_date_format=%d/%m/%Y %H:%M:%S # Format date for your custom logs (https://docs.python.org/3/library/time.html#time.strftime)
log_encoding=utf-8 # Encoding for your custom log file
auth_failures_to_blacklist=3 # Number of authentication failures to blacklist an IP address or user
blacklist_time=30 # Blacklist time in seconds
- interface: to change the connection interface
- port: to change the connection port
- debug: active the debug mode (export configuration, print error message and existing URLs in web page)
- security: send security HTTP headers
- accept_unknow_user and accept_unknow_user: don't force client authentication
- active_auth: active the authentication script
- auth_script: filename for the authentication script
- scripts_path: paths to research a script (if not defined in script configuration)
- json_scripts_config: glob syntax to get JSON files
- statics_path: glob syntax to get static files (HTML files, CSS files, pictures, PDF files, text files...)
- log_level: Log level for ROOT logger (impact all loggers, recommended value: "0")
- log_filename: log filename for ROOT logger (impact ROOT logger only)
- log_format: log format for ROOT logger (impact ROOT logger only), references
- log_date_format: date format for logs (impact ROOT logger only), references
- log_encoding: encoding for log file (impact ROOT logger only, recommended value: "utf-8")
- auth_failures_to_blacklist: Number of authentication failures to blacklist an IP address or user
- blacklist_time: Time in seconds to blacklist an IP address or user
To build a list in INI files, use ,
.
Example:
list=value1,value2,value3
To build a list in INI files, use true
or false
.
Example:
booleanTrue=true
booleanFalse=false