config_example.py 3.2 KB
Newer Older
baltery's avatar
baltery 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
"""
    jumpserver.config
    ~~~~~~~~~~~~~~~~~

    Jumpserver project setting file

    :copyright: (c) 2014-2016 by Jumpserver Team.
    :license: GPL v2, see LICENSE for more details.
"""
import os

BASE_DIR = os.path.dirname(os.path.abspath(__file__))


class Config:
baltery's avatar
baltery 已提交
16 17
    # Use it to encrypt or decrypt data
    # SECURITY WARNING: keep the secret key used in production secret!
baltery's avatar
baltery 已提交
18
    SECRET_KEY = os.environ.get('SECRET_KEY') or '2vym+ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%x'
baltery's avatar
baltery 已提交
19

baltery's avatar
baltery 已提交
20
    # How many line display every page if using django pager, default 25
baltery's avatar
baltery 已提交
21
    DISPLAY_PER_PAGE = 25
baltery's avatar
baltery 已提交
22 23 24 25 26 27 28

    # It's used to identify your site, When we send a create mail to user, we only know login url is /login/
    # But we should know the absolute url like: http://jms.jumpserver.org/login/, so SITE_URL is
    # HTTP_PROTOCOL://HOST[:PORT]
    SITE_URL = 'http://localhost'

    # Django security setting, if your disable debug model, you should setting that
baltery's avatar
baltery 已提交
29
    ALLOWED_HOSTS = ['*']
baltery's avatar
baltery 已提交
30 31 32 33 34

    # Development env open this, when error occur display the full process track, Production disable it
    DEBUG = True

    # DEBUG, INFO, WARNING, ERROR, CRITICAL can set. See https://docs.djangoproject.com/en/1.10/topics/logging/
baltery's avatar
baltery 已提交
35
    LOG_LEVEL = 'DEBUG'
baltery's avatar
baltery 已提交
36
    LOG_DIR = os.path.join(BASE_DIR, 'logs')
baltery's avatar
baltery 已提交
37 38 39 40

    # Database setting, Support sqlite3, mysql, postgres ....
    # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases

baltery's avatar
baltery 已提交
41 42
    # SQLite setting:
    DB_ENGINE = 'sqlite3'
G
GuangHongwei 已提交
43
    DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
baltery's avatar
baltery 已提交
44

baltery's avatar
baltery 已提交
45
    # MySQL or postgres setting like:
baltery's avatar
baltery 已提交
46 47 48 49 50 51 52 53
    # DB_ENGINE = 'mysql'
    # DB_HOST = '127.0.0.1'
    # DB_PORT = 3306
    # DB_USER = 'root'
    # DB_PASSWORD = ''
    # DB_NAME = 'jumpserver'

    # Use Redis as broker for celery and web socket
baltery's avatar
baltery 已提交
54 55
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379
baltery's avatar
baltery 已提交
56 57 58 59 60 61
    REDIS_PASSWORD = ''
    BROKER_URL = 'redis://%(password)s%(host)s:%(port)s/3' % {
        'password': REDIS_PASSWORD,
        'host': REDIS_HOST,
        'port': REDIS_PORT,
    }
baltery's avatar
baltery 已提交
62

baltery's avatar
baltery 已提交
63
    # Api token expiration when create, Jumpserver refresh time when request arrive
baltery's avatar
baltery 已提交
64 65
    TOKEN_EXPIRATION = 3600

baltery's avatar
baltery 已提交
66
    # Session and csrf domain settings
67 68
    SESSION_COOKIE_AGE = 3600*24

baltery's avatar
baltery 已提交
69
    # Email SMTP setting, we only support smtp send mail
baltery's avatar
baltery 已提交
70 71 72 73 74 75 76
    EMAIL_HOST = 'smtp.163.com'
    EMAIL_PORT = 25
    EMAIL_HOST_USER = ''
    EMAIL_HOST_PASSWORD = ''  # Caution: Some SMTP server using `Authorization Code` except password
    EMAIL_USE_SSL = True if EMAIL_PORT == 465 else False
    EMAIL_USE_TLS = True if EMAIL_PORT == 587 else False
    EMAIL_SUBJECT_PREFIX = '[Jumpserver] '
baltery's avatar
baltery 已提交
77

78 79
    CAPTCHA_TEST_MODE = False

baltery's avatar
baltery 已提交
80 81 82
    # You can set jumpserver usage url here, that when user submit wizard redirect to
    USER_GUIDE_URL = ''

baltery's avatar
baltery 已提交
83 84 85 86 87
    # LDAP Auth settings
    AUTH_LDAP = False
    AUTH_LDAP_SERVER_URI = 'ldap://localhost:389'
    AUTH_LDAP_BIND_DN = 'cn=admin,dc=jumpserver,dc=org'
    AUTH_LDAP_BIND_PASSWORD = ''
baltery's avatar
baltery 已提交
88 89
    AUTH_LDAP_SEARCH_OU = 'ou=tech,dc=jumpserver,dc=org'
    AUTH_LDAP_SEARCH_FILTER = '(cn=%(user)s)'
baltery's avatar
baltery 已提交
90 91 92 93 94 95 96
    AUTH_LDAP_USER_ATTR_MAP = {
        "username": "cn",
        "name": "sn",
        "email": "mail"
    }
    AUTH_LDAP_START_TLS = False

baltery's avatar
baltery 已提交
97 98 99
    def __init__(self):
        pass

baltery's avatar
baltery 已提交
100
    def __getattr__(self, item):
baltery's avatar
baltery 已提交
101 102 103 104
        return None


config = {
baltery's avatar
baltery 已提交
105
    'default': Config,
baltery's avatar
baltery 已提交
106 107
}

baltery's avatar
baltery 已提交
108
env = 'default'