mypastebin/config.py
2025-05-29 22:40:58 +02:00

66 lines
2.4 KiB
Python

import os
# Base de datos
DB_ENGINE = os.getenv("DB_ENGINE", "sqlite")
POSTGRES_USER = os.getenv("POSTGRES_USER", "mypasteuser")
POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD", "mypastepassword")
POSTGRES_DB = os.getenv("POSTGRES_DB", "mypastedb")
POSTGRES_HOST = os.getenv("POSTGRES_HOST", "db")
POSTGRES_PORT = os.getenv("POSTGRES_PORT", "5432")
DB_URI_POSTGRES = f"postgresql://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DB}"
DB_PATH = os.getenv("DB_PATH", "/app/database/database.db")
DB_URI_SQLITE = f"sqlite:///{DB_PATH}"
if DB_ENGINE == "postgres":
SQLALCHEMY_DATABASE_URI = DB_URI_POSTGRES
SQLALCHEMY_ENGINE_OPTIONS = {
"pool_pre_ping": True,
"pool_recycle": 1800, # Recycle connections every 30 minutes
"pool_size": 10, # Set the pool size
"max_overflow": 20 # Allow a maximum of 20 connections to exceed the pool size
}
else:
SQLALCHEMY_DATABASE_URI = DB_URI_SQLITE
SQLALCHEMY_ENGINE_OPTIONS = {}
# Clave secreta para JWT
SECRET_KEY = os.getenv("SECRET_KEY", "lñkkjkjkñkljñkjñkljlkjñklljñkjñlkj") # Mejor usar una clave generada al desplegar
JWT_ALGORITHM = os.getenv("JWT_ALGORITHM", "HS256")
JWT_EXP_DELTA_SECONDS = int(os.getenv("JWT_EXP_DELTA_SECONDS", 3600))
# Ruta para subir archivos
UPLOAD_FOLDER = os.getenv("UPLOAD_FOLDER", "/app/uploads")
# Configuración de SMTP
SMTP_SERVER = os.getenv("SMTP_SERVER", "priet.us")
SMTP_PORT = int(os.getenv("SMTP_PORT", 465)) # Usa 465 para SSL
SMTP_USERNAME = os.getenv("SMTP_USERNAME", "")
SMTP_PASSWORD = os.getenv("SMTP_PASSWORD", "")
SMTP_USE_TLS = os.getenv("SMTP_USE_TLS", "false").lower() == "true"
SMTP_USE_SSL = os.getenv("SMTP_USE_SSL", "true").lower() == "true"
# config.py
ROLE_STORAGE_LIMITS = {
'admin': -1, # Ilimitado
'advanced': 2 * 1024**3, # 2GB en bytes
'user': 1 * 1024**3, # 1GB en bytes
}
# Debugging (opcional)
if __name__ == "__main__":
print("Current configuration:")
print(f"DB_ENGINE: {DB_ENGINE}")
print(f"SQLALCHEMY_DATABASE_URI: {SQLALCHEMY_DATABASE_URI}")
print(f"JWT_ALGORITHM: {JWT_ALGORITHM}")
print(f"JWT_EXP_DELTA_SECONDS: {JWT_EXP_DELTA_SECONDS}")
print(f"UPLOAD_FOLDER: {UPLOAD_FOLDER}")
print(f"SMTP_SERVER: {SMTP_SERVER}")
print(f"SMTP_PORT: {SMTP_PORT}")
print(f"SMTP_USERNAME: {SMTP_USERNAME}")
print(f"SMTP_USE_TLS: {SMTP_USE_TLS}")
print(f"SMTP_USE_SSL: {SMTP_USE_SSL}")