bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward

Medusa на VPS: встановлення, налаштування та обслуговування

calendar_month June 18, 2026 schedule 15 хв. читання visibility 28 переглядів
person
Valebyte Team
Medusa на VPS: встановлення, налаштування та обслуговування

Встановлення Medusa на VPS — це ефективний спосіб розгорнути потужну та гнучку платформу для електронної комерції, забезпечуючи повний контроль над інфраструктурою, даними та масштабованістю вашого онлайн-магазину.

Що таке Medusa і навіщо потрібна Medusa на VPS?

Medusa — це сучасна, з відкритим вихідним кодом, безголова (headless) платформа електронної комерції, створена для розробників. Вона пропонує потужний API-first підхід, що дозволяє створювати повністю кастомізовані вітрини (storefronts) на будь-якому фронтенд-фреймворку (React, Next.js, Vue.js тощо), інтегрувати різні сторонні сервіси та платіжні шлюзи, а також масштабувати функціональність під будь-які бізнес-вимоги. На відміну від монолітних рішень, Medusa розділяє бекенд (API), адмін-панель та вітрину, надаючи максимальну гнучкість та продуктивність.

Використання Medusa на VPS дає вам низку суттєвих переваг. По-перше, це повний контроль над середовищем розгортання. Ви не обмежені рамками SaaS-платформ, можете встановлювати будь-які необхідні залежності, налаштовувати сервер під свої потреби та забезпечувати максимальну безпеку. По-друге, Medusa self-hosted на власному сервері дозволяє уникнути абонентської плати за хостинг, яка часто зростає разом з оборотом вашого бізнесу на комерційних платформах. Ви платите лише за ресурси VPS, що може бути значно вигідніше в довгостроковій перспективі, особливо при високих обсягах продажів.

Розгортання Medusa на віртуальному приватному сервері (VPS) від Valebyte.com забезпечує надійну та продуктивну основу для вашого інтернет-магазину. Наші тарифи включають SSD NVMe диски, які критично важливі для швидкої роботи бази даних та завантаження контенту, а також стабільні канали зв'язку, що гарантує миттєвий відгук для ваших клієнтів.

Для спрощення процесу розгортання та керування ми будемо використовувати Medusa Docker. Докеризація дозволяє ізолювати застосунок з усіма його залежностями, спрощує масштабування, оновлення та перенесення Medusa на інші сервери. Це ідеальний підхід для сучасної розробки та експлуатації.

Системні вимоги для Medusa на сервері: що потрібно знати?

Перш ніж приступити до встановлення Medusa, важливо переконатися, що ваш VPS відповідає мінімальним вимогам. Medusa складається з кількох компонентів: бекенду (Node.js), бази даних (PostgreSQL), кешу (Redis), а також опціонально фронтенду (Storefront) та адмін-панелі. Всі ці компоненти споживають системні ресурси.

Мінімальні та рекомендовані конфігурації для Medusa VPS

Для невеликого магазину з обмеженим трафіком та асортиментом (до 1000 товарів, до 100 одночасних користувачів) підійдуть наступні мінімальні вимоги:

  • Процесор (CPU): 2 vCPU. Medusa Backend на Node.js досить ефективно використовує багатоядерність.
  • Оперативна пам'ять (RAM): 4 GB. Цього буде достатньо для роботи всіх компонентів Docker-контейнерів (PostgreSQL, Redis, Medusa Backend, Storefront, Admin).
  • Дисковий простір: 50 GB NVMe SSD. NVMe диски критично важливі для продуктивності бази даних PostgreSQL та швидкості завантаження файлів.
  • Мережевий канал: 100 Мбіт/с.
  • Операційна система: Ubuntu 22.04 LTS (рекомендується) або Debian 11/12.

Для середніх та великих проєктів (тисячі товарів, сотні одночасних користувачів, активне використання плагінів та інтеграцій) рекомендується:

  • Процесор (CPU): 4 vCPU або більше.
  • Оперативна пам'ять (RAM): 8 GB або більше. PostgreSQL та Redis можуть споживати значні обсяги пам'яті при великих обсягах даних.
  • Дисковий простір: 100 GB NVMe SSD або більше.
  • Мережевий канал: 1 Гбіт/с.
  • Операційна система: Ubuntu 22.04 LTS.

