Як розгорнути Strapi на AWS Elastic Beanstalk за допомогою Docker

pic

Чому використовувати Strapi? 🤔

Strapi — це безголовий (headless) система управління контентом (CMS) з відкритим кодом. Я знайшов для себе використання Strapi, коли потрібно створити дуже налаштований вебсайт, який було б складно побудувати на традиційних CMS, таких як WordPress чи Wix, і в той же час мати можливість надавати користувачам з бізнесу можливість вільно змінювати контент на сайті.

Результат?

Гарно налаштований інтерфейс + Повний контроль над контентом

Strapi має безліч корисних навчальних посібників, але вони не задокументували, як розгорнути додаток на AWS Elastic Beanstalk. Тому я написав покрокову інструкцію про те, як ви можете розгорнути Strapi на Elastic Beanstalk за допомогою Docker. Сподіваюся, це буде корисно!

Перед тим, як почати … 🤚

  1. Встановіть EB CLI, слідуючи інструкціям тут
  2. У вас має бути встановлений Docker. Якщо ні, перейдіть сюди
  3. Звісно, у вас має бути проект 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

pic

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

Leave a Reply

Your email address will not be published. Required fields are marked *