❯ Вступление

Итак, вы навайбкодили свой аналог Кинопоиска, о котором мечтали всю жизнь. Следующий шаг — размещение сайта в интернете. У этого процесса есть много разных названий — хостинг, развёртывание, деплой, выгрузка и т. д.

В последние годы хостинг веб-проектов стал проще благодаря сервисам PaaS-хостинга, вроде Vercel или Heroku — они позволяют просто указать репозиторий (хранилище с кодом) вашего проекта и через минуту получить ссылку на работающий сайт.

Но, к сожалению, пользоваться этими и другими западными сервисами из России сейчас затруднительно.

И тут на помощь приходят проекты с открытым исходным кодом, которые дают аналогичные возможности для быстрого развертывания сайтов, однако на собственном сервере. В таком случае вы будете свободны от каких-то географических ограничений.

Пожалуй, самый популярный подобный инструмент на данный момент — это Coolify. Он позволяет удобно хостить бэкенд- и фронтенд- веб-приложения, базы данных и многие популярные сервисы с открытым исходным кодом, вроде n8n. Все эти сервисы будут запускаться в docker-контейнерах — специальных изолированных средах.

Добавление нового ресурса в админке Coolify
Добавление нового ресурса в админке Coolify

И хотя начать пользоваться Coolify не так уж сложно, но как и везде, тут есть свои особенности. Поэтому мы и решили написать инструкцию.

Однако в процессе стало понятно, что просто рассказать про работу с Coolify недостаточно. Потому что нужно показать и подготовительную работу — как правильно выбрать VPS, как купить домен, как настроить DNS и файрвол (firewall).

Да, для профессиональных айтишников это всё элементарные вещи, на которых можно даже не останавливаться. Однако, Coolify — инструмент, который может пригодиться не только профессионалам, но и многим людям, далёким от IT.

Поэтому мы решили первую часть нашей инструкции про Coolify посвятить исключительно вопросам подготовки. Расскажем максимально подробно, чтобы разобраться мог справится даже человек, который вообще впервые слышит про сервера и домены. А уже во второй части, которая выйдет чуть позже, мы непосредственно займемся самим Coolify — его установкой, настройкой и использованием.

Весь процесс в статье будет показываться на примере облачного провайдера Timeweb Cloud. И не только потому что эта статья опубликована в блоге данной компании, но так же и потому, что автор статьи добровольно является клиентом этой компании много лет и искреннее её рекомендует.

Однако Coolify будет прекрасно работать и с любыми другими облачными провайдерами, и в целом описанная инструкция максимально универсальная и применима к другим хостерам тоже.

❯ 1. Что такое VPS

По ходу инструкции мы будем много говорить о VPS, что расшифровывается как Virtual Private Server — «виртуальный частный сервер». Попробуем максимально упрощенно разобраться, что это значит:

  • «Сервер» — это компьютер с операционной системой, который вы можете использовать для того, чтобы запускать на нём программы и решать другие задачи, как с обычным домашним ПК. У сервера есть доступные ему ресурсы, в первую очередь это процессор, память и диск.

  • «Частный» означает, что только вы имеете к нему доступ.

  • «Виртуальный» означает, что это не реально физический существующий компьютер, а лишь его эмуляция. Т. е. на одном реальном сервере расположены несколько виртуальных, которые независимы друг от друга.

Аренда VPS предоставляется как услуга со стороны компаний, которые называются «хостинг-провайдеры» или «облачные провайдеры». Поэтому и VPS сейчас часто называют «Облачный сервер».

Услугу «Виртуального сервера» (VPS) следует отличать от «Выделенного сервера» (Dedicated server) — это когда вы получаете в свое распоряжение уже реальный физический сервер целиком. Но это уже услуга для профессиональных нужд, и аренда такого сервера стоит в несколько раз дороже виртуального.

Давайте рассмотрим, как и зачем используется VPS для работы Coolify.

❯ 2. Варианты хостинга самого Coolify и приложений

Coolify это инструмент для управления хостингом вашим приложений. Поэтому два первых вопроса, с которыми нужно определиться: где будет размещаться сама админка Coolify и где будут размещаться приложения.

Где размещать саму админку Coolify

Для хостинга админки Coolify есть два варианта:

  • На собственном VPS — в таком случае вы ничего не платите за Coolify, но вы платите за сервер, а также отвечаете за его обновления и безопасность.

  • Облачная версия (Coolify Cloud) — за небольшую ежемесячную плату вы получаете готовую облачную админку Coolify.