Завжди обирайте NVMe SSD. Різниця у швидкості порівняно зі звичайними SSD або HDD величезна і безпосередньо впливає на швидкість роботи вашого магазину, особливо при обробці запитів до бази даних.

Вибір операційної системи для Medusa на сервері

Найбільш популярними та добре підтримуваними дистрибутивами Linux для розгортання Docker-контейнерів є Ubuntu Server LTS (Long Term Support) та Debian Stable. Ми рекомендуємо Ubuntu 22.04 LTS через її широку підтримку спільнотою, актуальні пакети та стабільність. Усі команди в цьому посібнику будуть орієнтовані на Ubuntu.

Шукаєте надійний сервер для ваших проєктів?

VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.

Дивитися пропозиції →

Підготовка VPS до встановлення Medusa Docker

Перш ніж приступити до встановлення Medusa, необхідно підготувати ваш VPS. Це включає оновлення системи, встановлення Docker та Docker Compose, а також базове налаштування безпеки.

Оновлення системи та встановлення необхідних пакетів

Підключіться до вашого VPS по SSH як користувач root або користувач з правами sudo. Насамперед оновіть список пакетів та саму систему:

sudo apt update
sudo apt upgrade -y

Встановіть необхідні утиліти, такі як git (для клонування репозиторію Medusa) та curl (часто використовується для завантаження скриптів):

sudo apt install git curl -y

Налаштуйте базовий файрвол UFW (Uncomplicated Firewall), щоб дозволити лише необхідні порти. Для початку дозволимо SSH (порт 22), HTTP (порт 80) та HTTPS (порт 443):

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
sudo ufw status

Підтвердіть увімкнення файрволу, ввівши y.

Встановлення Docker та Docker Compose для Medusa на VPS

Medusa Docker — це найпростіший та рекомендований спосіб розгортання. Встановимо Docker Engine та Docker Compose. Офіційний скрипт встановлення Docker зробить це за вас:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Додайте поточного користувача до групи docker, щоб уникнути використання sudo при кожній команді Docker:

sudo usermod -aG docker $USER
newgrp docker

Перевірте встановлення Docker:

docker --version
docker compose version

Якщо ви бачите версії Docker та Docker Compose, значить, встановлення пройшло успішно. Тепер ваш VPS готовий до розгортання Medusa.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Покрокове встановлення Medusa на VPS з Docker Compose

Тепер, коли VPS готовий, ми можемо приступити до встановлення Medusa з використанням Docker Compose. Цей підхід дозволяє керувати всіма компонентами Medusa як єдиним сервісом.

Клонування репозиторію та налаштування оточення для Medusa Docker

Medusa надає готові шаблони для Docker Compose, що значно спрощує процес. Перейдіть до домашнього каталогу користувача або створіть окрему директорію для вашого проєкту:

cd ~
mkdir medusa-store
cd medusa-store

Клонуйте офіційний репозиторій Medusa з Docker Compose конфігурацією:

git clone https://github.com/medusajs/medusa-starter-ecommerce.git .

Скопіюйте приклад файлу змінних оточення та відредагуйте його. Цей файл міститиме важливі налаштування, такі як ключі API, URL бази даних тощо.

cp .env.template .env
nano .env

