Medusa
Medusa est une plateforme de commerce headless open source bâtie sur Node.js. Elle fournit un backend modulaire avec un tableau de bord d’administration intégré ainsi que des API REST/Store qui alimentent des vitrines personnalisées. Vous restez propriétaire des données et du code, et vous l’étendez avec des modules TypeScript.
Logiciels inclus
Section intitulée « Logiciels inclus »| Composant | Version |
|---|---|
| Medusa | 2.17.2 |
| Node.js | 22 |
| PostgreSQL | 17 Alpine |
| Redis | 7 Alpine |
| Ubuntu | 24.04 LTS |
Démarrage
Section intitulée « Démarrage »1. Se connecter à votre VM
Section intitulée « 1. Se connecter à votre VM »ssh ubuntu@<your-vm-ip>2. Attendre la configuration du premier démarrage
Section intitulée « 2. Attendre la configuration du premier démarrage »Medusa génère les secrets, démarre PostgreSQL et Redis, exécute les migrations de la base de données, crée l’utilisateur administrateur et démarre le service Medusa. Cette opération prend environ trois à cinq minutes. Suivez la progression avec :
sudo journalctl -u medusa-first-boot.service -fVérifiez ensuite le service :
systemctl status medusa.service3. Accéder au tableau de bord d’administration Medusa
Section intitulée « 3. Accéder au tableau de bord d’administration Medusa »Ouvrez un navigateur et accédez à :
http://<your-vm-ip>/appConsultez les informations de connexion générées :
sudo cat /root/.credentials/medusa.txt| Champ | Valeur |
|---|---|
| Adresse courriel | admin@example.com, sauf remplacement |
| Mot de passe | Dans /root/.credentials/medusa.txt |
L’API Storefront est accessible à http://<your-vm-ip>.
Gérer Medusa
Section intitulée « Gérer Medusa »# Check service statussystemctl status medusa.service
# Restart Medusasudo systemctl restart medusa.service
# View Medusa logssudo journalctl -u medusa.service -f
# Check the PostgreSQL, Redis, and Nginx containerscd /opt/medusa && docker compose ps| Chemin | Fonction |
|---|---|
/opt/medusa/store/medusa-config.ts | Configuration de l’application Medusa |
/opt/medusa/store/.env | Environnement et secrets générés |
/opt/medusa/docker-compose.yml | Pile PostgreSQL, Redis et Nginx |
/opt/medusa/volumes/db/ | Données PostgreSQL |
/opt/medusa/volumes/redis/ | Données Redis |
/root/.credentials/medusa.txt | Identifiants d’administration et de base générés |
Sécurité
Section intitulée « Sécurité »Medusa est exposé par Nginx sur le port 80. Son port d’application 9000 n’est autorisé que depuis les réseaux de pont Docker. UFW est activé et autorise HTTP (port 80) et SSH (port 22).
Pour limiter l’interface et les API à une adresse IP précise :
sudo ufw delete allow 80/tcpsudo ufw allow from <trusted-ip> to any port 80Pour accéder à Medusa sans laisser le port 80 ouvert, utilisez un tunnel SSH :
Fermez d’abord le port public sur la VM, puisqu’il est ouvert par défaut :
sudo ufw delete allow 80/tcp# Run this on your local machinessh -L 8080:localhost:80 ubuntu@<your-vm-ip>
# Then open in a browserhttp://localhost:8080/appPour une utilisation en production, placez Medusa derrière un proxy inverse avec un certificat TLS de confiance et mettez à jour le nom d’hôte public afin que les paramètres CORS de l’administration et de l’API utilisent la bonne origine.