Navigation
On this page

Variables de Entorno

Referencia completa de todas las variables de entorno disponibles para configurar Mediabox MCP.

Toda la configuracion de Mediabox MCP se gestiona a traves de un unico archivo .env en la raiz del proyecto. Esta pagina documenta cada variable disponible.

Despliegue

VariableRequeridaPor DefectoDescripcion
DEPLOYMENT_MODESilocalModo de despliegue: local o vps.
TZNoUTCZona horaria para todos los servicios (por ejemplo, America/Mexico_City, Europe/Madrid).

Dominio y SSL

Estas variables son necesarias dependiendo del modo de despliegue seleccionado durante la configuracion.

VariableRequeridaPor DefectoDescripcion
BASE_DOMAINCondicionalDominio para los servicios (por ejemplo, media.ejemplo.com). Requerido en modo vps y con Cloudflare Tunnel.
LETSENCRYPT_EMAILCondicionalEmail para certificados SSL de Let’s Encrypt. Requerido en modo vps.
CLOUDFLARE_TUNNEL_TOKENCondicionalToken de tunnel de Cloudflare del panel Zero Trust. Requerido cuando se usa Cloudflare Tunnel.

Claves API de Servicios

VariableRequeridaPor DefectoDescripcion
JELLYFIN_API_KEYSiExtraida en el primer arranqueClave API de Jellyfin. Generada automaticamente por Jellyfin durante la configuracion inicial, luego extraida por el asistente.
SONARR_API_KEYSiExtraida en el primer arranqueClave API de Sonarr. Generada automaticamente por Sonarr en el primer arranque, extraida de config/sonarr/config.xml.
RADARR_API_KEYSiExtraida en el primer arranqueClave API de Radarr. Generada automaticamente por Radarr en el primer arranque, extraida de config/radarr/config.xml.
PROWLARR_API_KEYSiExtraida en el primer arranqueClave API de Prowlarr. La usan la API de setup y el dashboard para verificar indexadores y apps.
QBIT_PASSWORDSiContrasena para la interfaz web de qBittorrent (usuario: admin). Minimo 8 caracteres. Establecida por el usuario durante el asistente.

PyLoad

VariableRequeridaPor DefectoDescripcion
PYLOAD_USERNopyloadNombre de usuario para la interfaz web y autenticacion API de PyLoad.
PYLOAD_PASSWORDNopyloadContrasena para la interfaz web y autenticacion API de PyLoad.
PYLOAD_HOST_PORTNo8001Puerto del host usado para abrir PyLoad desde el dashboard. El contenedor sigue escuchando internamente en 8000.

Servicios Opcionales

VariableRequeridaPor DefectoDescripcion
BAZARR_ENABLEDNofalseHabilita la integracion de estado de Bazarr cuando el servicio opcional esta presente.
BAZARR_URLNohttp://bazarr:6767URL interna de Bazarr. El sidecar de escritorio la mapea a http://localhost:6767.
FLARESOLVERR_URLNohttp://flaresolverr:8191URL interna de FlareSolverr usada para health checks y configuracion de proxy de indexadores.

Servidor MCP

VariableRequeridaPor DefectoDescripcion
MCP_PUBLIC_URLSihttp://localhost:3000URL publica del servidor MCP. Configurar con la URL de tu dominio al desplegar en modo VPS o Tunnel.
INTERNAL_API_KEYSiGenerado automaticamenteClave API interna para comunicacion entre servicios (por ejemplo, bot de Telegram al servidor MCP).
IMAGE_TAGNoRelease actualTag de imagen GHCR usado por los archivos Docker Compose generados. Fijalo en produccion en lugar de depender de latest.
BIND_HOSTNo0.0.0.0Interfaz a la que se enlaza el servidor MCP. El sidecar de escritorio fuerza 127.0.0.1; despliegues Docker normalmente mantienen el valor por defecto.
ALLOWED_ORIGINSNoMCP_PUBLIC_URLOrigenes de navegador, separados por comas, autorizados para llamar endpoints protegidos MCP/API. El servidor tambien permite localhost y origenes de la app Tauri para uso local.

