---
title: Medusa
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, app, e-commerce, auto-hebergement]
confidence: medium
contested: false
sources:
  - https://selfh.st/apps/?search=medusa
  - https://github.com/medusajs/medusa
---

# 🛍️ Medusa

> **Plateforme e-commerce headless modulaire en TypeScript/Node.js : catalogue, panier, paiements, expéditions et multi-boutiques découplés du front.**

## 📊 Métadonnées

| Champ | Valeur |
| :--- | :--- |
| **Nom** | Medusa |
| **Slug** | `medusa` |
| **Catégorie principale** | [[cat-e-commerce]] |
| **Langage** | TypeScript (37) |
| **Stars** | ⭐ 34197 |
| **Dernière MAJ** | 2026-06-05 |
| **Repo** | [github.com/medusajs/medusa](https://github.com/medusajs/medusa) |
| **Site** | [medusajs.com](https://medusajs.com) |

## 📝 Description

Medusa est une **plateforme e-commerce open source headless** écrite en TypeScript, conçue comme une alternative moderne à Shopify ou Magento. Le cœur fournit les primitives classiques d'un back-office de vente (produits, collections, panier, commandes, clients, régions, multi-devises), et toutes les fonctionnalités business (paiement, expédition, recherche, notifications) sont implémentées sous forme de **modules/plugins** enfichables.

L'architecture API-first expose une **REST + API JavaScript** consommable depuis n'importe quel front (Next.js, Remix, Gatsby, application mobile, store-front headless). Une admin web (Medusa Admin) et un starter storefront Next.js sont fournis. La stack est basée sur Node.js, PostgreSQL et Redis, et supporte nativement les **multi-stores**, **multi-régions** et **multi-devises**, ce qui la rend très adaptée aux projets e-commerce à dimension internationale.

## 🐳 Installation Docker

```yaml
services:
  medusa:
    image: ghcr.io/medusajs/medusa:latest
    container_name: medusa
    restart: unless-stopped
    ports:
      - "9000:9000"
    volumes:
      - ./data:/data
    environment:
      - PUID=1000
      - PGID=1000
      - DATABASE_URL=postgres://medusa:medusa@db:5432/medusa
      - REDIS_URL=redis://redis:6379
      - JWT_SECRET=changeme
      - COOKIE_SECRET=changeme
      - NODE_ENV=production
```

> ⚠️ Adapte image/port/volumes selon le README officiel : https://github.com/medusajs/medusa

## 🔀 Reverse Proxy (Traefik)

```yaml
services:
  medusa:
    image: ghcr.io/medusajs/medusa:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.medusa.rule=Host(`api.example.com`)"
      - "traefik.http.routers.medusa.entrypoints=websecure"
      - "traefik.http.routers.medusa.tls.certresolver=letsencrypt"
      - "traefik.http.services.medusa.loadbalancer.server.port=9000"
```

## 🔧 Configuration

- Configurer `DATABASE_URL` (PostgreSQL ≥ 14) et `REDIS_URL` (cache + pub/sub)
- Définir `JWT_SECRET` et `COOKIE_SECRET` avec des valeurs aléatoires robustes
- Ajouter des modules additionnels via `medusa-config.js` : Stripe, PayPal, Resend (mail), Algolia/Meilisearch, Webhooks, etc.

## 🔀 Alternatives

**Open source** :
- Saleor (Python/Django, GraphQL, plus mature en e-commerce B2B)
- Vendure (Node.js/TypeScript, GraphQL-first, headless)
- WooCommerce (WordPress, PHP, écosystème massif de plugins)
- Sylius (Symfony, PHP, orienté DDD)

**Propriétaires** :
- Shopify (SaaS leader, propriétaire)
- BigCommerce (SaaS enterprise, API-first)
- Adobe Commerce (Magento Commerce, on-prem PHP)

## 🔒 Sécurité

- JWT côté API admin : choisir un `JWT_SECRET` long et rotaté régulièrement
- Toujours exposer Medusa derrière HTTPS (Traefik/Caddy) avec rate-limiting et WAF (BunkerWeb, CrowdSec)
- Activer les **webhooks signés** (HMAC) pour les intégrations tierces (paiements, transporteurs)

## 📚 Ressources

- [selfh.st/apps/?search=medusa](https://selfh.st/apps/?search=medusa)
- [GitHub](https://github.com/medusajs/medusa)
- [Site officiel](https://medusajs.com)

## 🔗 Pages Liées

- [[cat-e-commerce]] — Catégorie e-commerce
- [[Catalogue-Self-Hosted]] — Hub principal
