Настройте собственное облако, похожее на Heroku (PAAS), за 10 минут: краткое руководство

Настройте собственное облако, похожее на Heroku (PAAS), за 10 минут: краткое руководство

6 апреля 2022 г.

При создании проектов одной из раздражающих частей является настройка таких вещей, как веб-серверы, реляционные базы данных, кэширование и т. д. Часто это дорого (Heroku берет 25 долларов в месяц за экземпляр объемом 1 ГБ, тот же сервер стоит 5 долларов в месяц в DigitalOcean) или утомительно. настроить и управлять. Мне больше не нравится тратить часы и дни на настройку сервера, создание инструментов, отправку кода на сервер, его сборку, получение SSL-сертификата, его установку, обновление nginx снова и снова всякий раз, когда у меня появляется новый проект.


Вот тут-то и появились PAAS с открытым исходным кодом. У них часто есть чрезвычайно простое в использовании приложение/база данных и менеджер веб-сервера. Примеры: CapRoverDokku и т. д.


Например, с помощью CapRover вы можете разместить нижеследующее одним щелчком мыши:


  • Базы данных и графические интерфейсы баз данных. Например, PostgreSQL, Redis, MySQL, MongoDB и т. д.

  • Хостинг электронной почты, информационные бюллетени и решения для списков рассылки.

  • Поддержка клиентов, CMS, ERP, CRM, LMS и решения для выставления счетов.

  • Аналитика

  • Блоги и содержание. Например: Ghost, Jekyll, WordPress и т. д.

  • КИ/CD

  • Инструменты разработчика (мониторинг, уведомления, сокращатели URL, резервные копии и т. д.)

  • Облачное хранилище, FTP и медиа-серверы

  • Торрент-клиенты

  • Серверы документов (текстовые документы, электронные таблицы и презентации)


  • Буквально что угодно , упакованное в контейнер Docker.

Требования:


  • Собственный домен.

  • Иметь некоторое представление об облаке, Linux и Docker.

Получить сервер и установить Docker


Настроить Ubuntu VPS


Хорошие провайдеры:









Создать экземпляр VPS


Я буду использовать бесплатную виртуальную машину (Compute Engine) от Google Cloud Platform. Не стесняйтесь использовать любой другой.


В GCP


Создайте экземпляр Ubuntu из Панель инструментов GCP.


Создать экземпляр VPS Создать экземпляр VPS [Создание VPS Instance] (https://cdn.hackernoon.com//images/dsNDG3VITEYuADbhxQzydEdwJjo1-2022-03-30T07:05: 54.246Z-cl1d84wg6048w0as6emsc0uly)


Настроить брандмауэр


Добавьте правила брандмауэра, чтобы разрешить сетевой трафик из следующих источников:


  • 80 TCP для обычных HTTP-соединений

  • 443 TCP для безопасных соединений HTTPS

  • 3000 TCP для первоначальной установки (можно заблокировать после подключения к домену)

  • 7946 TCP/UDP для обнаружения контейнерных сетей

  • 4789 TCP/UDP для наложенной сети контейнеров

  • 2377 TCP/UDP для Docker Swarm API

  • 996 TCP для безопасных HTTPS-соединений, специфичных для Docker Registry.

В случае сервера Ubuntu запустите


```javascript


ufw разрешает 80 443 3000 996 7946 4789 2377/tcp; ufw разрешить 7946,4789,2377/udp;


У вашего провайдера VPS может быть другой способ настройки брандмауэра.


В GCP


В случае с GCP мы можем создать правила брандмауэра из Панель управления сетью:


Обратите внимание, что я создал сетевой тег caprover, который мы будем использовать дальше.


Настроить брандмауэр


На панели инструментов Compute Engine отредактируйте созданную нами виртуальную машину, добавив сетевой тег caprover.


Настроить брандмауэр


Установить Докер


SSH в виртуальную машину и установите Docker.


Это можно сделать с помощью get удобного скрипта:


```javascript


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


sudo sh get-docker.sh


Пример вывода:


Установить Docker


Настроить CapRover


Установить CapRover на сервер


Запустите следующее, чтобы установить CapRover:


```javascript


sudo docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover


ПРИМЕЧАНИЕ. Не изменяйте сопоставления портов. CapRover работает только на указанных портах.


Вы увидите кучу выводов на экране. После инициализации CapRover вы можете посетить http://[IP_OF_YOUR_SERVER]:3000 в своем браузере и войти в CapRover, используя пароль по умолчанию captain42. Вы можете изменить свой пароль позже. Однако не вносите никаких изменений в приборную панель. Мы будем использовать инструмент командной строки для настройки сервера.


Настроить DNS


Допустим, вы владеете доменом mydomain.com. Установите *.something.mydomain.com в качестве A-записи в настройках DNS, чтобы указать на IP-адрес сервера, на котором вы установили CapRover.


Дополнительная информация здесь.


Установите CapRover CLI на свой локальный компьютер


```javascript


npm установить -g капровер


Завершите настройку CapRover и войдите в панель управления


Завершите настройку CapRover


Запустите на локальном компьютере следующее:


```javascript


Настройка сервера Caprover


Следуйте инструкциям и войдите в свой экземпляр CapRover. При появлении запроса на ввод корневого домена введите something.mydomain.com` при условии, что вы установили `*.something.mydomain.com` , чтобы он указывал на ваш IP-адрес на шаге #Настройка DNS. Теперь вы можете получить доступ к своему CapRover с сайтаcaptain.something.mydomain.com` и войти в систему.


Войдите в Личный кабинет


Посетите панель инструментов CapRover по адресу http://captain.something.mydomain.com и войдите в систему, используя пароль, который вы установили на предыдущем шаге.


Войти в Личный кабинет


Установите приложения в один клик с панели инструментов


Установите приложения в один клик с панели инструментов


Источники и дополнительная информация





Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE