# Copyright (c) Meta Platforms, Inc. and affiliates. """ A development version of an omm_config, with every field visible and commented. This is the configuration that is used by default for the developer instance which runs in the dev container by default. Every config field is present to make it easier to copy the file as a template for others. """ import logging import os from OpenMediaMatch.storage.postgres.impl import DefaultOMMStore from OpenMediaMatch.utils.fetch_benchmarking import InfiniteRandomExchange from threatexchange.signal_type.pdq.signal import PdqSignal from threatexchange.signal_type.md5 import VideoMD5Signal from threatexchange.content_type.photo import PhotoContent from threatexchange.content_type.video import VideoContent from threatexchange.exchanges.impl.static_sample import StaticSampleSignalExchangeAPI from threatexchange.exchanges.impl.ncmec_api import NCMECSignalExchangeAPI from threatexchange.exchanges.impl.stop_ncii_api import StopNCIISignalExchangeAPI from threatexchange.exchanges.impl.fb_threatexchange_api import ( FBThreatExchangeSignalExchangeAPI, ) # Database configuration DBUSER = os.environ.get("POSTGRES_USER", "postgres") DBPASS = os.environ.get("POSTGRES_PASSWORD", "postgres123") DBHOST = os.environ.get("POSTGRES_HOST", "postgres") DBNAME = os.environ.get("POSTGRES_DB", "postgres") DATABASE_URI = f"postgresql+psycopg2://{DBUSER}:{DBPASS}@{DBHOST}/{DBNAME}" # Role configuration PRODUCTION = False ROLE_HASHER = True ROLE_MATCHER = True ROLE_CURATOR = True UI_ENABLED = True # APScheduler (background threads for development) TASK_FETCHER = True TASK_INDEXER = True TASK_INDEX_CACHE = True TASK_FETCHER_INTERVAL_SECONDS = 60 * 5 TASK_INDEXER_INTERVAL_SECONDS = 60 * 2 TASK_INDEX_CACHE_INTERVAL_SECONDS = 60 MAX_REMOTE_FILE_SIZE = 100 * 1024 * 1024 # 100MB max file size # Core functionality configuration STORAGE_IFACE_INSTANCE = DefaultOMMStore( signal_types=[PdqSignal, VideoMD5Signal], content_types=[PhotoContent, VideoContent], exchange_types=[ FBThreatExchangeSignalExchangeAPI, # type: ignore NCMECSignalExchangeAPI, # type: ignore StopNCIISignalExchangeAPI, ], ) # Debugging stuff # SQLALCHEMY_ENGINE_LOG_LEVEL = logging.INFO