Instalar Medusa en un VPS es una forma eficaz de desplegar una plataforma de comercio electrónico potente y flexible, lo que le proporciona un control total sobre la infraestructura, los datos y la escalabilidad de su tienda en línea.
¿Qué es Medusa y por qué necesita Medusa en un VPS?
Medusa es una plataforma de comercio electrónico moderna, de código abierto y headless (sin cabeza), diseñada para desarrolladores. Ofrece un potente enfoque API-first, lo que permite crear storefronts (escaparates) totalmente personalizados en cualquier framework frontend (React, Next.js, Vue.js, etc.), integrar varios servicios de terceros y pasarelas de pago, y escalar la funcionalidad para adaptarse a cualquier requisito empresarial. A diferencia de las soluciones monolíticas, Medusa separa el backend (API), el panel de administración y el storefront, proporcionando la máxima flexibilidad y rendimiento.
El uso de Medusa en un VPS le ofrece una serie de ventajas significativas. En primer lugar, tendrá un control total sobre el entorno de despliegue. No estará limitado por las plataformas SaaS, podrá instalar cualquier dependencia necesaria, configurar el servidor según sus necesidades y garantizar la máxima seguridad. En segundo lugar, Medusa self-hosted en su propio servidor le permite evitar las tarifas de suscripción de hosting, que a menudo aumentan con el volumen de negocio en las plataformas comerciales. Solo pagará por los recursos del VPS, lo que puede ser significativamente más rentable a largo plazo, especialmente con altos volúmenes de ventas.
El despliegue de Medusa en un servidor privado virtual (VPS) de Valebyte.com proporciona una base fiable y de alto rendimiento para su tienda en línea. Nuestras tarifas incluyen discos SSD NVMe, que son cruciales para el rápido funcionamiento de la base de datos y la carga de contenido, así como canales de comunicación estables, lo que garantiza una respuesta instantánea para sus clientes.
Para simplificar el proceso de despliegue y gestión, utilizaremos Medusa Docker. La dockerización permite aislar la aplicación con todas sus dependencias, simplifica la escalabilidad, la actualización y la migración de Medusa a otros servidores. Este es un enfoque ideal para el desarrollo y la operación modernos.
Requisitos del sistema para Medusa en el servidor: ¿qué necesita saber?
Antes de proceder con la instalación de Medusa, es importante asegurarse de que su VPS cumple con los requisitos mínimos. Medusa consta de varios componentes: el backend (Node.js), la base de datos (PostgreSQL), la caché (Redis), y opcionalmente el frontend (Storefront) y el panel de administración. Todos estos componentes consumen recursos del sistema.
Configuraciones mínimas y recomendadas para Medusa VPS
Para una tienda pequeña con tráfico y surtido limitados (hasta 1000 productos, hasta 100 usuarios simultáneos), los siguientes requisitos mínimos son adecuados:
- Procesador (CPU): 2 vCPU. El Backend de Medusa en Node.js utiliza la multinúcleo de manera bastante eficiente.
- Memoria RAM: 4 GB. Esto será suficiente para que funcionen todos los componentes de los contenedores Docker (PostgreSQL, Redis, Medusa Backend, Storefront, Admin).
- Espacio en disco: 50 GB NVMe SSD. Los discos NVMe son cruciales para el rendimiento de la base de datos PostgreSQL y la velocidad de carga de archivos.
- Canal de red: 100 Mbit/s.
- Sistema operativo: Ubuntu 22.04 LTS (recomendado) o Debian 11/12.
Para proyectos medianos y grandes (miles de productos, cientos de usuarios simultáneos, uso activo de plugins e integraciones) se recomienda:
- Procesador (CPU): 4 vCPU o más.
- Memoria RAM: 8 GB o más. PostgreSQL y Redis pueden consumir volúmenes significativos de memoria con grandes cantidades de datos.
- Espacio en disco: 100 GB NVMe SSD o más.
- Canal de red: 1 Gbit/s.
- Sistema operativo: Ubuntu 22.04 LTS.
Elija siempre NVMe SSD. La diferencia de velocidad en comparación con los SSD o HDD normales es enorme y afecta directamente la velocidad de su tienda, especialmente al procesar solicitudes a la base de datos.
Elección del sistema operativo para Medusa en el servidor
Las distribuciones de Linux más populares y mejor soportadas para el despliegue de contenedores Docker son Ubuntu Server LTS (Long Term Support) y Debian Stable. Recomendamos Ubuntu 22.04 LTS debido a su amplio soporte comunitario, paquetes actualizados y estabilidad. Todos los comandos de esta guía estarán orientados a Ubuntu.
¿Busca un servidor fiable para sus proyectos?
VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.
Ver ofertas →Preparación del VPS para la instalación de Medusa Docker
Antes de proceder con la instalación de Medusa, es necesario preparar su VPS. Esto incluye la actualización del sistema, la instalación de Docker y Docker Compose, así como la configuración básica de seguridad.
Actualización del sistema e instalación de los paquetes necesarios
Conéctese a su VPS por SSH como usuario root o un usuario con privilegios sudo. Primero, actualice la lista de paquetes y el sistema:
sudo apt update
sudo apt upgrade -y
Instale las utilidades necesarias, como git (para clonar el repositorio de Medusa) y curl (frecuentemente utilizado para descargar scripts):
sudo apt install git curl -y
Configure el firewall básico UFW (Uncomplicated Firewall) para permitir solo los puertos necesarios. Para empezar, permitiremos SSH (puerto 22), HTTP (puerto 80) y HTTPS (puerto 443):
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
sudo ufw status
Confirme la activación del firewall introduciendo y.
Instalación de Docker y Docker Compose para Medusa en un VPS
Medusa Docker es la forma más sencilla y recomendada de despliegue. Instalaremos Docker Engine y Docker Compose. El script oficial de instalación de Docker lo hará por usted:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Añada el usuario actual al grupo docker para evitar usar sudo en cada comando de Docker:
sudo usermod -aG docker $USER
newgrp docker
Verifique la instalación de Docker:
docker --version
docker compose version
Si ve las versiones de Docker y Docker Compose, la instalación se ha realizado correctamente. Ahora su VPS está listo para el despliegue de Medusa.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
Instalación paso a paso de Medusa en un VPS con Docker Compose
Ahora que el VPS está listo, podemos proceder con la instalación de Medusa utilizando Docker Compose. Este enfoque permite gestionar todos los componentes de Medusa como un servicio unificado.
Clonación del repositorio y configuración del entorno para Medusa Docker
Medusa proporciona plantillas listas para Docker Compose, lo que simplifica significativamente el proceso. Vaya al directorio de inicio del usuario o cree un directorio separado para su proyecto:
cd ~
mkdir medusa-store
cd medusa-store
Clone el repositorio oficial de Medusa con la configuración de Docker Compose:
git clone https://github.com/medusajs/medusa-starter-ecommerce.git .
Copie el archivo de ejemplo de variables de entorno y edítelo. Este archivo contendrá configuraciones importantes, como claves API, URL de la base de datos, etc.
cp .env.template .env
nano .env
En el archivo .env, deberá configurar las siguientes variables:
DATABASE_URL: URL para conectar a PostgreSQL. Por defecto en Docker Compose serápostgres://medusa:password@medusa-db:5432/medusa. Cambiepasswordpor uno más seguro.REDIS_URL: URL para conectar a Redis. Por defectoredis://medusa-redis:6379.JWT_SECRET: Clave secreta para JSON Web Tokens. Genere una cadena aleatoria larga.COOKIE_SECRET: Clave secreta para las cookies de sesión. También genere una cadena aleatoria larga.ADMIN_CORS: URL de su panel de administración (por ejemplo,http://localhost:7000,http://admin.sudominio.com).STORE_CORS: URL de su storefront (por ejemplo,http://localhost:8000,http://sudominio.com).
Ejemplo del contenido de .env (reemplace your_secure_password, your_jwt_secret, your_cookie_secret y los dominios):
# Database
DATABASE_URL=postgres://medusa:your_secure_password@medusa-db:5432/medusa
REDIS_URL=redis://medusa-redis:6379
# Medusa Backend
PORT=9000
MEDUSA_URL=http://localhost:9000 # Dentro de la red Docker, para acceso externo se utilizará un reverse proxy
ADMIN_CORS=http://localhost:7000,https://admin.yourdomain.com
STORE_CORS=http://localhost:8000,https://www.yourdomain.com
JWT_SECRET=your_jwt_secret_here_at_least_32_chars
COOKIE_SECRET=your_cookie_secret_here_at_least_32_chars
Guarde los cambios (Ctrl+O, Enter, Ctrl+X).
Ahora, copie el archivo docker-compose.yml. Dependiendo del repositorio, puede llamarse docker-compose.yml.template o simplemente estar en la raíz. Asegúrese de tener un archivo docker-compose.yml que incluya los servicios para PostgreSQL, Redis, Medusa Backend, así como Storefront y Admin (si utiliza los starters oficiales).
Ejemplo de la estructura de docker-compose.yml que encontrará en el repositorio de inicio:
version: "3.8"
services:
medusa-db:
image: postgres:13-alpine
restart: always
environment:
POSTGRES_USER: medusa
POSTGRES_PASSWORD: ${DB_PASSWORD} # Se tomará de .env (DATABASE_URL)
POSTGRES_DB: medusa
volumes:
- db_data:/var/lib/postgresql/data
ports:
- "5432:5432" # Solo para depuración, en producción es mejor no abrirlo
medusa-redis:
image: redis:6-alpine
restart: always
volumes:
- redis_data:/data
ports:
- "6379:6379" # Solo para depuración, en producción es mejor no abrirlo
medusa-backend:
build:
context: .
dockerfile: Dockerfile
restart: always
environment:
DATABASE_URL: ${DATABASE_URL}
REDIS_URL: ${REDIS_URL}
JWT_SECRET: ${JWT_SECRET}
COOKIE_SECRET: ${COOKIE_SECRET}
ADMIN_CORS: ${ADMIN_CORS}
STORE_CORS: ${STORE_CORS}
# Variables adicionales para plugins y servicios
ports:
- "9000:9000"
depends_on:
- medusa-db
- medusa-redis
medusa-admin:
build:
context: .
dockerfile: Dockerfile.admin
restart: always
environment:
MEDUSA_BACKEND_URL: http://medusa-backend:9000 # Dentro de la red Docker
ports:
- "7000:7000"
depends_on:
- medusa-backend
medusa-storefront:
build:
context: .
dockerfile: Dockerfile.storefront
restart: always
environment:
NEXT_PUBLIC_MEDUSA_BACKEND_URL: http://medusa-backend:9000 # Dentro de la red Docker
ports:
- "8000:8000"
depends_on:
- medusa-backend
volumes:
db_data:
redis_data:
Preste atención a los puertos en docker-compose.yml. En un entorno de producción para medusa-db y medusa-redis, es mejor no exponer los puertos al exterior (eliminar la sección ports), ya que solo serán accesibles desde dentro de la red Docker para otros contenedores.
Ahora, cree los Dockerfiles necesarios para el backend, el panel de administración y el storefront, si no están en la raíz. Normalmente, se incluyen en el repositorio de inicio. Por ejemplo, un Dockerfile para el backend podría verse así:
FROM node:18-alpine
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile
COPY . .
RUN yarn build
CMD ["yarn", "start"]
De manera similar para Dockerfile.admin y Dockerfile.storefront, utilizando los comandos de construcción y ejecución correspondientes para Next.js u otro framework.
Inicio de Medusa Backend, Storefront y Admin
Después de configurar .env y verificar docker-compose.yml, puede iniciar todos los servicios. Primero, inicializamos la base de datos de Medusa:
docker compose run medusa-backend medusa seed
docker compose run medusa-backend medusa migrations run
El comando medusa seed (si está presente en su proyecto inicial) puede cargar datos de demostración, lo cual es útil para pruebas. medusa migrations run aplica todas las migraciones de base de datos necesarias.
Ahora inicie todos los servicios en segundo plano:
docker compose up -d --build
La opción --build garantiza que las imágenes se reconstruyan, lo cual es útil en el primer inicio o al modificar el Dockerfile. La opción -d inicia los contenedores en modo desatado.
Verifique el estado de los contenedores en ejecución:
docker compose ps
Debería ver todos los servicios (medusa-db, medusa-redis, medusa-backend, medusa-admin, medusa-storefront) en estado Up.
Después del inicio, es necesario crear el primer usuario administrador para acceder al panel de administración de Medusa:
docker compose exec medusa-backend medusa user --email [email protected] --password your_admin_password
Reemplace [email protected] y your_admin_password con las credenciales deseadas. Asegúrese de que la contraseña sea lo suficientemente compleja. Después de esto, podrá iniciar sesión en el panel de administración.
Configuración de Reverse Proxy y HTTPS para Medusa
Para garantizar un acceso seguro y conveniente a su tienda Medusa en el servidor, así como para trabajar con nombres de dominio, es necesario configurar un Reverse Proxy con soporte HTTPS. Esto permitirá dirigir el tráfico de su dominio a los puertos correspondientes de los contenedores Docker y cifrar la conexión.
¿Por qué se necesita un Reverse Proxy y HTTPS?
- Reverse Proxy: Permite dirigir las solicitudes de un nombre de dominio (por ejemplo,
www.yourdomain.comoadmin.yourdomain.com) a diferentes servicios internos que operan en distintos puertos. También puede almacenar en caché contenido, equilibrar la carga y proporcionar una capa adicional de seguridad. - HTTPS (SSL/TLS): Cifra todo el tráfico entre el navegador del usuario y su servidor. Esto es crucial para proteger datos confidenciales (contraseñas, información de pago) y es un requisito obligatorio para SEO, navegadores modernos y sistemas de pago. Let's Encrypt proporciona certificados SSL gratuitos.
Analizaremos la configuración de Nginx y Caddy, dos Reverse Proxy populares y eficientes.
Configuración de Nginx como Reverse Proxy para Medusa
Instale Nginx en su VPS:
sudo apt install nginx -y
Cree un archivo de configuración para su dominio. Por ejemplo, para www.yourdomain.com y admin.yourdomain.com:
sudo nano /etc/nginx/sites-available/medusa.conf
Ejemplo de configuración para Nginx (reemplace yourdomain.com por su dominio real):
server {
listen 80;
listen [::]:80;
server_name www.yourdomain.com yourdomain.com; # Dominio principal para el storefront
location / {
return 301 https://$host$request_uri; # Redirección a HTTPS
}
}
server {
listen 80;
listen [::]:80;
server_name admin.yourdomain.com; # Dominio para el panel de administración
location / {
return 301 https://$host$request_uri; # Redirección a HTTPS
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.yourdomain.com yourdomain.com; # Dominio principal para el storefront
ssl_certificate /etc/letsencrypt/live/www.yourdomain.com/fullchain.pem; # Ruta al certificado Let's Encrypt
ssl_certificate_key /etc/letsencrypt/live/www.yourdomain.com/privkey.pem; # Ruta a la clave Let's Encrypt
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:8000; # Puerto Medusa Storefront (Next.js)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
# Si el backend está disponible a través de la API en el dominio principal, use un prefijo
# location /api/ {
# proxy_pass http://localhost:9000; # Puerto Medusa Backend
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_redirect off;
# }
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name admin.yourdomain.com; # Dominio para el panel de administración
ssl_certificate /etc/letsencrypt/live/admin.yourdomain.com/fullchain.pem; # Ruta al certificado Let's Encrypt
ssl_certificate_key /etc/letsencrypt/live/admin.yourdomain.com/privkey.pem; # Ruta a la clave Let's Encrypt
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:7000; # Puerto Medusa Admin (Next.js)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
location /admin/api/ { # API para el panel de administración
proxy_pass http://localhost:9000/admin/api/; # Puerto Medusa Backend
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name api.yourdomain.com; # Dominio para la API del backend
ssl_certificate /etc/letsencrypt/live/api.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.yourdomain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:9000; # Puerto Medusa Backend
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
Cree un enlace simbólico al archivo de configuración:
sudo ln -s /etc/nginx/sites-available/medusa.conf /etc/nginx/sites-enabled/
Elimine la configuración predeterminada de Nginx, si existe:
sudo rm /etc/nginx/sites-enabled/default
Verifique la sintaxis de Nginx:
sudo nginx -t
Reinicie Nginx:
sudo systemctl restart nginx
Ahora instale Certbot para obtener certificados SSL de Let's Encrypt:
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com -d admin.yourdomain.com -d api.yourdomain.com
Siga las instrucciones de Certbot. Configurará automáticamente Nginx para HTTPS. Después de esto, verifique nuevamente la sintaxis de Nginx y reinícielo. Ahora su tienda Medusa es accesible a través de HTTPS mediante nombres de dominio.
Configuración de Caddy como Reverse Proxy (alternativa)
Caddy es un servidor web moderno que genera y renueva automáticamente certificados SSL de Let's Encrypt. Esto lo hace muy conveniente para una configuración rápida de HTTPS.
Instale Caddy:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
Cree o edite el archivo /etc/caddy/Caddyfile:
sudo nano /etc/caddy/Caddyfile
Ejemplo de configuración para Caddy (reemplace yourdomain.com por su dominio real):
www.yourdomain.com, yourdomain.com {
reverse_proxy localhost:8000 # Puerto Medusa Storefront
}
admin.yourdomain.com {
reverse_proxy localhost:7000 # Puerto Medusa Admin
}
api.yourdomain.com {
reverse_proxy localhost:9000 # Puerto Medusa Backend
}
Guarde el archivo y reinicie Caddy:
sudo systemctl restart caddy
sudo systemctl enable caddy
Caddy obtendrá y configurará automáticamente los certificados SSL para sus dominios. Esto es significativamente más sencillo que la configuración manual de Nginx y Certbot, pero Nginx ofrece más opciones para una configuración fina.
Configuración inicial y mantenimiento de Medusa
Después de la instalación exitosa de Medusa en el VPS y la configuración del Reverse Proxy, es necesario realizar una serie de ajustes iniciales y considerar una estrategia de mantenimiento.
Acceso al panel de administración y pasos básicos
Abra en el navegador la URL de su panel de administración (por ejemplo, https://admin.yourdomain.com) e inicie sesión utilizando las credenciales creadas anteriormente ([email protected] y your_admin_password). En el panel de administración podrá:
- Configurar regiones y monedas: Determine en qué países venderá y qué monedas soportará.
- Añadir productos: Cargue productos, sus descripciones, imágenes, variantes y precios.
- Crear colecciones: Agrupe productos para una navegación sencilla.
- Configurar métodos de envío: Integre servicios de envío y defina tarifas.
- Integrar pasarelas de pago: Conecte Stripe, PayPal u otros sistemas de pago.
- Configurar plugins: Medusa soporta una multitud de plugins para extender la funcionalidad (almacenamiento de archivos, notificaciones, analíticas).
Recuerde que Medusa es una plataforma orientada a la API. Toda la lógica de la tienda se gestiona a través del backend. El frontend (escaparate) solo consume datos de la API. Asegúrese de que su proyecto frontend esté configurado correctamente para interactuar con la API de Medusa.
Copias de seguridad regulares de los datos de Medusa en el servidor
La copia de seguridad es un aspecto críticamente importante del mantenimiento de cualquier servicio en línea. La pérdida de datos puede tener consecuencias catastróficas para su negocio. Para Medusa en el servidor, es necesario realizar copias de seguridad regularmente de los siguientes componentes:
- Base de datos PostgreSQL: Contiene todos los datos de su tienda (productos, pedidos, clientes, configuraciones).
- Archivos de configuración de Medusa: El archivo
.envy cualquier plugin personalizado o cambio de código. - Almacenamiento de archivos: Si utiliza almacenamiento de archivos local para las imágenes de productos, y no en la nube (S3, MinIO), entonces estos archivos también deben ser respaldados.
Para PostgreSQL se puede usar pg_dump:
docker compose exec medusa-db pg_dump -U medusa -d medusa > /path/to/backups/medusa_db_$(date +%Y%m%d%H%M%S).sql
Se recomienda almacenar las copias de seguridad no solo en el mismo VPS, sino también en un almacenamiento remoto (por ejemplo, un almacenamiento compatible con S3 u otro servidor). Para automatizar y gestionar las copias de seguridad, se pueden utilizar herramientas como Restic, que permite crear copias de seguridad cifradas y deduplicadas.
Configure tareas Cron para la ejecución automática de copias de seguridad, por ejemplo, diaria o semanalmente, dependiendo del volumen de cambios en su tienda.
Actualización de Medusa y componentes Docker
La actualización regular de Medusa y sus componentes (Node.js, PostgreSQL, Redis) es importante para la seguridad, estabilidad y para obtener nuevas funcionalidades. Dado que utilizamos Medusa Docker, el proceso de actualización se simplifica:
- Actualización de imágenes Docker:
cd ~/medusa-store docker compose pull # Descargará nuevas versiones de las imágenes docker compose down # Detendrá los contenedores actuales docker compose up -d --build # Iniciará nuevos contenedores, reconstruyendo Medusa Backend, Storefront, AdminLa opción
--buildes importante, ya que reconstruye sus Dockerfiles personalizados utilizando imágenes base actualizadas. - Actualización de Medusa Backend: Si ha realizado cambios en el código de Medusa o utiliza plugins personalizados, también podría necesitar actualizar las dependencias de Node.js y reconstruir el backend. Consulte la documentación oficial de Medusa para obtener instrucciones específicas sobre la actualización de versiones. Normalmente, esto incluye actualizar
package.jsony ejecutaryarn install. - Actualización del sistema operativo: Actualice periódicamente su SO:
sudo apt update && sudo apt upgrade -y
¡Antes de cualquier actualización importante, siempre haga una copia de seguridad completa!
También es útil tener una herramienta para gestionar archivos en el servidor, como Filebrowser, que proporciona una interfaz web para trabajar con archivos de configuración y copias de seguridad.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
Elección del VPS óptimo para Medusa bajo carga real
La elección de la configuración correcta de VPS para Medusa en un VPS es un factor clave para el rendimiento y la estabilidad de su tienda en línea. Un servidor demasiado débil resultará en un funcionamiento lento y la pérdida de clientes, mientras que uno demasiado potente generará gastos injustificados.
Factores que afectan el rendimiento de Medusa
- Número de productos: Cuantos más productos, más datos en PostgreSQL, lo que requiere más espacio en disco y RAM para la base de datos.
- Número de pedidos: Una alta frecuencia de pedidos aumenta la carga en la base de datos y el backend de Medusa.
- Número de usuarios simultáneos: Cada usuario activo consume recursos del backend y del frontend.
- Uso de plugins e integraciones: Los plugins adicionales pueden aumentar el consumo de RAM y CPU.
- Escala del contenido multimedia: Si almacena muchas imágenes o videos localmente, esto aumenta los requisitos de espacio en disco y E/S.
- Frecuencia de actualización de datos: Las importaciones/exportaciones regulares o las operaciones por lotes pueden aumentar temporalmente la carga.
Recomendaciones de configuración de VPS para Medusa
Valebyte.com ofrece varias tarifas de VPS que son ideales para el despliegue de Medusa. Aquí hay recomendaciones generales para elegir la configuración:
| Escenario de uso | vCPU | RAM (GB) | Disco (NVMe SSD) | Costo aproximado/mes. | Notas |
|---|---|---|---|---|---|
| Tienda pequeña / Pruebas (hasta 500 productos, hasta 50 pedidos/día, hasta 20 usuarios simultáneos) |
2 | 4 | 50 GB | desde $10-$15 | Ideal para el inicio, MVP y desarrollo. Asegúrese de que los discos sean NVMe. |
| Tienda mediana (hasta 5000 productos, hasta 200 pedidos/día, hasta 100 usuarios simultáneos) |
4 | 8 | 100 GB | desde $20-$35 | Buen equilibrio entre rendimiento y costo. Recomendado para proyectos en crecimiento. |
| Tienda grande / Alta carga (más de 5000 productos, más de 200 pedidos/día, cientos de usuarios simultáneos) |
6-8+ | 16+ | 200 GB+ | desde $40-$70+ | Requiere optimización de Medusa y, posiblemente, escalado horizontal (VPS separados para la base de datos, backend). |
Es importante señalar que estas cifras son orientativas. La carga real puede variar considerablemente. Siempre comience con una configuración que supere ligeramente los requisitos mínimos y escálela a medida que su proyecto crezca. El monitoreo de recursos (CPU, RAM, E/S de disco) le ayudará a determinar cuándo es el momento de pasar a un plan más potente. Por ejemplo, para proyectos como Home Assistant o NocoDB, que trabajan activamente con bases de datos, los requisitos de disco y RAM pueden ser comparables.
Al elegir un VPS de Valebyte.com, obtiene acceso a SSD NVMe de alto rendimiento, canales de comunicación estables y planes de tarifas flexibles que se pueden escalar fácilmente a medida que su negocio crece. Esto proporciona un entorno ideal para su Medusa en el servidor.
Conclusiones
El despliegue de Medusa en un VPS a través de Docker Compose es una solución potente y flexible para crear una tienda en línea moderna, que le otorga un control total sobre su plataforma comercial. Siguiendo esta guía paso a paso, podrá instalar, configurar y mantener Medusa con éxito, garantizando un alto rendimiento y seguridad. Elija un VPS fiable de Valebyte.com con SSD NVMe para un funcionamiento óptimo de su Medusa.
¿Listo para elegir un servidor?
VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.
Empezar ahora →