This document describes all available configuration settings for Kodosumi. Settings can be configured through environment variables, a .env file, or command-line arguments.

Environment Variables

All configuration settings can be set using environment variables with the prefix KODO_. For example, to set the execution directory, use KODO_EXEC_DIR. These environment variables can be overridden using the koco command-line tool.

Configuration Settings

Execution Settings

  • EXEC_DIR (default: "./data/execution")
    • Directory where execution files are stored
    • Will be created automatically if it doesn’t exist
    • koco option --exec-dir (available in all commands)
      • Can override KODO_EXEC_DIR in all commands

Spooler Settings

  • SPOOLER_LOG_FILE (default: "./data/spooler.log")

    • Path to the spooler log file
    • Parent directory will be created automatically
    • koco option --log-file (spool command)
      • Can override KODO_SPOOLER_LOG_FILE in spool command
  • SPOOLER_LOG_FILE_LEVEL (default: "DEBUG")

    • Log level for the spooler log file
    • Available levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
    • koco option --log-file-level (spool command)
      • Can override KODO_SPOOLER_LOG_FILE_LEVEL in spool command
  • SPOOLER_STD_LEVEL (default: "INFO")

    • Log level for spooler console output
    • Available levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
    • koco option --level (spool command)
      • Can override KODO_SPOOLER_STD_LEVEL in spool command
  • SPOOLER_INTERVAL (default: 0.25)

    • Polling interval for the spooler in seconds
    • Must be greater than 0
    • koco option --interval (spool command)
      • Can override KODO_SPOOLER_INTERVAL in spool command
  • SPOOLER_BATCH_SIZE (default: 10)

    • Number of items to process in each batch
    • Must be at least 1
    • koco option --batch-size (spool command)
      • Can override KODO_SPOOLER_BATCH_SIZE in spool command
  • SPOOLER_BATCH_TIMEOUT (default: 0.1)

    • Timeout for batch retrieval in seconds
    • Must be greater than 0
    • koco option --timeout (spool command)
      • Can override KODO_SPOOLER_BATCH_TIMEOUT in spool command

Ray Settings

  • RAY_SERVER (default: "localhost:6379")

    • Ray server URL
    • koco option --ray-server (spool command)
      • Can override KODO_RAY_SERVER in spool command
  • RAY_DASHBOARD (default: "http://localhost:8265")

    • Ray dashboard URL

Application Server Settings

  • APP_SERVER (default: "http://localhost:3370")

    • Application server URL
    • koco option --address (serve command)
      • Can override KODO_APP_SERVER in serve command
  • APP_LOG_FILE (default: "./data/app.log")

    • Path to the application log file
    • koco option --log-file (serve command)
      • Can override KODO_APP_LOG_FILE in serve command
  • APP_LOG_FILE_LEVEL (default: "DEBUG")

    • Log level for the application log file
    • Available levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
    • koco option --log-file-level (serve command)
      • Can override KODO_APP_LOG_FILE_LEVEL in serve command
  • APP_STD_LEVEL (default: "INFO")

    • Log level for application console output
    • Available levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
    • koco option --level (serve command)
      • Can override KODO_APP_STD_LEVEL in serve command
  • APP_RELOAD (default: False)

    • Enable auto-reload on file changes
    • koco option --reload (serve command)
    • Can override KODO_APP_RELOAD in serve command
  • UVICORN_LEVEL (default: "WARNING")

    • Log level for Uvicorn server
    • Available levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
    • koco option --uvicorn-level (serve command)
      • Can override KODO_UVICORN_LEVEL in serve command

Security Settings

  • SECRET_KEY

    • Secret key for the application
    • Should be changed in production
  • CORS_ORIGINS (default: ["*"])

    • List of allowed CORS origins
    • Can be set as comma-separated string

Database Settings

  • ADMIN_DATABASE (default: "sqlite+aiosqlite:///./data/admin.db")

    • Database URL for admin database
  • ADMIN_EMAIL

    • Admin user email
    • Should be changed in production
  • ADMIN_PASSWORD (default: "admin")

    • Admin user password
    • Should be changed in production

Other Settings

  • WAIT_FOR_JOB (default: 600)

    • Maximum wait time for jobs in seconds
  • PROXY_TIMEOUT (default: 30)

    • Proxy timeout in seconds