Integracion con Telegram (Opcional)

Estas variables solo son necesarias si habilitas el bot de Telegram durante la configuracion.

VariableRequeridaPor DefectoDescripcion
TELEGRAM_BOT_TOKENCondicionalToken del bot obtenido de @BotFather. Requerido para habilitar el bot de Telegram.
ALLOWED_TELEGRAM_USERSNoLista separada por comas de IDs de usuario de Telegram autorizados para interactuar con el bot. Dejar vacio para permitir todos los usuarios.

Proveedor de LLM (Opcional)

Estas variables configuran el LLM usado por el chat de la App de Escritorio y el bot de Telegram opcional para interpretar comandos en lenguaje natural y llamar a las herramientas MCP.

VariableRequeridaPor DefectoDescripcion
LLM_PROVIDERCondicionalProveedor de LLM para el chat de la app o el bot de Telegram. Soportados: openrouter, google. Requerido cuando cualquiera de esas superficies esta habilitada.
LLM_MODELNoValor por defecto del proveedorOverride opcional del modelo. Ejemplos: openai/gpt-4o, anthropic/claude-sonnet-4, gemini-2.0-flash.
OPENROUTER_API_KEYCondicionalClave API de OpenRouter. Requerida cuando LLM_PROVIDER=openrouter.
GOOGLE_AI_API_KEYCondicionalClave API de Google AI (Gemini). Requerida cuando LLM_PROVIDER=google.

Ejemplo de Archivo .env

# Despliegue
DEPLOYMENT_MODE=local
TZ=America/Mexico_City

# Dominio (descomentar para modo VPS)
# BASE_DOMAIN=media.ejemplo.com
# LETSENCRYPT_EMAIL=admin@ejemplo.com

# Claves API de servicios (extraidas despues del primer arranque)
JELLYFIN_API_KEY=
SONARR_API_KEY=
RADARR_API_KEY=
PROWLARR_API_KEY=
QBIT_PASSWORD=tu-contrasena-segura

# PyLoad
PYLOAD_USER=pyload
PYLOAD_PASSWORD=pyload
PYLOAD_HOST_PORT=8001

# Servicios opcionales
BAZARR_ENABLED=false
# BAZARR_URL=http://bazarr:6767
# FLARESOLVERR_URL=http://flaresolverr:8191

# Servidor MCP
MCP_PUBLIC_URL=http://localhost:3000
INTERNAL_API_KEY=
IMAGE_TAG=2.2.0-beta.0
# BIND_HOST=0.0.0.0
ALLOWED_ORIGINS=http://localhost:3000

# Telegram (opcional)
# TELEGRAM_BOT_TOKEN=123456:ABC-DEF
# LLM_PROVIDER=openrouter
# LLM_MODEL=openai/gpt-4o
# OPENROUTER_API_KEY=sk-or-...
# ALLOWED_TELEGRAM_USERS=12345678,87654321

Notas

  • Las claves API de Jellyfin, Sonarr, Radarr y Prowlarr son generadas automaticamente por cada servicio en el primer arranque. El asistente de configuracion las extrae automaticamente. Para la configuracion manual, extraelas de los archivos XML de configuracion.
  • INTERNAL_API_KEY se genera automaticamente como cadena hexadecimal de 32 caracteres por el asistente. Para configuracion manual, generala con: openssl rand -hex 32
  • ALLOWED_ORIGINS debe incluir los origenes de navegador que necesitan llamar endpoints protegidos. El Compose generado lo deja por defecto en MCP_PUBLIC_URL.
  • IMAGE_TAG debe coincidir con un tag GHCR publicado, como 2.2.0-beta.0, 2.2, latest o sha-<commit>.
  • Despues de cambiar cualquier variable, recrea los contenedores afectados: docker compose up -d --force-recreate <servicio>