## Settings These settings can be configured as environment variables to persist configurations across reinstallations. ### **Docker secrets** Any of the environment variables documented below can also be supplied by appending `_FILE` to the variable name and pointing it at a file containing the value. When both `` and `_FILE` are set, `_FILE` will be selected primarily. Example: ```yaml services: lingarr: image: lingarr/lingarr:latest environment: OPENAI_API_KEY_FILE: /run/secrets/openai_api_key secrets: - openai_api_key secrets: openai_api_key: file: ./secrets/openai_api_key.txt ``` --- ### **General Configuration** | **Environment Variable** | **Description** | |----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------| | `BASE_PATH` | Optional URL prefix to host Lingarr under a sub-path (e.g., behind a reverse proxy). Example: `/lingarr`. Leave unset to serve from the root. | | `MAX_CONCURRENT_JOBS` | Maximum number of Hangfire worker threads processing jobs in parallel. Defaults to the framework default when unset. | | `SQLITE_DB_PATH` | Path to the SQLite database file used when `DB_CONNECTION` is `sqlite`. Defaults to `local.db` within `/app/config/`. | | `DB_HANGFIRE_SQLITE_PATH` | Path to the SQLite database file used by the Hangfire job store. Defaults to `/app/config/Hangfire.db`. | --- ### **Radarr Configuration** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `RADARR_URL` | The base URL for the Radarr API. Example: `http://localhost:7878`. | | `RADARR_API_KEY` | The API key for authenticating with Radarr. Obtain this from your Radarr instance. | --- ### **Sonarr Configuration** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `SONARR_URL` | The base URL for the Sonarr API. Example: `http://localhost:8989`. | | `SONARR_API_KEY` | The API key for authenticating with Sonarr. Obtain this from your Sonarr instance. | --- ### **Authentication Configuration** | **Environment Variable** | **Description** | |--------------------------|----------------------------------------------------------------------------------| | `AUTH_ENABLED` | Enables or disables authentication. | | `ENCRYPTION_KEYS` | The path for storing encryption keys, stored by default in the config directory. | --- ### **Telemetry Configuration** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `TELEMETRY_ENABLED` | Opt-in for anonymized telemetry to help other Lingarr users, defaults to false. | --- ### **Translation Service Configuration** #### **General Translation Settings** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `SERVICE_TYPE` | An ordered JSON array of translation services. The first entry is the primary; the rest are fallbacks tried in order when the primary fails. A single value (e.g. `openai`) is still accepted and is normalised to a one-element array on startup. | | `SOURCE_LANGUAGES` | A minified JSON array of source languages for translation. | | `TARGET_LANGUAGES` | A minified JSON array of target languages for translation. | The `SOURCE_LANGUAGES` and `TARGET_LANGUAGES` variables should be provided as a minified JSON array. Each object in the array should contain the `name` and `code` of the language. #### Example: ```json [{"name":"English","code":"en"},{"name":"Dutch","code":"nl"}] ``` ### Service type #### **LibreTranslate** | **Environment Variable** | **Description** | |------------------------------|---------------------------------------------------------------------------------| | `LIBRE_TRANSLATE_URL` | The base URL for the LibreTranslate API. Example: `https://libretranslate.com`. | | `LIBRE_TRANSLATE_API_KEY` | The API key to use for the LibreTranslate API. This is optional, and only needed if using an instance that requires one. | #### **OpenAI** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `OPENAI_MODEL` | The model to use for OpenAI translations. Example: `gpt-4`, `gpt-3.5-turbo`. | | `OPENAI_API_KEY` | The API key for authenticating with OpenAI. | | `AI_PROMPT` | The prompt template for AI-based translation services. | #### **Anthropic** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `ANTHROPIC_MODEL` | The model to use for Anthropic translations. Example: `claude-2`. | | `ANTHROPIC_API_KEY` | The API key for authenticating with Anthropic. | | `ANTHROPIC_VERSION` | The version of the Anthropic API to use. | | `AI_PROMPT` | The prompt template for AI-based translation services. | #### **Gemini** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `GEMINI_MODEL` | The model to use for Anthropic translations. Example: `gemini-2.0-flash`. | | `GEMINI_API_KEY` | The API key for authenticating with Anthropic. | | `AI_PROMPT` | The prompt template for AI-based translation services. | #### **DeepSeek** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `DEEPSEEK_MODEL` | The model to use for Anthropic translations. Example: `deepseek-chat`. | | `DEEPSEEK_API_KEY` | The API key for authenticating with Anthropic. | | `AI_PROMPT` | The prompt template for AI-based translation services. | #### **LocalAI** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `LOCAL_AI_MODEL` | The model to use for LocalAI translations. | | `LOCAL_AI_API_KEY` | The API key for authenticating with LocalAI. | | `LOCAL_AI_ENDPOINT` | The endpoint URL for the LocalAI service. Example: `http://localhost:8080`. | | `AI_PROMPT` | The prompt template for AI-based translation services. | #### **DeepL** | **Environment Variable** | **Description** | |--------------------------|---------------------------------------------------------------------------------| | `DEEPL_API_KEY` | The API key for authenticating with DeepL. | --- ### **Translation Services** The `SERVICE_TYPE` variable determines which translation services to use. Provide a JSON array, the first entry is the primary service and any remaining entries are fallbacks, tried in order when the primary fails. A single value is also accepted and is rewritten to an array on startup. #### Example: ```json ["openai","anthropic","libretranslate"] ``` The supported values are: | **Value** | **Description** | |-----------------|---------------------------------------------------------------------------------| | `libretranslate`| Use the LibreTranslate service for translations. | | `openai` | Use OpenAI's models (e.g., GPT-4, GPT-3.5) for translations. | | `anthropic` | Use Anthropic's models (e.g., Claude-2) for translations. | | `gemini` | Use Google's Gemini models for translations. | | `deepseek` | Use DeepSeek's models for translations. | | `localai` | Use a locally hosted or OpenAI-compatible AI model for translations. | | `deepl` | Use the DeepL API for translations. | | `google` | Use Google Translate for translations. | | `bing` | Use Bing Translate for translations. | | `microsoft` | Use Microsoft Translator for translations. | | `yandex` | Use Yandex Translate for translations. |