Cómo alojar una aplicación Flask en Square Cloud (app.run host 0.0.0.0)
¿Necesitas alojar tu aplicación Flask y configurar el app.run(host="0.0.0.0") para aceptar conexiones externas? Esta guía muestra el paso a paso para poner tu app Flask en línea en Square Cloud, con Gunicorn en producción y corriendo 24/7.
1. Requisitos previos
- Cuenta en Square Cloud: Crea tu cuenta vía Página de Registro (correo o GitHub).
- Plan Activo: Es necesario un plan de pago para alojar. Consulta los precios aquí.
2. Configuración para producción (Gunicorn)
Aunque Flask cuenta con un servidor integrado (app.run()), no es adecuado para producción. Gunicorn permite que tu aplicación maneje múltiples peticiones simultáneas de forma eficiente.
Para que Square Cloud dirija el tráfico correctamente, Gunicorn debe configurarse para escuchar en la interfaz 0.0.0.0 y en el puerto 80.
Ejemplo de la aplicación (app.py)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Flask rodando em produção na Square Cloud!'
if __name__ == '__main__':
# O app.run só é usado localmente
app.run(host='0.0.0.0', port=80)
3. Realizando el Deploy
- Compresión: Crea un archivo
.zipcon tu código fuente y elrequirements.txt. No incluyas carpetas de caché como__pycache__ni entornos virtuales (venv). Elrequirements.txtdebe estar en la raíz del proyecto y contener al menos:
flask
gunicorn
- Upload: En el Dashboard de Square Cloud, haz clic en enviar nueva aplicación.
- Publicación Web: En el menú de envío, marca la opción "Publicar en la Web".
- Subdominio: Elige el nombre para tu subdominio gratuito (ej.:
mi-api.squareweb.app). - Comando de inicio personalizado: Para utilizar Gunicorn, debes definir un comando de inicio personalizado en el momento del envío (o en el archivo de configuración
squarecloud.app). Utiliza el siguiente formato:
python -m gunicorn --bind 0.0.0.0:80 app:app
--bind 0.0.0.0:80: Expone la aplicación en el puerto exigido por la plataforma.app:app: Indica que Gunicorn debe buscar el objetoapp(el segundo "app") dentro del archivoapp.py(el primer "app").
4. Dominios personalizados (Plan Standard+)
Los usuarios del plan Standard o superior pueden configurar dominios propios:
- Añade tu dominio (ej.:
api.tusitio.com) en la pestaña Network. - Square Cloud gestiona automáticamente el SSL/HTTPS, garantizando que tu comunicación sea cifrada sin costo adicional.
5. Consejos de optimización
- Workers: Si tu aplicación recibe mucho tráfico, puedes ajustar el número de workers en el comando de inicio (ej.:
--workers 3). - Variables de entorno: Utiliza la pestaña ENV en el Dashboard para almacenar
SECRET_KEY, claves de API y URLs de base de datos. - Logs: Monitorea la terminal del Dashboard para identificar errores de inicialización o excepciones de Python en tiempo real.
Actualizado el: 13/06/2026
¡Gracias!
