OpenSMN/.env.example
2025-12-03 07:11:48 -03:00

90 lines
3.1 KiB
Plaintext

# Copia este archivo a .env y configura tus ajustes
# ============================================
# Configuración del Servidor
# ============================================
# Puerto en el que escuchará el servidor
# Por defecto: 6942
PORT=6942
# Token de autenticación para proteger la API
# Si está vacío, la autenticación estará deshabilitada
# Los clientes deben enviar este valor en el header "Authorization"
PASSWORD=clave_ultra_segura
# Ruta base de la API (sin barra final)
# Todas las rutas de la API comenzarán con este prefijo
# Ejemplo: /smn/v1/weather/location/10821
BASE_PATH=/smn
# ============================================
# Configuración de la API del SMN
# ============================================
# URL base de la API del Servicio Meteorológico Nacional
# Esta es la URL upstream a la que se reenviarán las peticiones
# Se declara por un motivo de mantener el proyecto en un sistema orientado a objetos, pero no debe cambiarse
BASE_API=https://ws1.smn.gob.ar
# URL del sitio web del SMN para extraer el token de autenticación
# Se usa con Selenium para obtener el token JWT automáticamente
# Se declara por un motivo de mantener el proyecto en un sistema orientado a objetos, pero no debe cambiarse
SMN_URL=https://www.smn.gob.ar/
# ============================================
# Configuración de Caché
# ============================================
# Directorio donde se almacenarán los archivos de caché
# Se creará automáticamente si no existe
CACHE_DIR=cache
# Tiempo de vida del caché en minutos
# Las respuestas cacheadas se considerarán válidas durante este tiempo
# Después de este período, se realizará una nueva petición al SMN
CACHE_TTL_MINUTES=60
# ============================================
# Configuración del Token
# ============================================
# Archivo donde se guardará el token JWT del SMN
# Este token se renueva automáticamente cuando expira
SMN_TOKEN_FILE=token
# ============================================
# Configuración de Logging
# ============================================
# Ruta al archivo de logs (opcional)
# Si está vacío, los logs solo se mostrarán en la consola
# Ejemplo: LOG_FILE=logs/opensmn.log
LOG_FILE=
# ============================================
# Configuración de Selenium
# ============================================
# Ejecutar Selenium en modo headless (sin interfaz gráfica)
# Valores: true o false
# Recomendado: true para servidores sin entorno gráfico, realmente solo se utilizaria false en desarollo
SELENIUM_HEADLESS=true
# Segundos de espera para que la página del SMN cargue completamente
# Aumenta este valor si tenes una conexión lenta
SELENIUM_WAIT_SECONDS=8
# ============================================
# Configuración de Uvicorn (Servidor ASGI)
# ============================================
# Cantidad de workers para el servidor
# Se recomienda mantener en 1 para evitar problemas de sincronización, por ahora no esta preparado para escalar verticalmente
WORKERS=1
# Dirección IP en la que escuchará el servidor
# 0.0.0.0 = escucha en todas las interfaces de red
# 127.0.0.1 = solo escucha en localhost (conexiones locales)
HOST=0.0.0.0