Medusa.js - headless silnik e-commerce (backend + panel admina, REST/GraphQL API), do którego podpinasz własny frontend zamiast gotowego szablonu sklepu.
Środowisko
| Runtime | Bez oficjalnego obrazu Docker - stawiamy z pinowanego commita oficjalnego startera medusa-starter-default (yarn install + medusa build ze źródeł), własny kontener PostgreSQL i Redis w pakiecie (silnik ma współdzieloną bazę tylko dla MySQL/MariaDB), trzy kontenery naraz: baza, Redis i backend z panelem admina |
| Zalecany plan | Box M+ (Docker, trzy kontenery, min 2 GB RAM - budowa ze źródeł przy instalacji obciąża CPU mocniej niż zwykły docker pull) |
Przykładowy saplo.yaml
Plik saplo.yaml w katalogu głównym repozytorium opisuje, jak Saplo ma zbudować i uruchomić aplikację. Wygeneruje go też komenda saplo init.
version: 1
name: my-medusa
stack: medusa
app_id: 1234
Pełny opis wszystkich pól znajdziesz na stronie Plik saplo.yaml.
Jak wdrożyć
Ten stack wdrożysz na trzy sposoby - wybierz wygodny dla siebie:
- Z panelu - tworzysz aplikację klikami, kod wgrywasz później przez CLI lub Git.
- Saplo CLI - z katalogu projektu:
saplo init, potemsaplo deploy. - Deploy z GitHub - podłączasz repo raz, każdy push wdraża się sam.
# Najszybsza droga - z katalogu projektu
$ npm install -g @saplo/cli
$ saplo login
$ saplo init
$ saplo deploy
Dobrze wiedzieć
- To NIE jest gotowy sklep z własnym wyglądem jak PrestaShop - dostajesz backend (produkty, warianty, zamówienia, płatności, magazyny) i panel admina pod adresem /app, a własny frontend (np. Next.js, też w katalogu Saplo) łączysz przez REST/GraphQL API.
- Konto administratora zakłada instalator automatycznie, hasło znajdziesz w pliku MEDUSA-SETUP.txt w katalogu aplikacji zaraz po instalacji - zmień je po pierwszym zalogowaniu.
- Żeby własny frontend mógł wywoływać Store API, wygeneruj w panelu Publishable API Key (Settings -> Developer -> Publishable API Keys) - bez niego wywołania dostaną błąd autoryzacji.
- Adres własnego frontendu (CORS) podajesz w opcji przepisu przy instalacji - bez niego domyślnie dopuszczony jest tylko adres samego panelu, a wywołania z Twojego sklepu dostaną błąd CORS.
- Budowa ze źródeł (kompilacja backendu i panelu admina) trwa wyraźnie dłużej niż instalacja przepisów z gotowym obrazem Docker - kilkanaście minut na czystym Boxie to normalny czas.
- Kopia (automatyczna od Box L, ręcznie snapshotem na każdym planie) obejmuje bazę danych z katalogiem produktów, zamówieniami i kontami klientów.
Gotowy na deploy?
Wybierz plan Box i postaw aplikację Medusa.js jeszcze dziś.