46 lines
957 B
Python
46 lines
957 B
Python
"""Definition of web_ui main script."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
from shared.data_store import connect_minio
|
|
from shared.database import connect_mongodb
|
|
from shared.utils import check_env, setup_logging
|
|
|
|
from .app import init_app
|
|
|
|
# ensure env vars set
|
|
NECESSARY_ENV_VAR_LIST = {
|
|
'MONGO_HOST',
|
|
'MONGO_DB',
|
|
'MONGO_COLLECTION',
|
|
'MONGO_USER',
|
|
'MONGO_PASSWORD',
|
|
'DASH_AUTH_USERNAME',
|
|
'DASH_AUTH_PASSWORD',
|
|
'MINIO_ENDPOINT',
|
|
'MINIO_ACCESS_KEY',
|
|
'MINIO_SECRET_KEY',
|
|
'MINIO_BUCKET_NAME',
|
|
'MINIO_BUCKET_NAME_MODELS',
|
|
}
|
|
check_env(NECESSARY_ENV_VAR_LIST)
|
|
|
|
# setup logging stream handler
|
|
setup_logging()
|
|
|
|
# connect to database
|
|
collection, db, client = connect_mongodb()
|
|
|
|
# connect to minio
|
|
minio_client = connect_minio()
|
|
|
|
# initialise application
|
|
app = init_app(
|
|
mongo_collection=collection,
|
|
minio_client=minio_client,
|
|
)
|
|
server = app.server
|
|
server.config.update(SECRET_KEY=os.urandom(24))
|