У файлі .env вам потрібно буде налаштувати наступні змінні:

  • DATABASE_URL: URL для підключення до PostgreSQL. За замовчуванням у Docker Compose це буде postgres://medusa:password@medusa-db:5432/medusa. Змініть password на більш надійний.
  • REDIS_URL: URL для підключення до Redis. За замовчуванням redis://medusa-redis:6379.
  • JWT_SECRET: Секретний ключ для JSON Web Tokens. Генеруйте довгий випадковий рядок.
  • COOKIE_SECRET: Секретний ключ для сесійних кукі. Також генеруйте довгий випадковий рядок.
  • ADMIN_CORS: URL вашої адмін-панелі (наприклад, http://localhost:7000,http://admin.вашдомен.com).
  • STORE_CORS: URL вашої вітрини (наприклад, http://localhost:8000,http://вашдомен.com).

Приклад вмісту .env (замініть your_secure_password, your_jwt_secret, your_cookie_secret та домени):

# База даних
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 # Всередині Docker-мережі, для зовнішнього доступу буде використовуватися 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

Збережіть зміни (Ctrl+O, Enter, Ctrl+X).

Тепер скопіюйте файл docker-compose.yml. Залежно від репозиторію, він може називатися docker-compose.yml.template або просто знаходитися в корені. Переконайтеся, що у вас є файл docker-compose.yml, який включає сервіси для PostgreSQL, Redis, Medusa Backend, а також Storefront та Admin (якщо використовуєте офіційні стартери).

Приклад структури docker-compose.yml, який ви знайдете в стартовому репозиторії:

version: "3.8"

services:
  medusa-db:
    image: postgres:13-alpine
    restart: always
    environment:
      POSTGRES_USER: medusa
      POSTGRES_PASSWORD: ${DB_PASSWORD} # Буде взято з .env (DATABASE_URL)
      POSTGRES_DB: medusa
    volumes:
      - db_data:/var/lib/postgresql/data
    ports:
      - "5432:5432" # Лише для налагодження, у продакшені краще не відкривати

  medusa-redis:
    image: redis:6-alpine
    restart: always
    volumes:
      - redis_data:/data
    ports:
      - "6379:6379" # Лише для налагодження, у продакшені краще не відкривати

  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}
      # Додаткові змінні для плагінів та сервісів
    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 # Всередині 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 # Всередині Docker-мережі
    ports:
      - "8000:8000"
    depends_on:
      - medusa-backend

volumes:
  db_data:
  redis_data:

Зверніть увагу на порти в docker-compose.yml. У продакшен-середовищі для medusa-db та medusa-redis краще не відкривати порти назовні (видалити секцію ports), оскільки вони будуть доступні лише зсередини Docker-мережі для інших контейнерів.

Тепер створіть необхідні Dockerfile'и для бекенду, адмін-панелі та вітрини, якщо їх немає в корені. Зазвичай вони постачаються в стартовому репозиторії. Наприклад, Dockerfile для бекенду може виглядати так:

FROM node:18-alpine

WORKDIR /app

COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile

COPY . .

RUN yarn build

CMD ["yarn", "start"]

Аналогічно для Dockerfile.admin та Dockerfile.storefront, використовуючи відповідні команди збірки та запуску для Next.js або іншого фреймворку.

Запуск Medusa Backend, Storefront та Admin

Після налаштування .env та перевірки docker-compose.yml, можна запускати всі сервіси. Спочатку ініціалізуємо базу даних Medusa:

docker compose run medusa-backend medusa seed
docker compose run medusa-backend medusa migrations run

Команда medusa seed (якщо вона є у вашому стартовому проєкті) може завантажити демонстраційні дані, що зручно для тестування. medusa migrations run застосовує всі необхідні міграції бази даних.

Тепер запустіть усі сервіси у фоновому режимі:

docker compose up -d --build

Опція --build гарантує, що образи будуть перезібрані, що корисно при першому запуску або зміні Dockerfile. Опція -d запускає контейнери у від'єднаному режимі.

Перевірте статус запущених контейнерів:

docker compose ps

Ви повинні побачити всі сервіси (medusa-db, medusa-redis, medusa-backend, medusa-admin, medusa-storefront) у статусі Up.

Після запуску необхідно створити першого користувача-адміністратора для доступу до адмін-панелі Medusa:

docker compose exec medusa-backend medusa user --email [email protected] --password your_admin_password

Замініть [email protected] та your_admin_password на бажані облікові дані. Переконайтеся, що пароль достатньо складний. Після цього ви зможете увійти до адмін-панелі.

Налаштування Reverse Proxy та HTTPS для Medusa

Для забезпечення безпечного та зручного доступу до вашого магазину Medusa на сервері, а також для роботи з доменними іменами, необхідно налаштувати Reverse Proxy з підтримкою HTTPS. Це дозволить спрямовувати трафік з вашого домену на відповідні порти Docker-контейнерів та шифрувати з'єднання.

Навіщо потрібен Reverse Proxy та HTTPS?

  • Reverse Proxy: Дозволяє спрямовувати запити з одного доменного імені (наприклад, www.yourdomain.com або admin.yourdomain.com) на різні внутрішні сервіси, що працюють на різних портах. Він також може кешувати контент, балансувати навантаження та забезпечувати додатковий рівень безпеки.
  • HTTPS (SSL/TLS): Шифрує весь трафік між браузером користувача та вашим сервером. Це критично важливо для захисту конфіденційних даних (паролі, платіжна інформація) і є обов'язковою вимогою для SEO, сучасних браузерів та платіжних систем. Let's Encrypt надає безкоштовні SSL-сертифікати.

Ми розглянемо налаштування Nginx та Caddy — двох популярних та ефективних Reverse Proxy.

Налаштування Nginx як Reverse Proxy для Medusa

Встановіть Nginx на ваш VPS:

sudo apt install nginx -y

Створіть конфігураційний файл для вашого домену. Наприклад, для www.yourdomain.com та admin.yourdomain.com:

sudo nano /etc/nginx/sites-available/medusa.conf

Приклад конфігурації для Nginx (замініть yourdomain.com на ваш реальний домен):

server {
    listen 80;
    listen [::]:80;
    server_name www.yourdomain.com yourdomain.com; # Основний домен для вітрини

    location / {
        return 301 https://$host$request_uri; # Перенаправлення на HTTPS
    }
}

server {
    listen 80;
    listen [::]:80;
    server_name admin.yourdomain.com; # Домен для адмін-панелі

    location / {
        return 301 https://$host$request_uri; # Перенаправлення на HTTPS
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name www.yourdomain.com yourdomain.com; # Основний домен для вітрини

    ssl_certificate /etc/letsencrypt/live/www.yourdomain.com/fullchain.pem; # Шлях до сертифіката Let's Encrypt
    ssl_certificate_key /etc/letsencrypt/live/www.yourdomain.com/privkey.pem; # Шлях до ключа Let's Encrypt
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://localhost:8000; # Порт 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;
    }

    # Якщо бекенд доступний через API на основному домені, використовуйте префікс
    # location /api/ {
    #     proxy_pass http://localhost:9000; # Порт 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; # Домен для адмін-панелі

    ssl_certificate /etc/letsencrypt/live/admin.yourdomain.com/fullchain.pem; # Шлях до сертифіката Let's Encrypt
    ssl_certificate_key /etc/letsencrypt/live/admin.yourdomain.com/privkey.pem; # Шлях до ключа Let's Encrypt
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://localhost:7000; # Порт 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 для адмін-панелі
        proxy_pass http://localhost:9000/admin/api/; # Порт 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; # Домен для API бекенду

    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; # Порт 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;
    }
}

