mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
5.0 KiB
162 lines
5.0 KiB
""" |
|
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__)) |
|
LOG_DIR = os.path.join(BASE_DIR, 'logs') |
|
|
|
|
|
class Config: |
|
# Use it to encrypt or decrypt data |
|
# SECURITY WARNING: keep the secret key used in production secret! |
|
SECRET_KEY = os.environ.get('SECRET_KEY') or '2vym+ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%x' |
|
|
|
# How many line display every page, default 25 |
|
DISPLAY_PER_PAGE = 25 |
|
|
|
# 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' |
|
|
|
# Domain name, If set app email will set as it |
|
DOMAIN_NAME = 'jumpserver.org' |
|
|
|
# Django security setting, if your disable debug model, you should setting that |
|
ALLOWED_HOSTS = ['*'] |
|
|
|
# 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/ |
|
LOG_LEVEL = 'DEBUG' |
|
|
|
# Database setting, Support sqlite3, mysql, postgres .... |
|
# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases |
|
|
|
# Sqlite setting: |
|
DB_ENGINE = 'sqlite3' |
|
DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3') |
|
|
|
# Mysql or postgres setting like: |
|
# DB_ENGINE = 'mysql' |
|
# DB_HOST = '127.0.0.1' |
|
# DB_PORT = 3306 |
|
# DB_USER = 'root' |
|
# DB_PASSWORD = '' |
|
# DB_NAME = 'jumpserver' |
|
|
|
# When Django start it will bind this host and port |
|
# ./manage.py runserver 127.0.0.1:8080 |
|
# Todo: Gunicorn or uwsgi run may be use it |
|
HTTP_BIND_HOST = '0.0.0.0' |
|
HTTP_LISTEN_PORT = 8080 |
|
|
|
# Use Redis as broker for celery and web socket |
|
REDIS_HOST = '127.0.0.1' |
|
REDIS_PORT = 6379 |
|
REDIS_PASSWORD = '' |
|
BROKER_URL = 'redis://%(password)s%(host)s:%(port)s/3' % { |
|
'password': REDIS_PASSWORD, |
|
'host': REDIS_HOST, |
|
'port': REDIS_PORT, |
|
} |
|
|
|
# Api token expiration when create |
|
TOKEN_EXPIRATION = 3600 |
|
|
|
# Session and csrf domain settings, If you deploy jumpserver,coco,luna standby, |
|
# So than share cookie, and you need use a same top-level domain name |
|
|
|
# SESSION_COOKIE_DOMAIN = '.jms.com' |
|
# CSRF_COOKIE_DOMAIN = '.jms.com' |
|
SESSION_COOKIE_AGE = 3600*24 |
|
|
|
# Email SMTP setting, we only support smtp send mail |
|
# EMAIL_HOST = 'smtp.qq.com' |
|
# EMAIL_PORT = 25 |
|
# EMAIL_HOST_USER = '' |
|
# EMAIL_HOST_PASSWORD = '' |
|
# EMAIL_USE_SSL = False # If port is 465, set True |
|
# EMAIL_USE_TLS = False # If port is 587, set True |
|
# EMAIL_SUBJECT_PREFIX = '[Jumpserver] ' |
|
|
|
CAPTCHA_TEST_MODE = False |
|
|
|
# You can set jumpserver usage url here, that when user submit wizard redirect to |
|
USER_GUIDE_URL = '' |
|
|
|
# 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 = '' |
|
AUTH_LDAP_USER_DN_TEMPLATE = "uid=%(user)s,ou=people,dc=jumpserver,dc=org" |
|
AUTH_LDAP_USER_ATTR_MAP = { |
|
"username": "cn", |
|
"name": "sn", |
|
"email": "mail" |
|
} |
|
AUTH_LDAP_START_TLS = False |
|
|
|
def __init__(self): |
|
pass |
|
|
|
def __getattr__(self, item): |
|
return None |
|
|
|
|
|
class DevelopmentConfig(Config): |
|
DEBUG = True |
|
DISPLAY_PER_PAGE = 20 |
|
DB_ENGINE = 'sqlite' |
|
DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3') |
|
EMAIL_HOST = 'smtp.exmail.qq.com' |
|
EMAIL_PORT = 465 |
|
EMAIL_HOST_USER = 'a@jumpserver.org' |
|
EMAIL_HOST_PASSWORD = 'somepasswrd' |
|
EMAIL_USE_SSL = True |
|
EMAIL_USE_TLS = False |
|
EMAIL_SUBJECT_PREFIX = '[Jumpserver] ' |
|
SITE_URL = 'http://localhost:8080' |
|
|
|
|
|
class ProductionConfig(Config): |
|
DEBUG = False |
|
DB_ENGINE = 'mysql' |
|
DB_HOST = '127.0.0.1' |
|
DB_PORT = 3306 |
|
DB_USER = 'root' |
|
DB_PASSWORD = '' |
|
DB_NAME = 'jumpserver' |
|
|
|
|
|
class DockerConfig(Config): |
|
DB_ENGINE = 'sqlite' |
|
DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3') |
|
REDIS_HOST = os.environ.get('REDIS_HOST') or 'redis' |
|
EMAIL_HOST = os.environ.get('EMAIL_HOST') or 'smtp.qq.com' |
|
EMAIL_PORT = int(os.environ.get('EMAIL_PORT', 465)) |
|
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER') or 'admin' |
|
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD') or 'somepasswrd' |
|
EMAIL_USE_SSL = True if EMAIL_PORT == 465 else False |
|
EMAIL_USE_TLS = True if EMAIL_PORT == 587 else False |
|
EMAIL_SUBJECT_PREFIX = os.environ.get('EMAIL_SUBJECT_PREFIX') or '[Jumpserver] ' |
|
SITE_URL = os.environ.get('SITE_URL') or 'http://localhost:8080' |
|
|
|
|
|
config = { |
|
'development': DevelopmentConfig, |
|
'production': ProductionConfig, |
|
'default': DevelopmentConfig, |
|
'docker': DockerConfig, |
|
} |
|
|
|
env = 'docker'
|
|
|