Construir

Desplegar una app Flask gratis: guía completa

Cómo llevar tu app Flask de tu computadora a internet sin pagar nada. Qué necesitas preparar, el servidor de producción que no puedes olvidar, y los pasos para publicarla.

Construiste tu app Flask y funciona en tu máquina. Ahora quieres que el mundo la use. Desplegarla —subirla a un servidor accesible desde internet— es el paso que convierte un proyecto en algo real, y se puede hacer gratis. Aquí lo que necesitas preparar y cómo publicarla.

Antes de desplegar: tres cosas obligatorias

Saltarse estos pasos es la causa del 90% de los despliegues que fallan. Prepáralos primero.

1. El servidor de producción (esto es lo que todos olvidan)

El servidor que arranca con flask run o app.run() es solo para desarrollo. Lo dice la propia terminal de Flask con una advertencia. En producción no aguanta la carga y es inseguro. Necesitas un servidor real como Gunicorn:

pip install gunicorn

Se ejecuta apuntando a tu app así (si tu archivo es app.py y la variable es app):

gunicorn app:app

Muchas plataformas gratuitas lo requieren para arrancar tu app. Es el detalle que hace que un despliegue funcione en vez de quedarse a medias.

2. El archivo de dependencias

La plataforma necesita saber qué librerías instalar. Se lista en un requirements.txt:

pip freeze > requirements.txt

Ese comando genera el archivo con todo lo que tu proyecto usa. Revísalo y asegúrate de que incluya Flask y Gunicorn.

3. El puerto dinámico

En tu máquina Flask usa el puerto 5000, pero en un servidor la plataforma te asigna el puerto por una variable de entorno. Tu app debe respetarla:

import os

if __name__ == "__main__":
    puerto = int(os.environ.get("PORT", 5000))
    app.run(host="0.0.0.0", port=puerto)

El host="0.0.0.0" hace que la app acepte conexiones desde fuera, no solo desde la propia máquina. Sin él, el servidor arranca pero nadie puede acceder.

Dónde desplegar gratis

Hay varias plataformas con plan gratuito. Las más usadas para Flask hoy son Render, Railway y PythonAnywhere. Todas conectan con tu repositorio de GitHub y despliegan solas al hacer push, un flujo parecido al que ya conoces si has usado Netlify.

Un aviso honesto sobre los planes gratuitos: suelen “dormir” la app tras un rato sin visitas, así que la primera carga después de la inactividad tarda unos segundos en despertar. Para un proyecto personal o un portafolio es perfectamente aceptable; para algo con tráfico constante, en algún momento querrás un plan de pago.

Los pasos, en general

El flujo es parecido en todas las plataformas:

  1. Sube tu proyecto a un repositorio de GitHub (con el requirements.txt incluido).
  2. Crea una cuenta en la plataforma y conéctala a tu GitHub.
  3. Selecciona el repositorio de tu app.
  4. Indica el comando de arranque: normalmente gunicorn app:app.
  5. La plataforma instala las dependencias, arranca la app y te da una URL pública.

En unos minutos tu app está en internet, accesible desde cualquier lugar.

Un recordatorio de seguridad

Antes de publicar, revisa dos cosas. Que debug=True no esté activo en producción: el modo debug muestra detalles internos de tu código ante cualquier error, un regalo para quien quiera atacarte. Y que cualquier clave secreta o contraseña se cargue desde variables de entorno, nunca escrita en el código que subes a GitHub.

Con esto tienes tu app Flask viviendo en internet, gratis. A partir de aquí, si el proyecto crece, evaluarás un dominio propio y un plan que no duerma, pero para lanzar y compartir, esto es todo lo que necesitas.


¿Te aparece un error al desplegar o la app arranca pero muestra pantalla en blanco? Escríbeme desde contacto con el log de la plataforma y lo revisamos.

← Más de Construir