Чому використовувати Strapi? 🤔
Strapi — це безголовий (headless) система управління контентом (CMS) з відкритим кодом. Я знайшов для себе використання Strapi, коли потрібно створити дуже налаштований вебсайт, який було б складно побудувати на традиційних CMS, таких як WordPress чи Wix, і в той же час мати можливість надавати користувачам з бізнесу можливість вільно змінювати контент на сайті.
Результат?
Гарно налаштований інтерфейс + Повний контроль над контентом
Strapi має безліч корисних навчальних посібників, але вони не задокументували, як розгорнути додаток на AWS Elastic Beanstalk. Тому я написав покрокову інструкцію про те, як ви можете розгорнути Strapi на Elastic Beanstalk за допомогою Docker. Сподіваюся, це буде корисно!
Перед тим, як почати … 🤚
- Встановіть EB CLI, слідуючи інструкціям тут
- У вас має бути встановлений Docker. Якщо ні, перейдіть сюди
- Звісно, у вас має бути проект Strapi. Якщо його немає, перейдіть сюди
Крок 1: Додаємо Dockerfile 🐳
Давайте додамо Dockerfile у ваш проект Strapi. Ви можете використовувати наступну конфігурацію. Зверніть увагу, що вам, можливо, потрібно буде змінити NODE_ENV
, залежно від того, в якому середовищі ви хочете це розгорнути. У цьому прикладі ми розгортаємо на середовищі staging
.
Крок 2: Ініціалізація та тестування локально ✅
Запустіть команду eb init -p docker
, і ви повинні побачити папку .elasticbeanstalk
, у якій буде знаходитися файл config.yml
. Ви можете виконати eb init -i
, щоб змінити інші параметри.
(Необов'язково) Виконайте команду eb local run --port 1337
, а потім перейдіть за адресою http://localhost:1337, щоб перевірити, чи працює наш Docker-контейнер, як очікується. Зверніть увагу, що ця команда не підтримується на Windows
Strapi працює на localhost:1337
Крок 3: Розгортання на Elastic Beanstalk 🌱
Запустіть команду eb create
, і вам буде запропоновано ввести наступне:
Enter Environment Name:
введіть своє ім'я або виберіть за замовчуванням
Enter DNS CNAME prefix:
виберіть за замовчуванням
Select a load balancer type:
виберіть за замовчуванням
Would you like to enable Spot Fleet requests for this environment?
(y/N):
y
Enter a list of one or more valid EC2 instance types separated by commas (at least two instance types are recommended):
t2.small, t2.medium
Переконайтесь, що вибрали мінімально t2.small як розмір EC2 інстанції для коректної роботи. t2.micro не підійде.
Перейдіть до вашої консолі AWS, і ваш проект Strapi має бути успішно розгорнутий 🎉
Потрібно додати бази даних та плагіни до вашого проекту, але не знаєте, як це зробити? Звертайтеся до мене, і я із задоволенням допоможу!
Перекладено з: How to deploy Strapi on AWS Elastic Beanstalk using Docker