Railway paso a paso: app desde GitHub con base de datos
Railway despliega tu aplicación desde GitHub en minutos: seleccionas el proyecto, Railway lo construye y ejecuta, y añades la base de datos con un clic.

👁 116 lecturas
Railway despliega tu aplicación desde un repositorio de GitHub en pocos minutos: señalas el proyecto, Railway lo construye y ejecuta automáticamente, y añades la base de datos con un solo clic. Este tutorial te lleva desde una cuenta vacía hasta una aplicación funcionando con base de datos y dirección pública, siguiendo la guía oficial de Railway.
Antes de empezar: verifica el proyecto localmente
Railway construirá la aplicación tal como está en el repositorio, así que la mayoría de problemas en el primer despliegue se pueden detectar antes. Asegúrate de que la aplicación se ejecuta localmente desde un clon limpio del repositorio, sin archivos que solo tengas tú. Anota todas las variables de entorno que necesita, porque cada una deberás añadirla en Railway. Comprueba en qué puerto escucha la aplicación y si lo lee desde una variable, no si está hardcodeado.
Los archivos con secretos, por ejemplo un archivo local con variables, no deben llegar al repositorio.
Paso 1. Nuevo proyecto desde repositorio
En el panel haces clic en New Project y eliges despliegue desde repositorio de GitHub. Railway requiere una cuenta de GitHub conectada, y si aún no la has conectado, te lo pedirá. Luego buscas tu proyecto y lo seleccionas de la lista.
Tienes dos opciones: Deploy Now inicia la construcción inmediatamente, y Add variables te permite primero configurar las variables de entorno. Si la aplicación necesita base de datos o claves, elige la segunda opción.
Paso 2. Cómo Railway construye la aplicación
Railway reconoce automáticamente cómo construir el proyecto. Si hay un Dockerfile en el repositorio, lo usará, y en caso contrario elegirá el método de construcción según el lenguaje y los archivos del proyecto. En esta etapa lo más importante son los logs de construcción y despliegue.
La documentación da un consejo valioso: lee todo el log, porque el error real rara vez está en la última línea. Lo más frecuente es una variable de entorno faltante o una versión del lenguaje diferente a la que usas localmente.
Paso 3. Base de datos
Añades una base de datos PostgreSQL con el botón + New en el tablero del proyecto, eligiendo base de datos y PostgreSQL. Railway la crea como un servicio separado y proporciona variables con los datos de conexión, incluida la dirección de la base.
Paso 4. Variables y referencias
En la configuración del servicio de aplicación añades las variables. En lugar de copiar la dirección de la base, estableces una referencia a la variable de la base de datos, por ejemplo a su dirección de conexión. Así, cuando cambien los datos de la base, la aplicación recibirá los nuevos automáticamente. Ahí también añades las claves para servicios externos y la configuración del entorno de producción.
Paso 5. Dirección pública
Este es el paso que sorprende a muchas personas: después del despliegue la aplicación por defecto no es accesible desde internet. Entras en la configuración del servicio, sección de red, y haces clic en Generate Domain. Obtienes una dirección pública donde funciona la aplicación. Puedes conectar tu propio dominio en el mismo lugar.
Paso 6. Despliegues tras cada cambio
A partir de ahora cada cambio que subas al repositorio inicia un nuevo despliegue. No te conectas a ningún servidor, y el historial de despliegues te permite volver a la versión anterior cuando algo sale mal.
Línea de comandos
Railway también tiene una herramienta de línea de comandos. El comando railway up envía los archivos de la aplicación directamente desde tu ordenador, sin repositorio, y comandos separados añaden base de datos o generan dominio. Es útil para pruebas rápidas y scripts.
Ejemplo: bot de Discord con base de datos
Tienes un bot de Discord que guarda puntos de usuarios. El repositorio está en GitHub. En Railway creas un proyecto desde el repositorio, eliges añadir variables, introduces el token del bot, añades una base PostgreSQL y estableces una referencia a su dirección. El bot funciona las 24 horas, y cada corrección que subas a GitHub llega al servidor automáticamente.
Después de un despliegue así conviene hacer una cosa inmediatamente: subir un pequeño cambio y comprobar que el bot se actualizó solo. Esto confirma que los despliegues automáticos funcionan, antes de que realmente los necesites. También vale la pena revisar la base de datos después de unos días de funcionamiento y asegurarte de que los puntos de los usuarios se guardan, y que tras un nuevo despliegue no desaparecen.
Errores más frecuentes
- Falta de dirección pública y la creencia de que la aplicación no funciona.
- Claves en el código en lugar de en variables de entorno.
- Leer solo el final del log.
- Dirección de la base hardcodeada en lugar de referencia a variable.
Cómo evaluar el primer despliegue
Después del despliegue abre la dirección generada y prueba las funciones más importantes, no solo la página principal. Comprueba si la aplicación guarda datos en la base y si después de un nuevo despliegue permanecen. Revisa los logs de la primera hora de funcionamiento: las advertencias que ignorabas localmente, en el servidor suelen ser la primera señal de un problema. Por último, sube un pequeño cambio y comprueba si el nuevo despliegue se inició solo.
Cuando la primera aplicación funciona, despliegas las siguientes igual: proyecto desde repositorio, variables, eventualmente base de datos y dominio. Después del segundo proyecto todo el procedimiento lleva pocos minutos, y en el tablero del proyecto ves todos los servicios y conexiones entre ellos en un solo lugar.
More on this from FULGOR
revista·Caricatura con IA desde foto: prompts para ChatGPT y GeminiCaricatura desde foto con IA en un minuto: sube la imagen a ChatGPT o Gemini, pega el prompt y obtén un dibujo con cabeza exagerada, profesión y accesorios.

