- Getting containers ready for the cloud
This commit is contained in:
140
config/config.py
140
config/config.py
@@ -10,7 +10,7 @@ basedir = path.abspath(path.dirname(__file__))
|
||||
class Config(object):
|
||||
DEBUG = False
|
||||
DEVELOPMENT = False
|
||||
SECRET_KEY = '97867c1491bea5ee6a8e8436eb11bf2ba6a69ff53ab1b17ecba450d0f2e572e1'
|
||||
SECRET_KEY = environ.get('SECRET_KEY')
|
||||
SESSION_COOKIE_SECURE = False
|
||||
SESSION_COOKIE_HTTPONLY = True
|
||||
|
||||
@@ -29,7 +29,7 @@ class Config(object):
|
||||
# SECURITY_POST_RESET_VIEW = '/admin/login'
|
||||
# SECURITY_POST_CHANGE_VIEW = '/admin/login'
|
||||
# SECURITY_BLUEPRINT_NAME = 'security_bp'
|
||||
SECURITY_PASSWORD_SALT = '228614859439123264035565568761433607235'
|
||||
SECURITY_PASSWORD_SALT = environ.get('SECURITY_PASSWORD_SALT')
|
||||
REMEMBER_COOKIE_SAMESITE = 'strict'
|
||||
SESSION_COOKIE_SAMESITE = 'strict'
|
||||
SECURITY_CONFIRMABLE = True
|
||||
@@ -45,13 +45,6 @@ class Config(object):
|
||||
SECURITY_CSRF_HEADER = 'X-XSRF-TOKEN'
|
||||
WTF_CSRF_CHECK_DEFAULT = False
|
||||
|
||||
# flask-mailman settings
|
||||
MAIL_SERVER = 'mail.flow-it.net'
|
||||
MAIL_PORT = 587
|
||||
MAIL_USE_TLS = True
|
||||
MAIL_USE_SSL = False
|
||||
MAIL_DEFAULT_SENDER = ('eveAI Admin', 'eveai_admin@flow-it.net')
|
||||
|
||||
# file upload settings
|
||||
MAX_CONTENT_LENGTH = 16 * 1024 * 1024
|
||||
UPLOAD_EXTENSIONS = ['.txt', '.pdf', '.png', '.jpg', '.jpeg', '.gif']
|
||||
@@ -75,6 +68,18 @@ class Config(object):
|
||||
'anthropic.claude-3-5-sonnet': 8000
|
||||
}
|
||||
|
||||
# OpenAI API Keys
|
||||
OPENAI_API_KEY = environ.get('OPENAI_API_KEY')
|
||||
|
||||
# Groq API Keys
|
||||
GROQ_API_KEY = environ.get('GROQ_API_KEY')
|
||||
|
||||
# Anthropic API Keys
|
||||
ANTHROPIC_API_KEY = environ.get('ANTHROPIC_API_KEY')
|
||||
|
||||
# Portkey API Keys
|
||||
PORTKEY_API_KEY = environ.get('PORTKEY_API_KEY')
|
||||
|
||||
# Celery settings
|
||||
CELERY_TASK_SERIALIZER = 'json'
|
||||
CELERY_RESULT_SERIALIZER = 'json'
|
||||
@@ -93,6 +98,12 @@ class Config(object):
|
||||
PERMANENT_SESSION_LIFETIME = timedelta(minutes=60)
|
||||
SESSION_REFRESH_EACH_REQUEST = True
|
||||
|
||||
# JWT settings
|
||||
JWT_SECRET_KEY = environ.get('JWT_SECRET_KEY')
|
||||
|
||||
# API Encryption
|
||||
API_ENCRYPTION_KEY = environ.get('API_ENCRYPTION_KEY')
|
||||
|
||||
# Fallback Algorithms
|
||||
FALLBACK_ALGORITHMS = [
|
||||
"RAG_TENANT",
|
||||
@@ -115,25 +126,31 @@ class DevConfig(Config):
|
||||
DEBUG = True
|
||||
FLASK_DEBUG = True
|
||||
PYCHARM_DEBUG = False
|
||||
EXPLAIN_TEMPLATE_LOADING = False
|
||||
|
||||
# Database Settings
|
||||
DB_HOST = environ.get('DB_HOST', 'localhost')
|
||||
DB_USER = environ.get('DB_USER', 'luke')
|
||||
DB_PASS = environ.get('DB_PASS', 'Skywalker!')
|
||||
DB_NAME = environ.get('DB_NAME', 'eveai')
|
||||
|
||||
SQLALCHEMY_DATABASE_URI = f'postgresql+pg8000://{DB_USER}:{DB_PASS}@{DB_HOST}:5432/{DB_NAME}'
|
||||
SQLALCHEMY_BINDS = {'public': SQLALCHEMY_DATABASE_URI}
|
||||
EXPLAIN_TEMPLATE_LOADING = False
|
||||
|
||||
# flask-mailman settings
|
||||
MAIL_SERVER = 'mail.flow-it.net'
|
||||
MAIL_PORT = 587
|
||||
MAIL_USE_TLS = True
|
||||
MAIL_USE_SSL = False
|
||||
MAIL_DEFAULT_SENDER = ('eveAI Admin', 'eveai_admin@flow-it.net')
|
||||
MAIL_USERNAME = environ.get('MAIL_USERNAME')
|
||||
MAIL_PASSWORD = environ.get('MAIL_PASSWORD')
|
||||
|
||||
# Define the nginx prefix used for the specific apps
|
||||
EVEAI_APP_LOCATION_PREFIX = '/admin'
|
||||
EVEAI_CHAT_LOCATION_PREFIX = '/chat'
|
||||
|
||||
# flask-mailman settings
|
||||
MAIL_USERNAME = 'eveai_super@flow-it.net'
|
||||
MAIL_PASSWORD = '$6xsWGbNtx$CFMQZqc*'
|
||||
|
||||
# file upload settings
|
||||
UPLOAD_FOLDER = '/app/tenant_files'
|
||||
# UPLOAD_FOLDER = '/app/tenant_files'
|
||||
|
||||
# Celery settings
|
||||
# eveai_app Redis Settings
|
||||
@@ -143,22 +160,10 @@ class DevConfig(Config):
|
||||
CELERY_BROKER_URL_CHAT = 'redis://redis:6379/3'
|
||||
CELERY_RESULT_BACKEND_CHAT = 'redis://redis:6379/3'
|
||||
|
||||
# OpenAI API Keys
|
||||
OPENAI_API_KEY = 'sk-proj-8R0jWzwjL7PeoPyMhJTZT3BlbkFJLb6HfRB2Hr9cEVFWEhU7'
|
||||
|
||||
# Groq API Keys
|
||||
GROQ_API_KEY = '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'
|
||||
|
||||
# Anthropic API Keys
|
||||
ANTHROPIC_API_KEY = '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'
|
||||
|
||||
# Portkey API Keys
|
||||
PORTKEY_API_KEY = 'T2Dt4QTpgCvWxa1OftYCJtj7NcDZ'
|
||||
|
||||
# Unstructured settings
|
||||
UNSTRUCTURED_API_KEY = 'pDgCrXumYhM3CNvjvwV8msMldXC3uw'
|
||||
UNSTRUCTURED_BASE_URL = 'https://flowitbv-16c4us0m.api.unstructuredapp.io'
|
||||
UNSTRUCTURED_FULL_URL = 'https://flowitbv-16c4us0m.api.unstructuredapp.io/general/v0/general'
|
||||
# UNSTRUCTURED_API_KEY = 'pDgCrXumYhM3CNvjvwV8msMldXC3uw'
|
||||
# UNSTRUCTURED_BASE_URL = 'https://flowitbv-16c4us0m.api.unstructuredapp.io'
|
||||
# UNSTRUCTURED_FULL_URL = 'https://flowitbv-16c4us0m.api.unstructuredapp.io/general/v0/general'
|
||||
|
||||
# SocketIO settings
|
||||
SOCKETIO_MESSAGE_QUEUE = 'redis://redis:6379/1'
|
||||
@@ -176,9 +181,6 @@ class DevConfig(Config):
|
||||
GC_KEY_RING = 'eveai-chat'
|
||||
GC_CRYPTO_KEY = 'envelope-encryption-key'
|
||||
|
||||
# JWT settings
|
||||
JWT_SECRET_KEY = 'bsdMkmQ8ObfMD52yAFg4trrvjgjMhuIqg2fjDpD/JqvgY0ccCcmlsEnVFmR79WPiLKEA3i8a5zmejwLZKl4v9Q=='
|
||||
|
||||
# Session settings
|
||||
SESSION_REDIS = redis.from_url('redis://redis:6379/2')
|
||||
|
||||
@@ -194,19 +196,28 @@ class DevConfig(Config):
|
||||
class ProdConfig(Config):
|
||||
DEVELOPMENT = False
|
||||
DEBUG = False
|
||||
DEVELOPMENT = True
|
||||
DEBUG = True
|
||||
FLASK_DEBUG = True
|
||||
DEBUG = False
|
||||
FLASK_DEBUG = False
|
||||
PYCHARM_DEBUG = False
|
||||
DB_HOST = environ.get('DB_HOST', 'bswnz4.stackhero-network.com')
|
||||
DB_USER = environ.get('DB_USER', 'luke_skywalker')
|
||||
DB_PASS = environ.get('DB_PASS', '2MK&1rHmWEydE2rFuJLq*ls%tdkPAk2')
|
||||
DB_NAME = environ.get('DB_NAME', 'eveai')
|
||||
DB_PORT = environ.get('DB_PORT', '5945')
|
||||
EXPLAIN_TEMPLATE_LOADING = False
|
||||
|
||||
# Database Settings
|
||||
DB_HOST = environ.get('DB_HOST')
|
||||
DB_USER = environ.get('DB_USER')
|
||||
DB_PASS = environ.get('DB_PASS')
|
||||
DB_NAME = environ.get('DB_NAME')
|
||||
DB_PORT = environ.get('DB_PORT')
|
||||
SQLALCHEMY_DATABASE_URI = f'postgresql+pg8000://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{DB_NAME}'
|
||||
SQLALCHEMY_BINDS = {'public': SQLALCHEMY_DATABASE_URI}
|
||||
EXPLAIN_TEMPLATE_LOADING = False
|
||||
|
||||
# flask-mailman settings
|
||||
MAIL_SERVER = 'mail.askeveai.com'
|
||||
MAIL_PORT = 587
|
||||
MAIL_USE_TLS = True
|
||||
MAIL_USE_SSL = False
|
||||
MAIL_DEFAULT_SENDER = ('Evie Admin', 'evie_admin@askeveai.com')
|
||||
MAIL_USERNAME = environ.get('MAIL_USERNAME')
|
||||
MAIL_PASSWORD = environ.get('MAIL_PASSWORD')
|
||||
|
||||
# Define the nginx prefix used for the specific apps
|
||||
EVEAI_APP_LOCATION_PREFIX = '/admin'
|
||||
@@ -217,12 +228,13 @@ class ProdConfig(Config):
|
||||
MAIL_PASSWORD = '$6xsWGbNtx$CFMQZqc*'
|
||||
|
||||
# file upload settings
|
||||
UPLOAD_FOLDER = '/app/tenant_files'
|
||||
# UPLOAD_FOLDER = '/app/tenant_files'
|
||||
|
||||
REDIS_USER = 'admin'
|
||||
REDIS_PASS = 'b32vtDtLriSY1fL2zGrZg8IZKI0g9ucsLtVNanRFAras6oZ51wjVNB1Y05uG7uEw'
|
||||
REDIS_URL = '8bciqc.stackhero-network.com'
|
||||
REDIS_PORT = '9961'
|
||||
# Redis Settings
|
||||
REDIS_USER = environ.get('REDIS_USER')
|
||||
REDIS_PASS = environ.get('REDIS_PASS')
|
||||
REDIS_URL = environ.get('REDIS_URL')
|
||||
REDIS_PORT = environ.get('REDIS_PORT', '6379')
|
||||
REDIS_BASE_URI = f'redis://{REDIS_USER}:{REDIS_PASS}@{REDIS_URL}:{REDIS_PORT}'
|
||||
|
||||
# Celery settings
|
||||
@@ -236,23 +248,6 @@ class ProdConfig(Config):
|
||||
# Session settings
|
||||
SESSION_REDIS = redis.from_url(f'{REDIS_BASE_URI}/2')
|
||||
|
||||
# OpenAI API Keys
|
||||
OPENAI_API_KEY = 'sk-proj-8R0jWzwjL7PeoPyMhJTZT3BlbkFJLb6HfRB2Hr9cEVFWEhU7'
|
||||
|
||||
# Groq API Keys
|
||||
GROQ_API_KEY = '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'
|
||||
|
||||
# Anthropic API Keys
|
||||
ANTHROPIC_API_KEY = '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'
|
||||
|
||||
# Portkey API Keys
|
||||
PORTKEY_API_KEY = 'T2Dt4QTpgCvWxa1OftYCJtj7NcDZ'
|
||||
|
||||
# Unstructured settings
|
||||
UNSTRUCTURED_API_KEY = 'pDgCrXumYhM3CNvjvwV8msMldXC3uw'
|
||||
UNSTRUCTURED_BASE_URL = 'https://flowitbv-16c4us0m.api.unstructuredapp.io'
|
||||
UNSTRUCTURED_FULL_URL = 'https://flowitbv-16c4us0m.api.unstructuredapp.io/general/v0/general'
|
||||
|
||||
# SocketIO settings
|
||||
SOCKETIO_MESSAGE_QUEUE = f'{REDIS_BASE_URI}/1'
|
||||
SOCKETIO_CORS_ALLOWED_ORIGINS = '*'
|
||||
@@ -269,15 +264,14 @@ class ProdConfig(Config):
|
||||
GC_KEY_RING = 'eveai-chat'
|
||||
GC_CRYPTO_KEY = 'envelope-encryption-key'
|
||||
|
||||
# JWT settings
|
||||
JWT_SECRET_KEY = 'bsdMkmQ8ObfMD52yAFg4trrvjgjMhuIqg2fjDpD/JqvgY0ccCcmlsEnVFmR79WPiLKEA3i8a5zmejwLZKl4v9Q=='
|
||||
|
||||
# PATH settings
|
||||
ffmpeg_path = '/usr/bin/ffmpeg'
|
||||
|
||||
|
||||
config = {
|
||||
'dev': DevConfig(),
|
||||
'prod': ProdConfig(),
|
||||
'default': DevConfig(),
|
||||
}
|
||||
def get_config(config_name='dev'):
|
||||
configs = {
|
||||
'dev': DevConfig,
|
||||
'prod': ProdConfig,
|
||||
'default': DevConfig,
|
||||
}
|
||||
return configs.get(config_name)
|
||||
|
||||
Reference in New Issue
Block a user