Jak uruchomić serwer Medusa na DigitalOcean Droplet & Easypanel - krok po kroku

Autor Grzegorz Tomaka

Featured image

Dowiedz się, jak zdeployować Medusa na DigitalOcean Droplet za pomocą Easypanel.

Medusa.js to open-source, self-hosted, headless commerce silnik, przeznaczony do budowania spersonalizowanych doświadczeń eCommerce.

Choć istnieje wiele sposobów na wdrożenie serwera Medusa, w Rigby uznaliśmy, że korzystanie z DigitalOcean Droplets z Easypanel jest bardzo wygodne do tworzenia naszych środowisk developerskich.

Celem tego poradnika jest przeprowadzenie Cię przez kroki konieczne do zdeployowania serwera Medusa na DigitalOcean Droplet za pomocą Easypanel.

Co to jest DigitalOcean Droplet

dodroplet.png

DigitalOcean Droplet to skalowalna maszyna wirtualna działająca na platformie chmurowej DigitalOcean. Oferuje elastyczny sposób na wdrażanie aplikacji i stron internetowych, z możliwością wyboru z różnych rozmiarów i konfiguracji serwera. Droplety można szybko tworzyć, niszczyć i skalować, co czyni je idealnym wyborem dla projektów od małych osobistych blogów po duże aplikacje korporacyjne.

Co to jest Easypanel

easypanel.png

Easypanel to panel zarządzania oparty na Dockerze, który upraszcza zarządzanie serwerami i aplikacjami. Możesz o nim myśleć, jak o samodzielnie hostowanym Heroku, ułatwiającym wdrażanie aplikacji w różnych językach programowania bez większej wiedzy o administracji serwerem.

Zanim zaczniesz

Upewnij się, że masz:

  • Konto na GitHubie oraz repozytorium. Twoje repozytorium powinno być klonem medusa-starter-default.
  • Konto na DigitalOcean.

Konfiguracja repozytorium serwera Medusa

  1. Odkomenduj redis_url w medusa-config.js.
medusa-config.png
  1. Dodaj Dockerfile do swojego projektu. Poniżej przykładowy Dockerfile, którego możesz użyć:
FROM node:latest

WORKDIR /app/medusa

COPY . .

RUN apt-get update && apt-get install -y python3 python3-pip python-is-python3

RUN yarn global add @medusajs/medusa-cli

RUN yarn

RUN yarn build

CMD medusa migrations run && yarn start

Ustawianie Dropleta z EasyPanel

Najszybszym sposobem na rozpoczęcie jest użycie opcji One-Click Marketplace od DigitalOcean. Wybierz prekonfigurowane ustawienia Ubuntu z Easypanel, aby pominąć ręczną konfigurację serwera i instalację Easypanel.

Tworzenie swojego Dropleta

  1. Kliknij “Create EasyPanel Droplet.”
one-click-easypanel.png
  1. Wybierz centrum danych najbliżej Ciebie.
datacenter.png
  1. Upewnij się, że wybrano obraz Easypanel.
easypanel-image.png
  1. Wybierz metodę uwierzytelniania.
authentication-method.png
  1. Wybierz rozmiar serwera, który pasuje do potrzeb Twojego projektu.
server-size.png
  1. Kliknij “Create Droplet.” Poczekaj chwilę, aż Twój Droplet z Easypanel będzie gotowy.
medusa-droplet.png

Ustawianie Easypanel

  1. Wejdź do konsoli zarządzania Easypanel i kliknij „Get started”. Jeśli Easypanel nie jest od razu dostępny, poczekaj jeszcze kilka minut.
medusa-easypanel.png
  1. Użyj „Quick access to Easypanel”, aby skonfigurować swoje konto.
quick-access.png
  1. Ustaw konto Easypanel.
setup-easypanel.png

Dodawanie tokenu GitHub

(Wymagane dla prywatnych repozytoriów) W EasyPanel przejdź do ustawień i dodaj swój token GitHub. Jeśli go nie masz, utwórz go tutaj.

github-token.png

Tworzenie projektu w Easypanel

Kliknij „Create project” i nazwij go opisowo.

create-project.png

Dodawanie Postgresa

  1. Kliknij „+ Service” i wybierz „Postgres”.
postgres-easypanel.png
  1. Wprowadź nazwę i hasło, a następnie kliknij „Create”. Twoja baza danych wkrótce będzie gotowa.
medusa-db-easypanel.png

Ustawianie Redis

  1. Dodaj usługę Redis, wybierając ją po kliknięciu „+ Service”.
  2. Nadaj jej nazwę, ustaw hasło i utwórz. Twój Redis będzie działał wkrótce.
medusa-redis-easypanel.png

Tworzenie aplikacji

  1. Dodaj aplikację, klikając „+ Service”, a następnie „App”.
medusa-app-easypanel.png
  1. Nazwij swoją aplikację, kliknij “Create” i rozpocznie się jej konfiguracja.
medusa-app-easypanel-name.png

Konfiguracja aplikacji

  1. W sekcji Source wybierz „Github” i wprowadź swoje dane.
github-easypanel.png
  1. W opcjach kompilacji wybierz Dockerfile, wprowadź jego nazwę i zapisz.
dockerfile-medusa.png
  1. Dodaj niezbędne zmienne środowiskowe, takie jak JWT_SECRET, COOKIE_SECRET, NODE_ENV, DATABASE_URL oaz REDIS_URL. Utwórz plik .env i zapisz.
env-medusa.png

💡 Znalezienie adresów URL bazy danych i Redis

Znajdziesz je w sekcji “Credentials” kontenerów, które stworzyłeś.

medusa-db-credentials.png

Wdrożenie aplikacji

Po skonfigurowaniu wszystkiego kliknij “Deploy” i monitoruj postępy w sekcji „Deployments”.

medusa-deployment.png

Testowanie środowiska

  1. Dostęp do aplikacji uzyskasz przez przycisk „Open link”.
medusa-open.png
  1. Dołącz /store/products do swojego adresu URL i sprawdź, czy otrzymasz prawidłową odpowiedź JSON.

Ostatnie kroki

Twoja konfiguracja jest kompletna! Wybierz “Auto Deploy”, aby Twoje środowisko było na bieżąco ze zmianami z branch projektu.

autodeploy-medusa.png

I to wszystko—jesteś gotowy do pracy z Medusa! 🎉

Potrzebujesz pomocy przy rozwoju Medusy?

Porozmawiajmy o Twoim projekcie

Inne posty na blogu

Maintance mode w aplikacjach Next.js

Jak zaimplementować maintenance mode w Next.js? Czy jest to równie proste, co kilkuminutowa konfiguracja wtyczki w WordPress’ie? Oczywiście, że tak!

Medusa vs Magento: Całkowity koszt posiadania

Magento, w porównaniu do Medusy, może prowadzić do wyższych kosztów długoterminowych z powodu swojej licencji oraz ryzyka związanego ze stopniowym spadkiem popularności języka PHP...

Opowiedz nam o swoim projekcie

Myślisz o nowym projekcie? Zrealizujmy go!

placeholder

Grzegorz Tomaka

Co-CEO & Co-founder

LinkedIn icon
placeholder

Jakub Zbaski

Co-CEO & Co-founder

LinkedIn icon