86 lines
2.8 KiB
Plaintext
86 lines
2.8 KiB
Plaintext
# Configuration file for this FastAPI app.
|
|
import os
|
|
from pydantic import AnyHttpUrl, BaseSettings, EmailStr, HttpUrl, PostgresDsn, validator
|
|
from typing import Any, Dict, List, Optional, Union
|
|
|
|
|
|
# ### ### #
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
AETHER_CFG = {}
|
|
AETHER_CFG['id'] = 0
|
|
# AETHER_CFG['api_id'] = 0 # NOT CURRENTLY NEED OR USED
|
|
|
|
JWT_KEY = '' # 22 characters; super secret Aether JWT signing key
|
|
|
|
# APP_NAME: str = "Aether API (FastAPI)"
|
|
# SUPER_EMAIL: EmailStr = 'Aether.Super@oneskyit.com'
|
|
|
|
|
|
# Database Connection
|
|
DB = {}
|
|
DB['server'] = 'db.oneskyit.com'
|
|
DB['port'] = '3306' # default = 3306
|
|
DB['name'] = 'aether_default'
|
|
DB['username'] = ''
|
|
DB['password'] = ''
|
|
SQLALCHEMY_DB_URI = 'mysql://'+DB['username']+':'+DB['password']+'@'+DB['server']+'/'+DB['name']
|
|
|
|
DB['wait_timeout'] = int(os.getenv('AE_DB_WAIT_TIMEOUT', 1800)) # default = 28800; Time (seconds) that the server waits for a connection to become active before closing it.
|
|
DB['connect_timeout'] = int(os.getenv('AE_DB_CONNECTION_TIMEOUT', 20)) # default = 10; Time (seconds) that the server waits for a connection to become active before closing it.
|
|
DB['pool_recycle'] = int(os.getenv('AE_DB_POOL_RECYCLE', 1800)) # default = ?; Related to SQLAlchemy
|
|
|
|
|
|
# Aether API log files paths
|
|
LOG_PATH = {}
|
|
LOG_PATH['app'] = '/logs/aether_api.log' # 'admin/log/app.log', '../../logs/aether_api.log'
|
|
# LOG_PATH['app_warning'] = '/logs/aether_api_warning.log' # 'admin/log/app_warning.log' '../../logs/aether_api_warning.log'
|
|
|
|
|
|
# Redis
|
|
REDIS = {}
|
|
REDIS['server'] = 'localhost' # 'localhost' 'redis'
|
|
REDIS['port'] = '6379'
|
|
|
|
|
|
# Send SMTP Email
|
|
SMTP = {}
|
|
# server
|
|
# port
|
|
# username
|
|
# password
|
|
|
|
|
|
# Server Hosted File Paths
|
|
FILES_PATH = {}
|
|
# hosted_files_root
|
|
# hosted_tmp_root
|
|
|
|
|
|
# CORS Origins
|
|
ORIGINS_REGEX = '(https://.*\.oneskyit\.com)|(http://.*\.oneskyit\.com:8181)|(https://.*\.oneskyit\.com:4443)|(https://.*\.oneskyit\.com:8443)'
|
|
# A reasonable, but fairly open example regular expression for the CORS origins:
|
|
# '(https://.*\.oneskyit\.com)|(http://.*\.oneskyit\.com)|(http://.*\.oneskyit\.com:8181)|(https://.*\.oneskyit\.com:8443)|(http://.*\.oneskyit\.local)|(http://.*\.oneskyit\.local:5000)|(http://.*.localhost)|(http://.*.localhost:5000)|(http://.*.localhost:8181)'
|
|
|
|
ORIGINS = [
|
|
'https://oneskyit.com',
|
|
# 'http://app-local.oneskyit.com',
|
|
# 'http://192.168.32.20:3000',
|
|
# 'http://192.168.32.20:8080',
|
|
|
|
# 'http://localhost',
|
|
# 'http://localhost:3000',
|
|
# 'http://localhost:5000',
|
|
# 'http://localhost:8080',
|
|
# 'http://localhost:7800',
|
|
# 'http://localhost:8888',
|
|
|
|
'http://fastapi.localhost',
|
|
|
|
'http://svelte.oneskyit.local:5555',
|
|
]
|
|
|
|
|
|
settings = Settings()
|