Встановлення 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.
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Покрокове встановлення 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 на сервері необхідно регулярно виконувати бекапи наступних компонентів:
- База даних PostgreSQL: Містить усі дані вашого магазину (продукти, замовлення, клієнти, налаштування).
- Конфігураційні файли Medusa: Файл
.envта будь-які кастомні плагіни або зміни коду. - Сховище файлів: Якщо ви використовуєте локальне сховище файлів для зображень продуктів, а не хмарне (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, процес оновлення спрощується:
- Оновлення образів Docker:
cd ~/medusa-store docker compose pull # Завантажить нові версії образів docker compose down # Зупинить поточні контейнери docker compose up -d --build # Запустить нові контейнери, перезбираючи Medusa Backend, Storefront, AdminОпція
--buildважлива, оскільки вона перезбирає ваші кастомні Dockerfile'и, використовуючи оновлені базові образи. - Оновлення Medusa Backend: Якщо ви вносили зміни в код Medusa або використовуєте кастомні плагіни, вам також може знадобитися оновити залежності Node.js та перезібрати бекенд. Перевірте офіційну документацію Medusa для конкретних інструкцій щодо оновлення версій. Зазвичай це включає оновлення
package.jsonта запускyarn install. - Оновлення операційної системи: Періодично оновлюйте вашу ОС:
sudo apt update && sudo apt upgrade -y
Перед будь-яким великим оновленням завжди робіть повний бекап!
Також корисно мати інструмент для керування файлами на сервері, наприклад, Filebrowser, який надає веб-інтерфейс для роботи з файлами конфігурації та бекапами.
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Вибір оптимального 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-доступом.
Почати зараз →