# ================================================================================== # SEGURIDAD: CONFIGURACIÓN DE PRODUCCIÓN # ================================================================================== # # IMPORTANTE: # 1. Copia este archivo a .env # 2. Cambia TODOS los valores de contraseñas y secrets # 3. NO compartas este archivo en repositorios públicos # 4. Añade .env al .gitignore # # ================================================================================== # ================================================================================== # DATABASE CONFIGURATION - PostgreSQL # ================================================================================== POSTGRES_DB=rss POSTGRES_USER=rss # CRÍTICO: Genera una contraseña fuerte (mínimo 32 caracteres aleatorios) # Ejemplo para generar: openssl rand -base64 32 POSTGRES_PASSWORD=CAMBIAR_ESTO_POR_UNA_CONTRASEÑA_FUERTE_DE_32_CARACTERES DB_NAME=rss DB_USER=rss DB_PASS=CAMBIAR_ESTO_POR_UNA_CONTRASEÑA_FUERTE_DE_32_CARACTERES DB_HOST=db DB_PORT=5432 DB_WRITE_HOST=db DB_READ_HOST=db-replica # ================================================================================== # REDIS CONFIGURATION - Autenticación habilitada # ================================================================================== REDIS_HOST=redis REDIS_PORT=6379 # CRÍTICO: Genera una contraseña fuerte para Redis # Ejemplo: openssl rand -base64 32 REDIS_PASSWORD=CAMBIAR_ESTO_POR_UNA_CONTRASEÑA_FUERTE_REDIS # ================================================================================== # APPLICATION SECRETS # ================================================================================== # CRÍTICO: Secret key para Flask - debe ser único y secreto # Genera con: python -c "import secrets; print(secrets.token_hex(32))" SECRET_KEY=CAMBIAR_ESTO_POR_UN_TOKEN_HEX_DE_64_CARACTERES # ================================================================================== # MONITORING - Grafana # ================================================================================== # IMPORTANTE: Cambia el password de admin de Grafana GRAFANA_PASSWORD=CAMBIAR_ESTO_POR_UNA_CONTRASEÑA_FUERTE_GRAFANA # ================================================================================== # EXTERNAL SERVICES # ================================================================================== ALLTALK_URL=http://host.docker.internal:7851 # ================================================================================== # AI MODELS & WORKERS # ================================================================================== RSS_MAX_WORKERS=3 TARGET_LANGS=es TRANSLATOR_BATCH=128 ENQUEUE=300 # RSS Ingestor Configuration RSS_POKE_INTERVAL_MIN=15 RSS_MAX_FAILURES=10 RSS_FEED_TIMEOUT=60 # URL Feed Discovery Worker URL_DISCOVERY_INTERVAL_MIN=15 URL_DISCOVERY_BATCH_SIZE=10 MAX_FEEDS_PER_URL=5 # CTranslate2 / AI Model Paths CT2_MODEL_PATH=/app/models/nllb-ct2 CT2_DEVICE=cuda CT2_COMPUTE_TYPE=int8_float16 UNIVERSAL_MODEL=facebook/nllb-200-distilled-600M # Embeddings EMB_MODEL=sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 EMB_BATCH=64 EMB_DEVICE=cuda # NER NER_LANG=es NER_BATCH=64 # Flask / Gunicorn GUNICORN_WORKERS=8 FLASK_DEBUG=0 # Qdrant Configuration QDRANT_HOST=qdrant QDRANT_PORT=6333 QDRANT_COLLECTION_NAME=news_vectors QDRANT_BATCH_SIZE=100 QDRANT_SLEEP_IDLE=30 # ================================================================================== # COMANDOS ÚTILES PARA GENERAR CONTRASEÑAS SEGURAS # ================================================================================== # # PostgreSQL Password (32 caracteres): # openssl rand -base64 32 # # Redis Password (32 caracteres): # openssl rand -base64 32 # # Flask Secret Key (64 hex chars): # python -c "import secrets; print(secrets.token_hex(32))" # # Grafana Password (fuerte): # openssl rand -base64 24 # # ==================================================================================