Створіть символічне посилання на файл конфігурації:

sudo ln -s /etc/nginx/sites-available/medusa.conf /etc/nginx/sites-enabled/

Видаліть дефолтну конфігурацію Nginx, якщо вона є:

sudo rm /etc/nginx/sites-enabled/default

Перевірте синтаксис Nginx:

sudo nginx -t

Перезавантажте Nginx:

sudo systemctl restart nginx

Тепер встановіть Certbot для отримання SSL-сертифікатів 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

Дотримуйтесь інструкцій Certbot. Він автоматично налаштує Nginx для HTTPS. Після цього знову перевірте синтаксис Nginx та перезавантажте його. Тепер ваш магазин Medusa доступний по HTTPS через доменні імена.

Налаштування Caddy як Reverse Proxy (альтернатива)

Caddy — це сучасний веб-сервер, який автоматично генерує та оновлює SSL-сертифікати Let's Encrypt. Це робить його дуже зручним для швидкого налаштування HTTPS.

Встановіть 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

Створіть або відредагуйте файл /etc/caddy/Caddyfile:

sudo nano /etc/caddy/Caddyfile

Приклад конфігурації для Caddy (замініть yourdomain.com на ваш реальний домен):

www.yourdomain.com, yourdomain.com {
    reverse_proxy localhost:8000 # Порт Medusa Storefront
}

