SETUP.md 3.8 KB

Configuración del Proyecto HokoriTemp

Configuración Inicial

1. Variables de Entorno

Copia el archivo env.example como .env y configura las variables según tu entorno:

cp env.example .env

2. Configurar .env

Edita el archivo .env con tus valores:

# Clave secreta (¡OBLIGATORIO cambiar!)
SECRET_KEY=tu_clave_secreta_muy_segura_aqui

# Configuración del servidor
HOST=127.0.0.1
PORT=5000
DEBUG=False

# Configuración del dominio (para reverse proxy)
DOMAIN=temp.mysite.net

# Configuración de archivos
MAX_FILE_SIZE=16777216  # 16MB en bytes
UPLOAD_FOLDER=uploads
FILE_EXPIRATION_HOURS=24

3. Generar Clave Secreta

Para generar una clave secreta segura, puedes usar Python:

import secrets
print(secrets.token_hex(32))

Estructura de Archivos

hokoritemp/
├── app.py                 # Aplicación principal
├── requirements.txt       # Dependencias
├── .env                  # Variables de entorno (crear desde env.example)
├── .gitignore           # Archivos a ignorar en Git
├── env.example          # Ejemplo de variables de entorno
├── README.md            # Documentación principal
├── SETUP.md             # Este archivo
├── uploads/             # Carpeta de archivos (se crea automáticamente)
└── templates/           # Plantillas HTML
    ├── index.html
    └── view.html

Comandos Útiles

Desarrollo

# Activar entorno virtual
.\venv\Scripts\Activate.ps1

# Instalar dependencias
pip install -r requirements.txt

# Ejecutar en modo desarrollo
python app.py --debug

# Ejecutar en puerto específico
python app.py --port 8080

Producción

# Ejecutar en modo producción
python app.py --host 0.0.0.0 --port 80

# Con HTTPS (requiere certificados)
python app.py --https

Variables de Entorno Disponibles

Variable Descripción Valor por Defecto
SECRET_KEY Clave secreta de Flask tu_clave_secreta_aqui
HOST Host del servidor 127.0.0.1
PORT Puerto del servidor 5000
DEBUG Modo debug False
DOMAIN Dominio para enlaces (reverse proxy) temp.mysite.net
MAX_FILE_SIZE Tamaño máximo de archivo (bytes) 16777216 (16MB)
UPLOAD_FOLDER Carpeta de archivos uploads
FILE_EXPIRATION_HOURS Horas hasta expiración 24

Seguridad

Archivos Sensibles

  • .env - Contiene variables sensibles (NO subir a Git)
  • uploads/ - Contiene archivos subidos (NO subir a Git)
  • venv/ - Entorno virtual (NO subir a Git)

Recomendaciones

  1. Nunca subas el archivo .env a Git
  2. Cambia la SECRET_KEY por defecto
  3. Configura límites de archivo apropiados
  4. Usa HTTPS en producción
  5. Configura un firewall apropiado

Troubleshooting

Error: "No module named 'dotenv'"

pip install python-dotenv

Error: "Permission denied" al crear carpeta uploads

# En Windows, ejecutar como administrador
# En Linux/Mac
chmod 755 uploads/

Error: "Address already in use"

# Cambiar puerto
python app.py --port 8080

Despliegue

Con Apache Reverse Proxy

  1. Copiar temp.mysite.conf a /etc/httpd/conf.d/
  2. Configurar el dominio en .env
  3. Ejecutar la app: python app.py --host 127.0.0.1 --port 5000
  4. Acceder a http://temp.mysite.net

Heroku

  1. Crear Procfile:

    web: python app.py --host 0.0.0.0 --port $PORT
    
  2. Configurar variables de entorno en Heroku Dashboard

Docker

  1. Crear Dockerfile:

    FROM python:3.9-slim
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install -r requirements.txt
    COPY . .
    EXPOSE 5000
    CMD ["python", "app.py", "--host", "0.0.0.0"]
    
  2. Construir y ejecutar:

    docker build -t hokoritemp .
    docker run -p 5000:5000 hokoritemp