Skip to main content
Version: 0.0.16

Configuration

Shisho can be configured via a YAML config file or environment variables.

Config File

By default, Shisho looks for a config file at /config/shisho.yaml. You can override this by setting the CONFIG_FILE environment variable to a different path.

A complete example config file is available at shisho.example.yaml.

Environment Variables

Every setting can be set via an environment variable using the uppercase, underscored version of the config key (e.g., database_file_path becomes DATABASE_FILE_PATH). Environment variables take precedence over config file values.

Settings

Database

SettingEnv VariableDefaultDescription
database_file_pathDATABASE_FILE_PATH/config/shisho.dbRequired. Path to the SQLite database file
database_debugDATABASE_DEBUGfalseEnable SQL query logging for debugging
database_connect_retry_countDATABASE_CONNECT_RETRY_COUNT5Number of connection retry attempts on startup
database_connect_retry_delayDATABASE_CONNECT_RETRY_DELAY2sDelay between connection retry attempts
database_busy_timeoutDATABASE_BUSY_TIMEOUT5sHow long to wait when the database is locked
database_max_retriesDATABASE_MAX_RETRIES5Max retries for database operations on busy/locked errors

Server

SettingEnv VariableDefaultDescription
server_hostSERVER_HOST0.0.0.0Host address to bind the server to
server_portSERVER_PORT3689Port to listen on

Application

SettingEnv VariableDefaultDescription
sync_interval_minutesSYNC_INTERVAL_MINUTES60How often to scan libraries for new content (in minutes)
worker_processesWORKER_PROCESSES2Number of background worker processes
job_retention_daysJOB_RETENTION_DAYS30Days to retain completed/failed jobs before cleanup. Set to 0 to disable

Cache

SettingEnv VariableDefaultDescription
cache_dirCACHE_DIR/config/cacheDirectory for caching generated files (downloads and extracted CBZ pages)
download_cache_max_size_gbDOWNLOAD_CACHE_MAX_SIZE_GB5Maximum size of the download cache in GB. Older files are removed automatically (LRU) when the limit is exceeded

Plugins

SettingEnv VariableDefaultDescription
plugin_dirPLUGIN_DIR/config/plugins/installedDirectory where installed plugins are stored

Supplement Discovery

SettingEnv VariableDefaultDescription
supplement_exclude_patternsSUPPLEMENT_EXCLUDE_PATTERNS[".*", ".DS_Store", "Thumbs.db", "desktop.ini"]Glob patterns to exclude from supplement file discovery. Env var accepts comma-separated values

Authentication

SettingEnv VariableDefaultDescription
jwt_secretJWT_SECRET-Required. Secret key for signing JWT authentication tokens. Use a long, random string (at least 32 characters). Generate one with: openssl rand -base64 32