Skip to content

Optional Configuration Settings


Default: None

The base URL path to use when accessing Peering Manager. Do not include the scheme or domain name. For example, if installed at [], set:

BASE_PATH = "peering/"


Default: True

Parse X-Forwarded-Host for actual hostname instead of relying on host header.


Default: ("HTTP_X_FORWARDED_PROTO", "https")

Parse defined header to let Django know that HTTPS is being used. This way e.g. generated API URLs will have the corresponding https:// prefix.

E.g. SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") to check for https value in X-Forwarded-Proto header.


Default: False

This setting enables debugging. This should be done only during development or troubleshooting. Never enable debugging on a production system, as it can expose sensitive data to users (even unauthenticated).


Default: several files will be used for logging in the logs directory.

The Django framework on which Peering Manager runs allows for the customization of logging, e.g. to write logs to file. Please consult the Django logging documentation for more information on configuring this setting.


Default: 300

The maximum execution time of a background task, in seconds.


Default: 0

The number of seconds to retain cache entries before automatically invalidating them. Setting the value to 0 will disable the use of the caching functionality.


Default: 900

The number of seconds to retain cache entries for NAPALM BGP details data before automatically invalidating them. It improves the speed of operations such as polling session statuses. Setting the value to 0 will disable the use of the caching functionality.


Default: 90

The number of days to retain logged changes (object creations, updates, and deletions). Set this to 0 to retain changes in the database indefinitely. (Warning: This will greatly increase database size over time having also an impact on its performances)


Default: False

Setting this to True will permit only authenticated users to access Peering Manager. By default, anonymous users are permitted to access Peering Manager as read-only.


In order to send email, Peering Manager needs an email server configured. The following items can be defined within the EMAIL setting:

  • SERVER - Host name or IP address of the email server (use localhost if running locally)
  • PORT - TCP port to use for the connection (default: 25)
  • USERNAME - Username with which to authenticate
  • PASSSWORD - Password with which to authenticate
  • TIMEOUT - Time to wait for a connection (in seconds)
  • FROM_ADDRESS - Sender address for emails sent by Peering Manager
  • SUBJECT_PREFIX - Prefix of the subject for outgoing emails
  • USE_SSL - Use implicit TLS connections, usually on port 465
  • USE_TLS - Use explicit TLS connections, usually on port 587
  • CC_CONTACTS - Available CC Contacts when sending emails. Formatted like [("", "NOC Contact"), ("", "NetOps Team")]

Note that USE_TLS/USE_SSL are mutually exclusive, so only set one of those settings to True.


    'SERVER': 'localhost',
    'FROM_ADDRESS': '',
    'SUBJECT_PREFIX': '[Peering]'
    'CC_CONTACTS': [
        ('', 'Peering Contact'),
        ('', 'NOC'),


Default: []

List of Jinja2 extensions to load when rendering templates. Extensions can be used to add more features to the initial ones. Extensions that are not built into Jinja2 need to be installed in the Python environment used to run Peering Manager.


PeeringDB API key used to authenticate against PeeringDB allowing Peering Manager to synchronize data not accessible without authentication (such as e-mail contacts).



These settings are being used to authenticate to PeeringDB.


Peering Manager will use these credentials when authenticating to remote devices via the NAPALM library, if installed. Both parameters are optional but they are required if you want Peering Manager to push configurations to your devices. They can be overriden on a per-router basis.


A dictionary of optional arguments to pass to NAPALM when instantiating a network driver. See the NAPALM documentation for a complete list of optional arguments. It can be overriden on a per-router basis.


Default: 30 seconds

The amount of time (in seconds) to wait for NAPALM to connect to a device. It can be overriden on a per-router basis.


Default: 20

Determine how many objects to display per page within each list of objects.


Default: UTC

The time zone Peering Manager will for date and time operations. Peering Manager will also attempt to determine this value from /etc/timezone before defaulting to UTC. List of available time zones.


Default: bgpq3

The path to the BGPQ3 binary. By default, Peering Manager will look for bgpq3 in the system PATH. An absolute path to the binary is preferred if you need to change this setting.



The host that will be used by BGPQ3 to look for IRR objects.



A list of comma separated sources from which we will accept IRR objects.


Default: {"ipv6": ["-r", "16", "-R", "48"], "ipv4": ["-r", "8", "-R", "24"]}

A dictionary with two keys: ipv6 and ipv4. Each value must be a list of strings to pass to BGPQ3. No spaces are allowed inside strings. If a string has a space in it, it should be split into two distinct strings.

By default the arguments given will ask BGPQ3 to look for IPv6 prefixes with a mask length greater than or equal to 16 and less than or equal to 48 and for IPv4 prefixes with a mask length greater than or equal to 8 and less than or equal to 24.


Default: None

The NetBox API URL to which the queries must be sent to.


Default: None

The API token registered in the NetBox instance to be used in queries.


Default: False

Turn on or off threading in some API requests.


Default: True

Turn on or off API SSL certificate verification. Turning it off may be useful if you use an auto-generated certificate for the NetBox API.


Default: ["router", "firewall", "switch"]

The roles that devices must have in the NetBox instance that will be queried.



The URL to detect new releases, which are shown on the home page of the web interface. You can change this to your own fork, or set it to None to disable it. The URL provided must be compatible with the GitHub API.


Default: 86400 (24 hours)

The number of seconds to retain the latest version that is fetched from the GitHub API before fetching it from the API again. This value cannot be set to less than 3600 seconds (1 hour).


Default: "PeeringManager/x.y"

User agent that Peering Manager will user when making requests to external HTTP resources. It should probably not be changed unless you have issues with specific HTTP endpoints.