С точки зрения функциональности оба варианта полностью идентичны. По стоимости выходит тоже примерно одинаково. Однако, облачный Coolify это зарубежный сервис, поэтому не получится оплачивать его российскими картами.

Немногочисленные различия облачной и self-hosted версий Coolify
Немногочисленные различия облачной и self-hosted версий Coolify

В итоге, если у вас есть возможность оплачивать облачный Coolify Cloud, то это рекомендуемый вариант, потому что это проще. Не говоря уже про то, что вы таким образом поддержите разработчиков Coolify.

Но если это не подходит, то можно без проблем установить и поддерживать админку Coolify на своем собственном сервере.

Где размещать ваши приложения

Второй вопрос — где размещать ваши приложения (сайты, сервисы и т. д.).

Если вы используете платный облачный Coolify Cloud, то у вас только один вариант: арендовать один или несколько отдельных VPS для хостинга ваших приложений и подключить их к Coolify Cloud.

Однако, если вы сами хостите админку Coolify на собственном сервере, то у вас есть два варианта:

  • Размещать все ваши приложения на том же самом сервере, где админка.

  • Размещать ваши приложения на отдельных от админки серверах (одном или нескольких).

Первый вариант чуть проще и экономней. Второй — чуть сложнее и затратней. Но второй вариант более правильный и надежный, потому что можно не бояться, что какие-то проблемы с админкой приведут к проблемам в работе сайтов, или наоборот.

Мы в инструкции будем ориентироваться на первый вариант с одним общим сервером, так как это больше подходит для новичков.

Дополнительно, в идеале вам нужен еще один отдельный сервер, на котором будет происходить сборка docker-образов ваших приложений. Но для начала можно об этом не беспокоиться и работать с настройкой по умолчанию, когда образы собираются на том же самом одном базовом сервере, где расположена ваша админка Coolify.

❯ 3. Выбор хостинг-провайдера

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

При этом можно использовать как российских провайдеров, так и зарубежных — для работы Coolify не имеет значения, в какой стране зарегистрирована компания, которая предоставляет хостинг.

Тем не менее, имеет значение то, к какой стране будет относиться ваш VPS. Мы расскажем об этом дальше на шаге выбора географического расположения сервера.

Процесс покупки VPS мы будем показывать на примере российского облачного провайдера Timeweb Cloud. Хотя процесс примерно одинаковый у всех хостеров.

❯ 4. Покупка VPS на примере Timeweb Cloud

Регистрация

Сначала зарегистрируйтесь на сайте Timeweb Cloud. Вы можете использовать обычную ссылку или реферальную ссылку, чтобы поддержать автора статьи.

Раздел создания VPS в Timeweb Cloud
Раздел создания VPS в Timeweb Cloud

После регистрации заходим в «Облачные серверы» и нажимаем «Создать». Открывается форма заказа VPS с несколькими вопросами.

Пункт 1. Операционная система

Выбор операционной системы
Выбор операционной системы

Нам нужна операционная система на основе linux. Полный список поддерживаемых ОС — в документации Coolify.

Рекомендуем оставить вариант по умолчанию — Ubuntu. Версию ОС тоже рекомендуем оставить по умолчанию.

Пункт 2. Регион расположения сервера

При покупке VPS обычно предлагается выбрать географический регион расположения сервера.

Выбор региона
Выбор региона

