Configuration Settings
Configuration can be done either by using a configuration file or with environnement variable.
Except stated otherwise, the rule for environnement variable names is QGSRV_<SECTION>_<KEY>
all in uppercase.
Common Configuration Options
SERVER_HTTP_PORT
Port to listen to
- Type:
int
- Default:
8080
- Section:
server
- Key:
port
- Env:
QGSRV_SERVER_HTTP_PORT
SERVER_INTERFACES
Interfaces to listen to
- Type:
string
- Default:
0.0.0.0
- Section:
server
- Key:
interfaces
- Env:
QGSRV_SERVER_INTERFACES
SERVER_TIMEOUT
Set the timeout for Qgis response in seconds. If a Qgis worker takes more than the corresponding value a timeout error (504) is returned to the client.
- Type:
int
- Default:
20
- Section:
server
- Key:
timeout
- Env:
QGSRV_SERVER_TIMEOUT
SERVER_WORKERS
The number of workers for processing requests
- Type:
int
- Default:
2
- Section:
server
- Key:
workers
- Env:
QGSRV_SERVER_WORKERS
SERVER_ENABLE_FILTERS
Enable filters as python extension
- Type:
boolean
- Default:
yes
- Section:
server
- Key:
enable_filters
- Env:
QGSRV_SERVER_ENABLE_FILTERS
SERVER_HTTP_PROXY
Indicates that the server is behind a reverse proxy
- Type:
boolean
- Default:
no
- Section:
server
- Key:
http_proxy
- Env:
QGSRV_SERVER_HTTP_PROXY
SERVER_PROXY_URL
The url that must be seen by the client when the server is behind a proxy. Note that this option will be overridden by QGIS_SERVER_<SERVICE>_URL or by X-Qgis-<service>-Url headers.
- Type:
string
- Section:
server
- Key:
proxy_url
- Env:
QGSRV_SERVER_PROXY_URL
SERVER_RESTARTMON
The file to watch for restarting workers. When the modified date of the file is changed. a restart command is broadcasted to the workers. Note that workers processes are restarted without dropping requests.
- Type:
path
- Section:
server
- Key:
restartmon
- Env:
QGSRV_SERVER_RESTARTMON
SERVER_PLUGINPATH
The path to qgis server plugins
- Type:
path
- Section:
server
- Key:
pluginpath
- Env:
QGSRV_SERVER_PLUGINPATH
- Alternate name:
QGIS_PLUGINPATH
SERVER_SSL
Enable SSL endpoint
- Type:
boolean
- Default:
no
- Section:
server
- Key:
ssl
- Env:
QGSRV_SERVER_SSL
SERVER_SSL_CERT
Path to the SSL certificat file
- Type:
path
- Section:
server
- Key:
ssl_cert
- Env:
QGSRV_SERVER_SSL_CERT
SERVER_SSL_KEY
Path to the SSL key file
- Type:
path
- Section:
server
- Key:
ssl_key
- Env:
QGSRV_SERVER_SSL_KEY
SERVER_CROSS_ORIGIN
Allows any origin for CORS. If set to ‘no’, allow only CORS for the ‘Origin’ header.
- Type:
boolean
- Default:
yes
- Section:
server
- Key:
cross_origin
- Env:
QGSRV_SERVER_CROSS_ORIGIN
SERVER_MEMORY_HIGH_WATER_MARK
Set memory high water mark as fraction of total memory. Workers are restarted if total memory percent usage of workers exceed that value.
- Type:
float
- Default:
0.9
- Version Added:
1.8.0
- Section:
server
- Key:
memory_high_water_mark
- Env:
QGSRV_SERVER_MEMORY_HIGH_WATER_MARK
SERVER_GETFEATURELIMIT
Define default limit for WFS/GetFeature requests. A negative value set no limit; this may be a concern with requests returning a high number of values.
- Type:
int
- Default:
-1
- Version Added:
1.8.1
- Section:
server
- Key:
getfeaturelimit
- Env:
QGSRV_SERVER_GETFEATURELIMIT
SERVER_ALLOW_HEADERS
Set the headers - as comma separated header prefix - that will be forwarded to the Qgis server worker. This may be useful if you have plugins that may deal with request headers.
- Type:
string
- Default:
X-Qgis-,X-Lizmap-
- Version Added:
1.8.8
- Section:
server
- Key:
allow_headers
- Env:
QGSRV_SERVER_ALLOW_HEADERS
LOGGING_LEVEL
Set the logging level
- Type:
[‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’]
- Default:
DEBUG
- Section:
logging
- Key:
level
- Env:
QGSRV_LOGGING_LEVEL
QGIS_INFO
Log out qgis ‘Info’ message logs
- Type:
boolean
- Default:
no
- Section:
logging
- Key:
level
- Env:
QGSRV_QGIS_INFO
CACHE_SIZE
The maximal number of Qgis projects held in cache. The cache strategy is LRU.
- Type:
int
- Default:
10
- Section:
projects.cache
- Key:
size
- Env:
QGSRV_CACHE_SIZE
CACHE_ROOTDIR
The directory location for Qgis project files.
- Type:
path
- Section:
projects.cache
- Key:
rootdir
- Env:
QGSRV_CACHE_ROOTDIR
CACHE_STRICT_CHECK
Activate strict checking of project layers. When enabled, Qgis projects with invalid layers will be dismissed and an ‘Unprocessable Entity’ (422) HTTP error will be issued.
- Type:
boolean
- Default:
yes
- Section:
projects.cache
- Key:
strict_check
- Env:
QGSRV_CACHE_STRICT_CHECK
CACHE_INSECURE
Enable or disable the insecure cache mode. The insecure cache mode allow scheme handlers to enable or disable some features considered harmful. See the handler’s description for the limitations induced in secure mode.
- Type:
boolean
- Default:
no
- Section:
projects.cache
- Key:
insecure
- Env:
QGSRV_CACHE_INSECURE
TRUST_LAYER_METADATA
Trust layer metadata. Improves layer load time by skipping expensive checks like primary key unicity, geometry type and srid and by using estimated metadata on layer load. Since QGIS 3.16.
- Type:
boolean
- Default:
no
- Version Added:
1.4
- Section:
projects.cache
- Key:
trust_layer_metadata
- Env:
QGSRV_TRUST_LAYER_METADATA
- Alternate name:
QGIS_SERVER_TRUST_LAYER_METADATA
DISABLE_GETPRINT
Don’t load print layouts. Improves project read time if layouts are not required, and allows projects to be safely read in background threads (since print layouts are not thread safe).
- Type:
boolean
- Default:
no
- Version Added:
1.4
- Section:
projects.cache
- Key:
disable_getprint
- Env:
QGSRV_DISABLE_GETPRINT
- Alternate name:
QGIS_SERVER_DISABLE_GETPRINT
CACHE_PRELOAD_CONFIG
Path to configuration file for preloading projects. The file must have one project uri per line. Each uri is similar to the project uri passed in the ‘MAP’ query parameter of OWS requests. Preloaded projects are stored in a static cache, i.e they are not subject to lru eviction.
- Type:
path
- Version Added:
1.4
- Section:
projects.cache
- Key:
preload_config
- Env:
QGSRV_CACHE_PRELOAD_CONFIG
CACHE_DISABLE_OWSURLS
Disable ows urls defined in projects. This may be necessary because Qgis projects urls override proxy urls.
- Type:
boolean
- Default:
no
- Version Added:
1.5.4
- Section:
projects.cache
- Key:
disable_owsurls
- Env:
QGSRV_CACHE_DISABLE_OWSURLS
CACHE_FORCE_ETAG
Force etag header even if ‘TRUST_LAYER_METADATA’ is not set. By default etags are set only when ‘TRUST_LAYER_METADATA’ is set because capabilities rely only on qgis project data and not on the underlying layer data.
- Type:
boolean
- Default:
no
- Version Added:
1.7.13
- Section:
projects.cache
- Key:
force_etag
- Env:
QGSRV_CACHE_FORCE_ETAG
CACHE_DEFAULT_HANDLER
Set the default handler for MAP parameters
- Type:
string
- Section:
projects.cache
- Key:
preload_config
- Env:
QGSRV_CACHE_DEFAULT_HANDLER
CACHE_ALLOW_STORAGE_SCHEMES
Restrict authorized project storage scheme for projects uri to those listed - The value must be a comma separated list of allowed schemes. The value ‘*’ allow any scheme. Note that aliases are resolved before applying restrictions.
- Type:
str
- Default:
*
- Section:
projects.cache
- Key:
allow_storage_schemes
- Env:
QGSRV_CACHE_ALLOW_STORAGE_SCHEMES
CACHE_CHECK_INTERVAL
Set the time interval in seconds between two check for invalidation/refresh of the cache content. If set to a value > 0 then the cache is checked for invalidation/refresh asynchronously every seconds defined by the option. If set to 0 (or negative value), the cache is checked for invalidation synchronously at each request. When set to 0 with slow projects to load, user may experience latency, so it is recommended to use asynchronous check with such projects in conjunction with a static cache.
- Type:
int
- Section:
projects.cache
- Key:
refresh_interval
- Env:
QGSRV_CACHE_CHECK_INTERVAL
API_ENABLED_LANDING_PAGE
Enable access to qgis ‘landing page’ api
- Type:
boolean
- Default:
no
- Version Added:
1.7.2
- Section:
api.enabled
- Key:
landing_page
- Env:
QGSRV_API_ENABLED_LANDING_PAGE
API_ENDPOINTS_LANDING_PAGE
Define endpoint access to the ‘landing page’ service
- Type:
str
- Default:
/ows/catalog
- Version Added:
1.7.2
- Section:
api.endpoints
- Key:
landing_page
- Env:
QGSRV_API_ENDPOINTS_LANDING_PAGE
API_ENABLED_LIZMAP
Enable access to the Lizmap API
- Type:
boolean
- Default:
no
- Version Added:
1.8.4
- Section:
api.enabled
- Key:
lizmap_api
- Env:
QGSRV_API_ENABLED_LIZMAP
API_ENDPOINTS_LIZMAP
Define endpoint access to the Lizmap API
- Type:
str
- Default:
/lizmap
- Version Added:
1.8.4
- Section:
api.endpoints
- Key:
lizmap_api
- Env:
QGSRV_API_ENDPOINTS_LIZMAP
MANAGEMENT_ENABLED
Activate management API service. The management API is REST api for controlling and inspecting the server behavior, plugins and cached projects. Starting from 1.7.0, this is a experimental feature and will be subject to change. The api will be considered as ‘stable’ from the 1.8.0 version.
- Type:
boolean
- Default:
no
- Version Added:
1.7.0
- Section:
management
- Key:
enabled
- Env:
QGSRV_MANAGEMENT_ENABLED
MANAGEMENT_INTERFACES
Network interfaces to listen to. The management API service will listen on this interface
- Type:
string
- Default:
127.0.0.1
- Version Added:
1.7.0
- Section:
management
- Key:
interfaces
- Env:
QGSRV_MANAGEMENT_INTERFACES
MANAGEMENT_PORT
Port to listen to
- Type:
int
- Default:
19876
- Section:
management
- Key:
port
- Env:
QGSRV_MANAGEMENT_PORT
MANAGEMENT_SSL
Enable SSL endpoint for API management
- Type:
boolean
- Default:
no
- Section:
management
- Key:
ssl
- Env:
QGSRV_MANAGEMENT_SSL
MANAGEMENT_SSL_CERT
Path to the SSL certificat file for the management API
- Type:
path
- Section:
management
- Key:
ssl_cert
- Env:
QGSRV_MANAGEMENT_SSL_CERT
MANAGEMENT_SSL_KEY
Path to the SSL key file for the management API
- Type:
path
- Section:
management
- Key:
ssl_key
- Env:
QGSRV_MANAGEMENT_SSL_KEY