Настройте собственное облако, похожее на Heroku (PAAS), за 10 минут: краткое руководство
6 апреля 2022 г.При создании проектов одной из раздражающих частей является настройка таких вещей, как веб-серверы, реляционные базы данных, кэширование и т. д. Часто это дорого (Heroku берет 25 долларов в месяц за экземпляр объемом 1 ГБ, тот же сервер стоит 5 долларов в месяц в DigitalOcean) или утомительно. настроить и управлять. Мне больше не нравится тратить часы и дни на настройку сервера, создание инструментов, отправку кода на сервер, его сборку, получение SSL-сертификата, его установку, обновление nginx снова и снова всякий раз, когда у меня появляется новый проект.
Вот тут-то и появились PAAS с открытым исходным кодом. У них часто есть чрезвычайно простое в использовании приложение/база данных и менеджер веб-сервера. Примеры: CapRover, Dokku и т. д.
Например, с помощью CapRover вы можете разместить нижеследующее одним щелчком мыши:
- Базы данных и графические интерфейсы баз данных. Например, PostgreSQL, Redis, MySQL, MongoDB и т. д.
- Хостинг электронной почты, информационные бюллетени и решения для списков рассылки.
- Поддержка клиентов, CMS, ERP, CRM, LMS и решения для выставления счетов.
- Аналитика
- Блоги и содержание. Например: Ghost, Jekyll, WordPress и т. д.
- КИ/CD
- Инструменты разработчика (мониторинг, уведомления, сокращатели URL, резервные копии и т. д.)
- Облачное хранилище, FTP и медиа-серверы
- Торрент-клиенты
- Серверы документов (текстовые документы, электронные таблицы и презентации)
- Буквально что угодно , упакованное в контейнер Docker.
Требования:
- Собственный домен.
- Иметь некоторое представление об облаке, Linux и Docker.
Получить сервер и установить Docker
Настроить Ubuntu VPS
Хорошие провайдеры:
- https://www.oracle.com/ke/cloud/free/#always-free (бесплатно, если можете управлять зарегистрироваться, лол)
Создать экземпляр VPS
Я буду использовать бесплатную виртуальную машину (Compute Engine) от Google Cloud Platform. Не стесняйтесь использовать любой другой.
В GCP
Создайте экземпляр Ubuntu из Панель инструментов GCP.
[Создание 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
Пример вывода:
Настроить 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
и войдите в систему, используя пароль, который вы установили на предыдущем шаге.
Установите приложения в один клик с панели инструментов
Источники и дополнительная информация
Оригинал