Для работы Coolify не принципиально, к какому региону относится ваш сервер. Однако тут стоит учитывать несколько факторов:

  • География посетителей. Желательно выбирать локацию, которая географически будет ближе к вашим посетителям/пользователям.

  • Ваше проживание. Если при локальной разработке вы планируете делать запросы к приложениям или базам, которые буду размещены на VPS, то будет лучше, если локация близко к вам.

  • Пинг. Как раз для оценки географической удаленности сервера можно смотреть на пинг — это время, которое занимает сигнал от сервера, чтобы дойти до того места, где вы сейчас находитесь. Пинг показывается у каждого региона в миллисекундах, например 20 мс, 60 мс, 100 мс. Имейте в виду, что если у вас включен VPN, то пинг будет идти через адрес вашего VPN-сервера.

  • Внешние сервисы. Если вы будете использовать сервисы вне вашего сервера (например, внешнюю облачную базу данных), то желательно, чтобы локации этих сервисов и вашего VPS совпадали.

  • Цена. Российские хостеры обычно предлагают сервера не только в РФ, но и за рубежом. При этом зарубежные сервера стоят у российских хостеров дороже примерно в полтора раза, чем российские.

  • Доступность. Какие-то локации могут быть недоступны в данный момент, но могут стать доступны позже.

  • Варианты конфигурации предлагаемых серверов могут отличаться в зависимости от города. Например, у Timeweb Cloud на момент написания статьи вариант High CPU (т. е. процессоры очень высокой мощности) есть только в локации Москва, а вариант Standard (процессоры обычной мощности) есть только в Санкт-Петербурге.

  • Блокировки рабочих сервисов. Многие зарубежные сервисы недоступны из российского региона. И когда вы строите приложение, которое их использует, вам приходится задействовать какие-нибудь способы обхода, например прокси. Однако если вы выберите сервер в зарубежной локации, то вы сразу будете избавлены от подобных ограничений.

  • Блокировки сервисов, нужных для Coolify. В своей работе сам Coolify тоже должен обращаться к некоторым зарубежным сервисам, например Docker-реестрам. И они тоже могут быть недоступны из России. Какое-то время назад это могло быть проблемой, но кажется, сейчас Coolify научился обращаться к резервным реестрам, если основные недоступны. Поэтому всё должно работать, но на всякий случай важно иметь это в виду. Опять же, выбор сервера в зарубежной локации однозначно избавляет вас от таких проблем сейчас и в будущем.

В итоге выбирайте регион по вашей ситуации, но если вас устраивает локация в РФ, то для начала можно выбрать локацию Санкт-Петербург, потому что там доступны более бюджетные варианты.

Пункт 3. Конфигурация сервера

Настройки конфигурации сервера
Настройки конфигурации сервера

Что означают параметры конфигурации

Конфигурация сервера определяет его ключевые характеристики:

  • CPU — мощность процессора (количество ядер и их частота)

  • RAM — оперативная память.

  • SSD/NVMe — объем жесткого диска.

  • Канал — пропускной канал.

Применительно к Coolify и веб-приложениям эти характеристики работают примерно так же, как характеристики вашего ПК, ноутбука или телефона:

  • CPU — определяет скорость сборки и работы приложений.

  • RAM — максимальное количество одновременно работающих приложений.

  • SSD — объем свободной памяти, например для хранения образов приложений, файлов, бэкапов и т. д. При этом если вместо SSD указано NVMe, то такой жесткий диск будет работать быстрее за счет использования протокола NVMe.

  • Канал — определяет максимальную нагрузку на соединение. Чем больше пользователей и чем больше данных передаётся, тем больше нагрузка.

Какой подход к конфигурации выбрать

Timeweb Cloud предлагает два подхода к конфигурации — фиксированная и произвольная.

  • Фиксированная предлагает определенный набор фиксированных конфигураций, которые увеличиваются по конкретной шкале. При этом вы не можете произвольно менять количество CPU или RAM на сервере — можно только повышать тариф при необходимости.

  • Произвольная же позволяет в любой момент повышать или уменьшать количество CPU или RAM на вашем сервере.

Произвольная гибче в настройке, но чуть дороже. Подбирайте под ваши нужды, но самый простой и экономный вариант — обычная фиксированная конфигурация.

Какую группу конфигураций выбрать

В зависимости от региона, могут предлагаться разные группы конфигураций, например: Premium NVMe, Standard, High CPU, Dedicated CPU. Все они отличаются разными параметрами, которые в итоге влияют на производительность и стоимость.

По умолчанию предлагается Premium NVMe — это оптимальный вариант. Однако, если если хочется для начала максимально сэкономить, то можно выбрать вариант Standard (доступен только в Санкт-Петербурге).

Какую мощность выбрать для начала

При расчете необходимой мощности нужно учитывать три фактора:

  • Ресурсы, необходимые для работы админки Coolify.

  • Ресурсы, необходимые для работы ваших приложений.

  • Ресурсы, необходимые для сборки docker-образов.

При этом в документации Coolify есть указание на минимально необходимые ресурсы для комфортной работы самой админки Coolify. На момент написания статьи это 2 CPU, 2 RAM, 30 GB.

Напомним, что мы выстраиваем самый простой вариант работы Coolify, когда всё происходит на одном сервере — и админка, и работа приложений, и сборка docker-образов. Поэтому в нашем случае, для того, чтобы запускать простые тестовые сайты и приложения, желательно сразу закинуть к минимальным требованиям еще немного оперативной памяти.

Итого, для начала мы выбираем следующую конфигурацию:

Фиксированная → Standard → 2 CPU, 4 RAM, 50 ГБ.

Реальная потребность в мощностях

В любом случае указанная мощность это лишь минимум для несложных сайтов. На практике невозможно заранее сказать, какие мощности вам понадобятся. Всё очень индивидуально и зависит от вашей конкретной ситуации — какие приложения и сервисы вы будете разворачивать.

Тут общая рекомендация заключатся в том, чтобы регулярно отслеживать, какую нагрузку получает ваш сервер. Инструменты для отслеживания общей нагрузки есть в панели управления Timeweb Cloud. Также, в самом Coolify есть встроенные инструменты для отслеживания того, какое количество ресурсов сервера забирает каждое из приложений. Мы поговорим об этом, когда будем детально рассматривать управление приложениями в Coolify.

Отметим только, что если у вас возникает ошибка при установке приложения, то вполне возможно, что не хватает оперативной памяти. К сожалению, не всегда такие ошибки прямо сообщают, что проблема именно в недостатке RAM. Но обычно если закинуть такую ошибку в ChatGPT, то он правильно угадает, что на сервере мало памяти.

Если же сборка приложения проходит успешно, но идёт слишком долго, то можно подумать об увеличении мощностей процессора.

Тарификация серверов

В столбце со стоимостью каждой конфигурации можно заметить, что указывается стоимость не только за месяц, но за час.

В этом одно из удобств Timeweb Cloud — он предлагает почасовую тарификацию облачных серверов. Т. е. вы можете заказать VPS, попользоваться им пару часов и затем удалить, если он не нужен. И деньги будут списаны только за эти два часа.

Но имейте в виду, что не все облачные провайдеры предлагают такую возможность. Где-то покупка на месяц означает, что с вас спишут всю сумму сразу.

Пункт 4. Сеть

Выбор IP-адресов
Выбор IP-адресов

Чтобы с серверами можно было общаться через интернет, им нужен публичный адрес — или IPv4, или IPv6. Пример IPv4 адреса — 123.123.123.123, а IPv6 — 2001:0db8:11a3:09d7:1f34:8a2e: 07a0:765d. При этом IPv6 — бесплатен, а за IPv4 нужно платить.

Для надежной работы с Coolify нужно приобрести IPv4-адрес, поэтому тут оставляем выбор по умолчанию.

Пункт 5. Дополнительные услуги

Дополнительные услуги
Дополнительные услуги

Бэкапы

Бэкап в общем случае — это резервная копия чего-то: сервера, файлов, базы данных.

И в дополнительных услугах бэкап всего сервера выбран по умолчанию. В таком случае будет происходить ежедневное полное бэкапирование всего сервера, т. е. и самой админки Coolify, и всех приложений на сервере, в т. ч. сайтов, баз данных и т. д.

Это полезная опция, и если готовы за неё платить, то конечно лучше её оставить.

Однако отметим, что в нашем случае не так критичны бэкапы приложений — потому что их можно установить заново, ведь исходный код хранится отдельно в репозиториях. А вот что действительно критично — бэкапы базы данных и бэкапы пользовательских файлов (загруженных изображений и т. д.). Без бэкапов их неоткуда будет восстановить в случае потери. Поэтому если вы разворачиваете базу данных или хранилище важных файлов на вашем VPS, то для работающего проекта крайне важно иметь их бэкап, и сохранять его куда-то вне вашего VPS.

К счастью, Coolify предоставляет возможность из коробки настроить автоматические бэкапы базы, и мы коснемся этого вопроса в дальнейшем. Также, Coolify предоставляет возможность бэкапирования всех настроек админки.

И если у вас будут правильно настроены вышеперечисленные критично важные бэкапы, то может быть вам можно и сэкономить и не платить за общий бэкап всего VPS. Хотя конечно лишним это не будет. Финальное решение в любом случае должно быть на ваше усмотрение и под вашу ответственность.

Уточним, что стоимость бэкапа всего VPS зависит от объема диска вашего сервера. Поэтому если вы в дальнейшем будете увеличивать конфигурацию, то и цена за бэкап будет расти.

Защита от DDoS

Другая дополнительная услуга это защита от DDoS-атаки на сайте. По умолчанию вам вряд ли это понадобится, просто имейте в виду на будущее, что такая услуга есть и её можно будет включить в дальнейшем, если вдруг вы столкнетесь с этими проблемами.

Пункт 6. Дополнительные сетевые диски

Пока это не нужно.

Пункт 7. Авторизация

Варианты авторизации
Варианты авторизации

К серверу можно подключаться двумя способами — через SSH-ключи или через логин и пароль.

Хорошей практикой считается подключение именно через SSH-ключи, потому что это более безопасный и надежный вариант. Но в рамках данной статьи мы не будем рассказывать, что такое SSH-ключи и как их настроить. По этой теме есть много материалов в интернете и мы рекомендуем самостоятельно в этом разобраться.

И тогда, если у вас есть SSH-ключ, то в данном шаге вы загрузите ваш ключ, чтобы через него в дальнейшем подключаться к серверу. Или, если ключ уже ранее был добавлен в панели управления Timeweb Cloud, то вы должны просто выбрать ключ из списка. Дополнительно, после указания SSH-ключа нужно будет убрать галочку «Доступ по SSH с помощью пароля», чтобы доступ по ключу остался единственным способом подключения.

Однако подключение через логин и пароль это тоже рабочий вариант, если вам пока некогда разбираться с SSH-ключами. Поэтому на всякий случай мы в дальнейшем будем показывать подключение именно через логин и пароль. В таком случае на данном шаге мы ничего не делаем и оставляем всё как есть.

Пункт 8. Cloud-init

Cloud-init позволяет сразу при запуске нового сервера автоматически запустить некоторые полезные команды.

В нашем случае была бы полезна команда для обновления операционной системы, потому что это желательно делать на всякий случай. Однако, мы не будем её тут использовать, а вместо этого запустим эту команду вручную уже после запуска сервера.

Пункт 9. Информация о сервере

Укажите понятное имя сервера, чтобы отличать его в панели управления Timeweb Cloud. По умолчанию там пишется случайно сгенерированное имя из двух слов. Вместо этого напишите что-то осмысленное, например, просто «Coolify». Комментарий можно не писать. Проект можно оставить «Общий проект»

Завершение заказа

В боковой панели справа будут кратко показаны основные выбранные параметры конфигурации сервера, а также детализация стоимости и итоговая стоимость. Для подтверждения заказа нажмите «Заказать».

После нажатия на кнопку «Заказать» начнется процесс подготовки сервера. Обычно он идет относительно быстро, 1-2 минуты. Если вдруг процесс занимает больше 10 минут, то значит что-то пошло нет так, и стоит уже написать в поддержку.

Когда сервер будет готов, вы получите уведомление на почту. Логин и пароль для SSH-подключения будут показываться в боковой панели на странице настроек VPS в боковой панели.

Панель созданного VPS
Панель созданного VPS

❯ 5. Безопасность VPS

При работе с облачными серверами важно понимать, что вы сами несете ответственность за их безопасность. Любой сервер, как только он становится публично доступен в сети, сразу же подвергается множеству автоматических атак с целью взломать его.

К счастью, обычно по умолчанию после покупки сервер уже имеет минимальные нужные настройки безопасности. Но желательно не останавливаться на этом и проделать дополнительную работу в этом направлении.

Однако в данной инструкции мы не будем останавливаться на этом вопросе. Просто имейте в виду, что если вы собираетесь хостить с помощью Coolify какие-то важные персональные или коммерческие данные и приложения, которые с ними работают, то рекомендуется найти специалиста в серверном администрировании, который возьмет ответственность за безопасность вашего VPS. Скорее всего, даже ваш облачный провайдер предлагает такие услуги.

Ни хостинг-провайдер, ни Coolify, ни автор этой статьи не несут ответственности за сохранность ваших данных и приложений при использовании Coolify.

Однако, один вопрос связанный с безопасностью мы рассмотрим — это файрвол (Firewall)

❯ 6. Настройка файрвола

Файрвол (Firewall) определяет, с каких адресов можно заходить на сервер и по каким портам. Можно образно представить, что порты это такие пронумерованные двери. И файрвол это охранник, который следит, какие именно двери открыты и кто (какой IP-адрес) может пройти через конкретную дверь.

Какие порты нужны для Coolify

Список портов, которые должны быть открыты на сервере, чтобы Coolify работал:

  • 8000 — нужен для доступа к админке Coolify, пока у вас не подключен домен к админке.

  • 6001 — обновления в реальном времени (веб-сокеты), пока у вас не подключен домен к админке.

  • 6002 — доступ к терминалу, пока у вас не подключен домен к админке.

  • 22 — порт для SSH-подключения. Нужен для SSH-подключения к серверу. Т. е. для установки Coolify и дальнейшего управления сервером напрямую, если это понадобится.

  • 443 — порт для HTTPS-подключения. Нужен, чтобы посетители могли открывать ваши сайты.

  • 80 — порт для HTTP-подключения (нужен для генерации SSL-сертификатов).

Подробней — в документации Coolify.

Получается, порты 8000, 6001 и 6002 вам нужны только на первое время — пока у вас не подключен домен к админке Coolify. После того, как вы подключите домен к админке, эти порты можно будет отключить.

Кроме этого, возможно вам потом еще понадобится открывать внешний доступ к разным сервисам на вашем сервере. Например, чтобы подключаться к базам данных с вашего локального компьютера. В таком случае тоже нужно будет открывать соответствующие порты, если они по-умолчанию закрыты. Но нет смысла делать это заранее — лучше потом при необходимости. Мы увидим это потом на конкретных примерах.

Настройка файрвола после аренды VPS

Файрвол можно настраивать вручную на уровне операционной системы сервера, но в нашем случае это не рекомендуется. Потому что как правило облачные провайдеры предлагают собственные инструменты для удобной настройки файрвола из панели управления.

При этом разные провайдеры предоставляют разные настройки файрвола по умолчанию:

  • Некоторые хостеры по умолчанию запрещают все подключения. Таким образом, после создания сервера вам обязательно нужно зайти в настройки файрвола и явно разрешить нужные порты и нужные ip-адреса.

  • А другие хостеры по умолчанию идут с готовыми настройками — что-то открыто, а что-то закрыто. Это значит, что возможно вы можете сразу приступать к работе. Но надо сначала убедиться, что всё ок.

В случае с VPS от Timeweb Cloud действует разрешительная политика — т. е. открыты все порты, кроме тех, что явно закрыты. После создания сервера на его странице в панели справа показывается разная информация, и в том числе «Закрытые порты». На момент написания статьи это 53413, 2525, 25, 3389, 389, 587, 465.

Ни один из перечисленных портов не пересекается с тем, что нам нужно для работы Coolify, поэтому мы можем ничего не менять в настройках.

Однако, если вы пользуетесь услугами другого хостинга, то у вас может быть другая ситуация. Если не получается найти информацию в панели управления или нужна помощь в настройке файрвола, то лучше уточнить в техподдержке.

Отметим, что в идеальном случае стоит закрыть все порты, которые вами не используются, а для тех портов, которые используются — при необходимости указать нужные IP-адреса. В Timeweb Cloud это настраивается в разделе Сети → Firewall. Однако для начала работы с Coolify это не критично, поэтому мы не будем на этом останавливаться.

❯ 7. Домен

Домен это публичный адрес, по которому ваш сайт будет доступен через браузер. Например, ivanivanov.ru.

Рекомендации при покупке домена

Домены можно купить как у компаний, которые специализируются именно на обслуживании доменов, так и зачастую у компаний, которые предоставляют хостинг. Т. е. не обязательно ваш домен и ваш хостинг должны быть у одной компании, но так скорее всего будет удобней.

При покупке и продлении домена есть много полезных нюансов, которые нужно учитывать.

  • Срок продажи. Домены продаются минимум на год.

  • Разброс цен. Разные поставщики доменов предлагают разные цены. Поэтому лучше поискать, где будет дешевле.

  • Цена продления. Очень часто цена покупки домена и цена его продления отличаются, иногда в несколько раз. Поэтому очень важно обращать внимание именно на цену продления.

  • Зона RU. Если вам подойдет домен в зоне RU, то лучше этот вариант и выбирать, ибо это будет дешевле других доменных зон.

  • Зона РФ. Не рекомендуется использовать домен в зоне РФ (т. е. например мойсайт.рф)

  • Зарубежные домены. Если вам нужен зарубежный домен (т. е. не RU), то как правило, дешевле будет пользоваться зарубежными поставщиками доменов. Но можно и купить зарубежный домен у российской компании — так может быть надежней и удобней, хоть и с переплатой.

  • Зарубежные зоны. Если вам нужен зарубежный домен, то не обязательно искать в зоне COM — сейчас распространены самые разные зоны, и они не хуже COM. Смотрите, чтобы будет дешевле и с хорошим названием.

  • Скрытая реальная цена. Также обращайте внимание, что иногда основная цена или цена продления может быть указана скидочная — например только при массовом заказе доменов. А цена за один домен на самом деле в 2-3 раз больше. Т. е. внимательно читайте и перепроверяйте все детали, чтобы узнать реальную цену.

  • Навязывание SSL-сертификата. При покупке или продлении домена вам могут попытаться навязать покупку SSL-сертификата — скорее всего, вам это не нужно. Coolify сам будет подключать к сайтам бесплатные SSL-сертификаты от Let's Encrypt.

Покупка домена в Timeweb Cloud

Выбор домена
Выбор домена

Как купить домен в панели Timeweb Cloud:

  1. Заходим в «Домены и SSL», нажимаем «Купить домен».

  2. Выбираем подходящие название и зону (внимательно смотрите на цену самого домена и цену продления), проверяем что домен есть в наличии.

  3. Добавляем домен в корзину и нажимаем «Оплатить», чтобы перейти в корзину.

  4. В корзине предлагается сразу привязать домен к серверу, если он у вас уже есть. Мы выберем «Не привязывать», чтобы сделать это позже вручную.

  5. В корзине убираем платный SSL-сертификат «SSL Timeweb Pro», так он тут не нужен.

  6. Нажимаем «Оплатить», чтобы приобрести домен.

  7. При этом по умолчанию включается автоплатеж, чтобы через год автоматически продлить домен с привязанной карты. При желании после покупки можно зайти в настройки домена и отключить автопродление.

Покупка домена — чекаут
Покупка домена — чекаут

Подход к использованию адресов

Теперь у вас есть домен. Допустим, он называется ivanivanov.ru. Для своего домена вы можете создавать любое количество разных поддоменов: coolify.ivanivanov.ru, dashboard.ivanivanov.ru, demo.ivanivanov.ru и т. д. За каждым поддоменом вы можете закрепить отдельный сайт.

Вот как выглядит самый простой подход к использованию домена и поддоменов в связке с Coolify:

  • Основной домен вида ivanivanov.ru используется для вашего самого главного проекта, например, личного сайта-портфолио. Или пока можно ничего не располагать по этому адресу.

  • По специальному поддомену, например coolify.ivanivanov.ru у вас будет доступна админка Coolify.

  • В качестве временных адресов для ваших проектов, которые пока находятся в разработке, можно использовать поддомены, например movies.ivanivanov.ru, todolist.ivanivanov.ru, vuedemo.ivanivanov.ru и т. д.

  • А когда вы хотите запустить какой-то проект полноценно в публичное пространство, то лучше покупать для них отдельные самостоятельные адреса: ivanovmovies.ru, ivanovtodolist.ru, ivanovboardgame.ru и т. д.

Именно такой подход мы будем рассматривать далее. Хотя при желании вы конечно можете остановиться на другом варианте.

Выбор адреса для админки

Отметим, что вам не обязательно использовать для админки Coolify поддомен вида coolify.ivanivanov.ru. Это может быть любой адрес, например admin.ivanivanov.ru, cooladmin.ivanivanov.ru или что-то еще.

Более того, как раз все-таки надежней использовать что-то другое, а не coolify. Чтобы никто посторонний не мог догадаться до вашего адреса админки. Поэтому лучше придумать оригинальный поддомен, например «cool» + кличка вашего питомца (coolbarsik).

Однако, для ясности в дальнейшем в этой инструкции мы все-таки будем использовать поддомен вида coolify.ivanivanov.ru.

❯ 8. Настройка DNS

DNS и A-записи

DNS-записи нужны для настройки домена. Обычно продавцы доменов сразу же предоставляют возможность настроить для них DNS.

DNS-записи бывают разного типа. Нас сейчас интересуют A-записи — они определяют, какой сервер должен открываться, когда пользователь будет переходить по данному адресу. Указывается именно IPv4 адрес сервера, т. е. вида 123.123.123.123.

Для любых DNS-записей также указывается TTL (например, 600) — это частота в секундах, как долго эта запись будет кэшироваться.

Итого получается, что А-записи могут выглядеть примерно так:

  • A ivanivanov.ru 600 123.123.123.123

  • A coolify.ivanivanov.ru 600 123.456.789.123

  • A todolist.ivanivanov.ru 600 345.678.901.234

На этих примерах мы видим, что указываются конкретные поддомены и конкретные IP-адреса для них.

Преимущество wildcard-записи

Добавлять новую DNS-запись каждый раз при создании нового приложения в Coolify может быть утомительно.

К счастью, если у вас все или большинство записей ведут на один сервер, то есть обходной путь — использовать wildcard-запись. В такой записи вместо поддомена пишется знак астериска или в простонародье — «звездочка», т. е. например *.ivanivanov.ru.