admin.yourdomain.com {
    reverse_proxy localhost:7000 # Порт Medusa Admin
}

api.yourdomain.com {
    reverse_proxy localhost:9000 # Порт Medusa Backend
}

Збережіть файл та перезавантажте Caddy:

sudo systemctl restart caddy
sudo systemctl enable caddy

Caddy автоматично отримає та налаштує SSL-сертифікати для ваших доменів. Це значно простіше, ніж ручне налаштування Nginx та Certbot, але Nginx пропонує більше можливостей для тонкого налаштування.

Початкове налаштування та обслуговування Medusa

Після успішного встановлення Medusa на VPS та налаштування Reverse Proxy, необхідно виконати низку початкових налаштувань та продумати стратегію обслуговування.

Доступ до адмін-панелі та базові кроки

Відкрийте в браузері URL вашої адмін-панелі (наприклад, https://admin.yourdomain.com) та увійдіть, використовуючи облікові дані, створені раніше ([email protected] та your_admin_password). В адмін-панелі ви зможете:

  • Налаштувати регіони та валюти: Визначте, в яких країнах ви будете продавати та які валюти підтримувати.
  • Додати продукти: Завантажте товари, їх описи, зображення, варіанти та ціни.
  • Створити колекції: Згрупуйте продукти для зручної навігації.
  • Налаштувати способи доставки: Інтегруйте служби доставки та визначте тарифи.
  • Інтегрувати платіжні шлюзи: Підключіть Stripe, PayPal або інші платіжні системи.
  • Налаштувати плагіни: Medusa підтримує безліч плагінів для розширення функціональності (сховища файлів, сповіщення, аналітика).

Пам'ятайте, що Medusa — це платформа, орієнтована на API. Вся логіка роботи з магазином відбувається через бекенд. Фронтенд (вітрина) лише споживає дані з API. Переконайтеся, що ваш фронтенд-проєкт правильно налаштований для взаємодії з Medusa API.

Регулярні бекапи даних Medusa на сервері

Резервне копіювання — це критично важливий аспект обслуговування будь-якого онлайн-сервісу. Втрата даних може призвести до катастрофічних наслідків для вашого бізнесу. Для Medusa на сервері необхідно регулярно виконувати бекапи наступних компонентів:

  1. База даних PostgreSQL: Містить усі дані вашого магазину (продукти, замовлення, клієнти, налаштування).
  2. Конфігураційні файли Medusa: Файл .env та будь-які кастомні плагіни або зміни коду.
  3. Сховище файлів: Якщо ви використовуєте локальне сховище файлів для зображень продуктів, а не хмарне (S3, MinIO), то ці файли також необхідно бекапити.

Для PostgreSQL можна використовувати 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

Рекомендується зберігати бекапи не тільки на тому ж VPS, але й на віддаленому сховищі (наприклад, S3-сумісному сховищі або іншому сервері). Для автоматизації та керування бекапами можна використовувати такі інструменти, як Restic, який дозволяє створювати зашифровані та дедупліковані резервні копії.

Налаштуйте Cron-завдання для автоматичного виконання бекапів, наприклад, щоденно або щотижня, залежно від обсягу змін у вашому магазині.

Оновлення Medusa та компонентів Docker

Регулярне оновлення Medusa та її компонентів (Node.js, PostgreSQL, Redis) важливе для безпеки, стабільності та отримання нових функцій. Оскільки ми використовуємо Medusa Docker, процес оновлення спрощується:

  1. Оновлення образів Docker:
    cd ~/medusa-store
            docker compose pull # Завантажить нові версії образів
            docker compose down # Зупинить поточні контейнери
            docker compose up -d --build # Запустить нові контейнери, перезбираючи Medusa Backend, Storefront, Admin
            

    Опція --build важлива, оскільки вона перезбирає ваші кастомні Dockerfile'и, використовуючи оновлені базові образи.

  2. Оновлення Medusa Backend: Якщо ви вносили зміни в код Medusa або використовуєте кастомні плагіни, вам також може знадобитися оновити залежності Node.js та перезібрати бекенд. Перевірте офіційну документацію Medusa для конкретних інструкцій щодо оновлення версій. Зазвичай це включає оновлення package.json та запуск yarn install.
  3. Оновлення операційної системи: Періодично оновлюйте вашу ОС:
    sudo apt update && sudo apt upgrade -y
            

Перед будь-яким великим оновленням завжди робіть повний бекап!

Також корисно мати інструмент для керування файлами на сервері, наприклад, Filebrowser, який надає веб-інтерфейс для роботи з файлами конфігурації та бекапами.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Вибір оптимального VPS для Medusa під реальне навантаження

Вибір правильної конфігурації VPS для Medusa на VPS є ключовим фактором для продуктивності та стабільності вашого онлайн-магазину. Занадто слабкий сервер призведе до повільної роботи та втрати клієнтів, занадто потужний — до невиправданих витрат.

Фактори, що впливають на продуктивність Medusa

  • Кількість товарів: Чим більше товарів, тим більше даних у PostgreSQL, що вимагає більше дискового простору та RAM для бази даних.
  • Кількість замовлень: Висока частота замовлень збільшує навантаження на базу даних та бекенд Medusa.
  • Кількість одночасних користувачів: Кожен активний користувач споживає ресурси бекенду та фронтенду.
  • Використання плагінів та інтеграцій: Додаткові плагіни можуть збільшувати споживання RAM та CPU.
  • Масштабність медіа-контенту: Якщо ви зберігаєте багато зображень або відео локально, це збільшує вимоги до дискового простору та I/O.
  • Частота оновлень даних: Регулярні імпорти/експорти або пакетні операції можуть тимчасово збільшувати навантаження.

Рекомендації щодо конфігурації VPS для Medusa

Valebyte.com пропонує різні тарифи VPS, які ідеально підходять для розгортання Medusa. Ось загальні рекомендації щодо вибору конфігурації:

Сценарій використання vCPU RAM (GB) Диск (NVMe SSD) Орієнтовна вартість/міс. Примітки
Малий магазин / Тестування
(до 500 товарів, до 50 замовлень/день, до 20 одночасних користувачів)
2 4 50 GB від $10-$15 Ідеально для старту, MVP та розробки. Переконайтеся, що диски NVMe.
Середній магазин
(до 5000 товарів, до 200 замовлень/день, до 100 одночасних користувачів)
4 8 100 GB від $20-$35 Гарний баланс продуктивності та вартості. Рекомендується для проєктів, що зростають.
Великий магазин / Високе навантаження
(більше 5000 товарів, більше 200 замовлень/день, сотні одночасних користувачів)
6-8+ 16+ 200 GB+ від $40-$70+ Вимагає оптимізації Medusa та, можливо, горизонтального масштабування (окремі VPS для бази даних, бекенду).

Важливо зазначити, що ці цифри є орієнтовними. Реальне навантаження може сильно відрізнятися. Завжди починайте з конфігурації, яка трохи перевищує мінімальні вимоги, і масштабуйте її в міру зростання вашого проєкту. Моніторинг ресурсів (CPU, RAM, I/O диска) допоможе вам визначити, коли настав час переходити на більш потужний тариф. Наприклад, для таких проєктів як Home Assistant або NocoDB, які активно працюють з базами даних, вимоги до диска та RAM можуть бути співставними.

Вибираючи VPS від Valebyte.com, ви отримуєте доступ до високопродуктивних NVMe SSD, стабільних каналів зв'язку та гнучких тарифних планів, які можна легко масштабувати в міру зростання вашого бізнесу. Це забезпечує ідеальну середу для вашої Medusa на сервері.

Висновки

Розгортання Medusa на VPS через Docker Compose — це потужне та гнучке рішення для створення сучасного інтернет-магазину, що дає повний контроль над вашою комерційною платформою. Дотримуючись покрокового посібника, ви зможете успішно встановити, налаштувати та підтримувати Medusa, забезпечуючи високу продуктивність та безпеку. Обирайте надійний VPS від Valebyte.com з NVMe SSD для оптимальної роботи вашої Medusa.

Готові обрати сервер?

VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.

Почати зараз →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.