Despliegue de Express con MongoDB usando Railway
Despliegue en Railway
1. Crear cuenta en Railway
- Ir a Railway
- Registrarse con GitHub
2. Crear una base de datos con MongoDB
- Selecciona create > Database
- Selecciona MongoDB
- Automáticamente empezará a crear la base de datos
- Copia la URL de conexión de MongoDB que se muestra en la sección de configuración de la base de datos. Esta URL es necesaria para conectar tu aplicación Express con la base de datos MongoDB.
3. Enlaza tu repositorio de Express con Railway
- Presiona la opción create
- Escoje la opción de Deploy from GitHub
- Selecciona el repositorio de Express que quieres desplegar
- Selecciona el nuevo nodo creado para tu repositorio
- Ve al apartado de Settings y agrega las configuraciones necesarias como la rama que deseas desplegar
- Ve al apartado de variables y agrega las variables de entorno necesarias, como la URL de la base de datos de MongoDB que creaste anteriormente. Por ejemplo:
MONGODB_URI:mongodb+srv://<username>:<password>@<cluster-url>/<database-name>?retryWrites=true&w=majority- Asegúrate de reemplazar
<username>,<password>,<cluster-url>y<database-name>con los valores correspondientes.
Nota: Es posible que la aplicación que deseas desplegar sea la creada usando las guías de este curso, no obstante hay algunas correcciones que debo de remarcar:
-
En el archivo
package.json, asegúrate de tener un script para transpilar el código TypeScript a JavaScript. Por ejemplo:"scripts": {
"build": "tsc",
"start": "node dist/index.js"
} -
Asegúrate de estar usando una librería como
dotenvpara manejar las variables de entorno. Instala la librería con:npm install dotenv -
En tu archivo principal (por ejemplo,
index.ts), asegúrate de cargar las variables de entorno al inicio del archivo:import dotenv from 'dotenv';
dotenv.config(); -
Asegúrate de que tu aplicación tenga la configuración de CORS adecuada si planeas acceder a ella desde un frontend. Puedes usar el paquete
cors:npm install cors
npm install -D @types/corsY en tu archivo principal:
import cors from 'cors';
app.use(cors());
4. Genera un dominio público
- Ve al apartado de Settings
- En la sección de Networking selecciona la opción de generar un dominio público.
- Esto te proporcionará una URL pública que puedes usar para acceder a tu aplicación Express desplegada.