Такая DNS-запись будет означать, что все поддомены данного сайта должны будут открывать указанный сервер за исключением тех, для которых явно прописано иначе.

Например, вы хотите сделать исключение для поддомена portfolio.ivanivanov.ru, потому что по этому адресу у вас личный сайт на конструкторе Tilda. Тогда помимо wildcard-записи со звездочкой добавьте обычную A-запись для этого адреса, которая указывает на сервер Tilda. И всё будет работать, потому что в первую очередь при открытии страницы браузеры смотрят именно на запись с точным адресом, и только если она не найдена, то будет применяться wildcard-запись.

Т. е. такая универсальная запись с астериском это удобный вариант, если одновременно выполняются следующие условия:

  • Вы планируете создавать несколько сайтов через Coolify.

  • Вы хотите использовать поддомены одного адреса для большинства сайтов, которые вы будете создавать в Coolify.

  • Вы не хотите каждый раз прописывать DNS для создаваемых сайтов вручную.

  • В Coolify у вас используется один основной сервер для деплоя большинства сайтов.

Добавление DNS-записей в Timeweb Cloud

Мы разобрались, что такое DNS и что именно мы хотим там прописать. Теперь посмотрим, как это сделать.

Сначала в панели Timeweb Cloud заходим в раздел «Домены и SSL». Там выбираем нужный домен для перехода в его настройки.

Напомним, в нашем сценарии мы хотим основной адрес ivanivanov.ru и все поддомены с него направить на один наш сервер. Всё это можно сделать, прописав DNS-записи вручную на вкладке «DNS». Но также для создания записей для поддоменов можно использовать специальную вкладку «Поддомены». Результат будет тот же самый, но это будет чуть удобней.

Поэтому для основного адреса ivanivanov.ru мы внесем DNS-запись вручную через вкладку «DNS», а для поддоменов мы сделаем это через вкладку «Поддомены».

Привязываем основной домен во вкладке «DNS»

Добавление DNS-записи через вкладку «DNS»
Добавление DNS-записи через вкладку «DNS»

Во вкладке «DNS» нажимаем «Добавить запись» — открывается окно с формой «Новая запись». Заполняем следующим образом:

  • Тип: А.

  • Домен: «выбрать из списка» и далее выбираем ваш домен, например ivanivanov.ru.

  • IP-адрес сервиса: оставляйте «Выбрать сервис».

  • Привязать к сервису: выберите ваш созданный VPS.

  • TTL: можно оставить по умолчанию — 600.

Если же у вас сервер у другого хостера, то в поле «IP-адрес сервиса» выбирайте «Ввести IP-адрес» и ниже пропишите IPv4-адрес сервера — например, 123.123.123.123.

Привязываем поддомены во вкладке «Поддомены»

Во вкладке «Поддомены» нажимаем «Добавить» — открывается форма. Заполняем:

  • Имя поддомена — указываем астериск («звездочку»).

  • IP-адрес сервиса — оставляем «Выбрать сервис» и ниже в выпадающем списке выбираем наш сервер. Но если бы у вас был сервер у другого хостера, то в данном случае вы бы выбрали «Ввести IP-адрес» и указали конкретный IPv4.

После этого добавится wildcard-запись. Т. е. все поддомены с вашего адреса будут смотреть на сервер с Coolify. И всё, этого будет достаточно и для работы админки Coolify, и для других сайтов на поддоменах.

Однако, если вы не хотите использовать wildcard-запись, то можно указывать все поддомены вручную. Для начала как минимум создайте запись для вашей админки, например по адресу coolify.ivanivanov.ru. В дальнейшем, когда вы будете добавлять сайты в Coolify, вам нужно будет возвращаться на эту страницу и аналогичным образом добавлять и другие поддомены.

После добавления нужных связей во вкладке «Поддомены» можно переключиться во вкладку «DNS», чтобы убедиться, что нужные записи были добавлены. При этом видно, что добавились не только нужные нам A-записи, но и TXT-записи. Они нам пока не нужны, но можно их оставить, хуже не будет.

❯ Заключение

В этой статье мы проделали подготовительную работу:

  • Купили VPS

  • Настроили файрвол

  • Купили домен

  • Настроили DNS

Это значит, что в следующей части инструкции мы уже можем перейти к самому интересному — к установке, настройке и использованию Coolify.

Чтобы не пропустить вторую часть: https://t.me/nickneustroev_blog


Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале

Перед оплатой в разделе «Бонусы и промокоды» в панели управления активируйте промокод и получите кэшбэк на баланс.