Desplegando una Tienda con MedusaJS 2.0 en un AWS EC2 Instancia

Implementación de MedusaJS: despliegue de un backend y un storefront de MedusaJS en una instancia Ubuntu alojada en AWS EC2. Además, configuración de Nginx como proxy inverso y frontend persistente gestionado por PM2. Recomendaciones para producción y escalado incluyendo integración de Stripe y auto

2 oct 2025 • 5 min read • Q2BSTUDIO Team

inteligencia-artifial-software-aplicaciones

Si has decidido montar una tienda online y prefieres hacerlo por tu cuenta estás en el lugar correcto. En esta guía práctica repasaremos cómo desplegar un backend y un storefront de MedusaJS en una instancia Ubuntu alojada en AWS EC2. Al final tendrás una aplicación MedusaJS en funcionamiento accesible por dominio con Nginx como proxy inverso y frontend persistente gestionado por PM2. Además encontrarás recomendaciones para producción y escalado.

Sobre nosotros: Q2BSTUDIO es una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure. Si buscas desarrollar una solución personalizada podemos ayudarte con proyectos de desarrollo de aplicaciones a medida y migraciones a la nube con servicios cloud AWS y Azure.

Resumen del objetivo: desplegar MedusaJS con rutas separadas para admin API autenticación y storefront, persistencia del frontend con PM2 y Nginx configurado para manejar panel admin rutas por país y certificados SSL con Certbot.

Requisitos previos: una instancia Ubuntu en EC2 con grupo de seguridad que permita SSH 22 desde tu IP HTTP 80 y HTTPS 443 desde cualquier lugar; un dominio apuntando a la IP de la instancia; cuenta de Stripe para pagos y acceso a git para clonar repositorios.

Instalaciones básicas: actualiza el sistema e instala Docker Docker Compose Git Nginx Node.js PM2 Curl y Certbot. Activa el servicio Docker añade tu usuario al grupo docker y configura PM2 para reiniciar procesos en arranque. También crea y asegura el directorio donde vivirá el frontend por defecto por ejemplo /var/www/storefront y asigna permisos al usuario ubuntu.

Backend con Docker: clona el repositorio oficial de Medusa starter crea un docker compose con servicios para Postgres Redis y Medusa. El servicio Medusa expone el puerto 9000 y se conecta a la base de datos y a Redis mediante variables de entorno. En lugar de copiar cada línea de configuración aquí prepara un archivo .env con variables como DATABASE_URL REDIS_URL JWT_SECRET COOKIE_SECRET y CORS adecuados apuntando a tu dominio y a las direcciones locales de los servicios Docker.

Dockerfile y script de inicio: dentro del repositorio ajusta Dockerfile para instalar dependencias y copiar la aplicación y crea un start script que ejecute migraciones seed si aplica y arranque la aplicación. Construye y levanta con docker compose up --build -d y crea un usuario admin con npx medusa user desde el contenedor cuando el backend esté corriendo.

Configuración de Medusa: reemplaza medusa-config.ts para cargar variables de entorno y ajustar CORS y dominios permitidos. Asegúrate de incluir la URL de tu frontend en STORE_CORS y la del panel en ADMIN_CORS. Mantén los secretos fuera de repositorios públicos y usa archivos .env u otros mecanismos seguros para gestión de secretos.

Proxy inverso con Nginx: crea un bloque de servidor que escuche en 80 y dirija las rutas del storefront y del backend a los puertos locales 8000 y 9000 respectivamente. Añade reglas específicas para rutas por país como /dk /us /ng y proxies para /admin /store /auth y /app apuntando al backend. Habilita la configuración crea el enlace simbólico en sites-enabled elimina la configuración por defecto y prueba la sintaxis con nginx -t antes de recargar el servicio. Finalmente ejecuta Certbot para obtener certificados LetsEncrypt y habilitar HTTPS.

Frontend: clona el starter de Next.js para Medusa configura el archivo .env del frontend con MEDUSA_BACKEND_URL NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY NEXT_PUBLIC_BASE_URL NEXT_PUBLIC_DEFAULT_REGION NEXT_PUBLIC_STRIPE_KEY y REVALIDATE_SECRET. Para obtener la publishable key crea la clave desde el panel admin en /app/settings/publishable-api-keys o usa un túnel SSH temporal si está detrás de un firewall.

CI CD con GitHub Actions: recomendamos automatizar despliegues del frontend mediante GitHub Actions. Configura secrets en el repositorio como SSH_PRIVATE_KEY SERVER_HOST SERVER_USER APP_DIR y las variables públicas y claves de Stripe y Medusa. Crea un workflow que haga checkout instale Node compile y copie los archivos al servidor por SCP luego reinicie el proceso con PM2. Asegúrate de que en el servidor exista el directorio destino y los permisos adecuados para el usuario que ejecuta SSH.

Gestión de procesos: usa PM2 para arrancar y mantener el frontend en producción y opcionalmente para monitorizarlo. PM2 proporciona persistencia tras reinicios y facilita logs y restarts automáticos.

Depuración y recomendaciones: revisa logs de docker compose logs -f y de PM2 pm2 logs. Si surgen errores revisa variables de entorno CORS y que Redis y Postgres estén accesibles desde el contenedor Medusa. Para problemas con certificados revisa que el dominio apunte correctamente y que Nginx pueda contactar los puertos locales.

Buenas prácticas para producción: separa bases de datos en RDS o servicios gestionados usa Redis gestionado para caching y sesiones y emplea balanceadores y CDN como CloudFront para servir el storefront estático. Implementa copias de seguridad periódicas políticas de recuperación ante desastres y monitoreo con alertas. En una próxima entrega hablaremos sobre escalar Medusa con ECS RDS CloudFront y configurar alertas y métricas.

Servicios relacionados: si necesitas integrar módulos avanzados de pago o automatizar flujos de negocio podemos ayudarte con integración de Stripe y automatización de procesos. También ofrecemos servicios de ciberseguridad para auditoría y pentesting y consultoría en inteligencia artificial aplicada a ecommerce para crear agentes IA y mejoras en la conversión y personalización. Consulta nuestras soluciones de inteligencia artificial para empresas y proyectos de Business Intelligence y Power BI para análisis avanzado.

Palabras clave integradas: aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi.

Si quieres que despleguemos tu tienda o prefieres una solución gestionada contacta con Q2BSTUDIO para evaluar requisitos diseño y presupuesto y así obtener una plataforma robusta segura y escalable adaptada a tu negocio.

Próximos pasos sugeridos: revisar la configuración actual probar despliegue en staging automatizar backups y planear migración a servicios gestionados en AWS para alta disponibilidad y rendimiento. En futuros artículos mostraremos una guía detallada de migración a ECS y RDS y la integración con CloudFront y monitoreo.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat