pgadmin4/web/config.py

272 lines
8.8 KiB
Python
Raw Normal View History

2015-02-25 11:06:00 -06:00
# -*- coding: utf-8 -*-
2014-12-16 09:54:29 -06:00
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
2016-01-18 08:48:14 -06:00
# Copyright (C) 2013 - 2016, The pgAdmin Development Team
2014-12-16 09:54:29 -06:00
# This software is released under the PostgreSQL Licence
#
# config.py - Core application configuration settings
2014-12-16 09:54:29 -06:00
#
##########################################################################
import os
2016-06-21 08:12:14 -05:00
from logging import *
2014-12-16 09:54:29 -06:00
##########################################################################
# Application settings
##########################################################################
# Name of the application to display in the UI
APP_NAME = 'pgAdmin 4'
APP_ICON = 'icon-postgres-alt'
# Application version number components
APP_RELEASE = 1
APP_REVISION = 0
# Application version suffix, e.g. 'beta1', 'dev'. Usually an empty string
# for GA releases.
2016-06-21 06:20:01 -05:00
APP_SUFFIX = 'beta2'
# Copyright string for display in the app
2016-01-18 08:48:14 -06:00
APP_COPYRIGHT = 'Copyright 2013 - 2016, The pgAdmin Development Team'
# Path to the online help.
HELP_PATH = '../../../docs/en_US/_build/html/'
2015-02-25 11:06:00 -06:00
# Languages we support in the UI
LANGUAGES = {
'en': 'English',
'fr': 'Français'
}
# DO NOT CHANGE!
# The application version string, constructed from the components
APP_VERSION = '%s.%s-%s' % (APP_RELEASE, APP_REVISION, APP_SUFFIX)
2015-01-20 06:32:06 -06:00
# DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING!
# List of modules to skip when dynamically loading
MODULE_BLACKLIST = ['test']
# DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING!
# List of treeview browser nodes to skip when dynamically loading
NODE_BLACKLIST = []
# Data directory for storage of config settings etc. This shouldn't normally
# need to be changed - it's here as various other settings depend on it.
if os.name == 'nt':
DATA_DIR = os.path.realpath(os.getenv('APPDATA') + "/pgAdmin")
else:
DATA_DIR = os.path.realpath(os.path.expanduser('~/.pgadmin/'))
##########################################################################
# Log settings
##########################################################################
2014-12-16 11:37:53 -06:00
# Debug mode?
DEBUG = False
2014-12-16 11:37:53 -06:00
2014-12-16 09:54:29 -06:00
# Application log level - one of:
# CRITICAL 50
# ERROR 40
# WARNING 30
# SQL 25
# INFO 20
# DEBUG 10
# NOTSET 0
CONSOLE_LOG_LEVEL = WARNING
FILE_LOG_LEVEL = INFO
# Log format.
CONSOLE_LOG_FORMAT = '%(asctime)s: %(levelname)s\t%(name)s:\t%(message)s'
FILE_LOG_FORMAT = '%(asctime)s: %(levelname)s\t%(name)s:\t%(message)s'
2014-12-16 09:54:29 -06:00
# Log file name
LOG_FILE = os.path.join(
DATA_DIR,
'pgadmin4.log'
)
##########################################################################
# Server settings
##########################################################################
# The server mode determines whether or not we're running on a web server
# requiring user authentication, or desktop mode which uses an automatic
# default login.
#
# DO NOT DISABLE SERVER MODE IF RUNNING ON A WEBSERVER!!
SERVER_MODE = True
# User ID (email address) to use for the default user in desktop mode.
# The default should be fine here, as it's not exposed in the app.
DESKTOP_USER = 'pgadmin4@pgadmin.org'
# This configuration otion allows the user to host the application on a LAN
# Default hosting is on localhost (DEFAULT_SERVER='localhost').
# To host pgAdmin4 over LAN set DEFAULT_SERVER='0.0.0.0' (or a specific
# adaptor address.
#
# NOTE: This is NOT recommended for production use, only for debugging
# or testing. Production installations should be run as a WSGI application
# behind Apache HTTPD.
DEFAULT_SERVER = 'localhost'
# The default port on which the app server will listen if not set in the
# environment by the runtime
DEFAULT_SERVER_PORT = 5050
2014-12-16 09:54:29 -06:00
2014-12-16 11:37:53 -06:00
# Enable CSRF protection?
CSRF_ENABLED = True
# Secret key for signing CSRF data. Override this in config_local.py if
2014-12-16 11:37:53 -06:00
# running on a web server
CSRF_SESSION_KEY = 'SuperSecret1'
2014-12-16 11:37:53 -06:00
# Secret key for signing cookies. Override this in config_local.py if
2014-12-16 11:37:53 -06:00
# running on a web server
SECRET_KEY = 'SuperSecret2'
# Salt used when hashing passwords. Override this in config_local.py if
# running on a web server
SECURITY_PASSWORD_SALT = 'SuperSecret3'
# Hashing algorithm used for password storage
SECURITY_PASSWORD_HASH = 'pbkdf2_sha512'
# Should HTML be minified on the fly when not in debug mode?
MINIFY_HTML = True
##########################################################################
# Server Connection Driver Settings
##########################################################################
# The default driver used for making connection with PostgreSQL
PG_DEFAULT_DRIVER = 'psycopg2'
# Maximum allowed idle time in minutes before which releasing the connection
# for the particular session. (in minutes)
MAX_SESSION_IDLE_TIME = 60
##########################################################################
# User account and settings storage
##########################################################################
# The schema version number for the configuration database
# DO NOT CHANGE UNLESS YOU ARE A PGADMIN DEVELOPER!!
2016-06-06 07:34:08 -05:00
SETTINGS_SCHEMA_VERSION = 11
# The default path to the SQLite database used to store user accounts and
# settings. This default places the file in the same directory as this
# config file, but generates an absolute path for use througout the app.
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4.db'
)
# SQLITE_TIMEOUT will define how long to wait before throwing the error -
# OperationError due to database lock. On slower system, you may need to change
# this to some higher value.
# (Default: 500 milliseconds)
SQLITE_TIMEOUT = 500
##########################################################################
# Server-side session storage path
#
# SESSION_DB_PATH (Default: $HOME/.pgadmin4/sessions)
##########################################################################
#
# We use SQLite for server-side session storage. There will be one
# SQLite database object per session created.
#
# Specify the path used to store your session objects.
#
# If the specified directory does not exist, the setup script will create
# it with permission mode 700 to keep the session database secure.
#
# On certain systems, you can use shared memory (tmpfs) for maximum
# scalability, for example, on Ubuntu:
#
# SESSION_DB_PATH = '/run/shm/pgAdmin4_session'
#
##########################################################################
SESSION_DB_PATH = os.path.join(
DATA_DIR,
'sessions'
)
SESSION_COOKIE_NAME = 'pga4_session'
##########################################################################
# Mail server settings
##########################################################################
# These settings are used when running in web server mode for confirming
# and resetting passwords etc.
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 465
MAIL_USE_SSL = True
MAIL_USERNAME = 'username'
MAIL_PASSWORD = 'SuperSecret'
##########################################################################
# Mail content settings
##########################################################################
# These settings define the content of password reset emails
SECURITY_EMAIL_SUBJECT_PASSWORD_RESET = "Password reset instructions for %s" \
% APP_NAME
SECURITY_EMAIL_SUBJECT_PASSWORD_NOTICE = "Your %s password has been reset" \
% APP_NAME
SECURITY_EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE = \
"Your password for %s has been changed" % APP_NAME
2014-12-16 11:37:53 -06:00
##########################################################################
# Upgrade checks
##########################################################################
# Check for new versions of the application?
UPGRADE_CHECK_ENABLED = True
# Where should we get the data from?
2016-05-21 12:54:12 -05:00
UPGRADE_CHECK_URL = 'https://www.pgadmin.org/versions.json'
##########################################################################
# Storage Manager storage url config settings
# If user sets STORAGE_DIR to empty it will show all volumes if platform
# is Windows, '/' if it is Linux, Mac or any other unix type system.
# For example:
# 1. STORAGE_DIR = get_drive("C") or get_drive() # return C:/ by default
# where C can be any drive character such as "D", "E", "G" etc
# 2. Set path manually like
# STORAGE_DIR = "/path/to/directory/"
##########################################################################
STORAGE_DIR = os.path.join(
DATA_DIR,
'storage'
)
##########################################################################
# Allows flask application to response to the each request asynchronously
##########################################################################
THREADED_MODE = True
##########################################################################
# Local config settings
##########################################################################
2014-12-16 09:54:29 -06:00
# Load distribution-specific config overrides
try:
from config_distro import *
except ImportError:
pass
2014-12-16 09:54:29 -06:00
# Load local config overrides
try:
from config_local import *
except ImportError:
pass