Что установлено на вашем сервере Dokku?
- Dokku v0.38.34 из официального скрипта bootstrap, лицензия MIT
- Docker для контейнеров приложений и Nginx для маршрутизации
- Плагин dokku-letsencrypt для бесплатных сертификатов HTTPS для каждого приложения
- Глобальный домен sslip.io: приложения открываются по адресу appname.IP-with-dashes.sslip.io
- Ключ SSH из вашего заказа, если вы его указали, уже добавлен в Dokku
- 2 ГБ swap и брандмауэр с открытыми портами 22, 80 и 443
Какой размер нужен для Dokku?
Официально Dokku нужен 1 ГБ памяти, а если меньше, советуют swap. Эта установка добавляет 2 ГБ swap. В наших проверках на настоящем сервере с 1 ГБ и 1 ядром небольшой пример на Next.js собрался и вышел в сеть через git push примерно за 7 минут. Сборки идут на сервере, поэтому проекты на Node.js быстро заполняют память, и ориентир такой: для тяжёлых сборок присмотритесь к 2–4 ГБ. Каждое приложение и каждая база данных — отдельный контейнер, так что складывайте то, что они используют. Если не хватит, увеличивайте RAM, CPU и диск по отдельности в панели.
| Применение | Размер | Цена | Выбрать |
|---|---|---|---|
| Новый сайт | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/мес. | |
| Растущий сайт | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/мес. | |
| Загруженный сайт | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/мес. |
Кому подходит?
- Разработчикам, которые предпочитают командную строку и не нуждаются в веб-панели
- Личным проектам, API и ботам, которые должны работать за фиксированную месячную цену
- Всем, кому на небольшом сервере нужно развёртывание через git push с buildpacks или Dockerfile
- Тем, кто уверенно пользуется SSH и любит держать всё в своих руках
Что будет после заказа?
- Задайте размер и оплатите заказ. Сервер запускается, и Dokku устанавливается сам. В наших проверках на настоящих серверах это заняло около 10 минут.
- В панели откройте свой сервер в разделе «Мои серверы» и скопируйте IP-адрес из строки «Адрес подключения» на вкладке «Обзор».
- Если вы не указали ключ SSH при заказе, подключитесь по SSH и выполните: echo 'ssh-ed25519 AAAA...' | dokku ssh-keys:add mine
- На сервере создайте приложение: dokku apps:create myapp
- В папке проекта выполните: git remote add dokku dokku@IP:myapp, затем git push dokku main
- Для HTTPS выполните на сервере: dokku letsencrypt:set myapp email [email protected], затем dokku letsencrypt:enable myapp
С каждым сервером
- Ежедневные бэкапы входят в цену
- Безлимитный трафик
- Полный root-доступ
- Позже можно увеличить или уменьшить RAM и CPU, а диск увеличить
- Расположение: Istanbul · IST-1.
Полезно знать
- Dokku управляется командами, веб-интерфейса у него нет. Если вам удобнее работать в браузере, посмотрите сервер с установленным Dokploy.
- Задача продления сертификатов включается при установке (dokku letsencrypt:cron-job --add). Если вы её уберёте, сертификаты перестанут продлеваться сами.
- Плагин базы данных не установлен. Для PostgreSQL сначала выполните dokku plugin:install https://github.com/dokku/dokku-postgres.git
- Если сборке не хватает памяти на маленьком размере, увеличьте сервер в панели.
- Обновлять Dokku, его плагины и свои приложения нужно вам самим.
Dokku: вопросы и ответы
Сколько RAM нужно Dokku?
Официально Dokku нужен 1 ГБ памяти, для небольшого приложения этого достаточно. Сборки идут на сервере, поэтому ориентир такой: для проектов на Node.js или Next.js присмотритесь к 2–4 ГБ. Позже вы сможете увеличить сервер в панели.
Как развернуть приложение с помощью Dokku?
Создайте приложение на сервере командой dokku apps:create, добавьте сервер в проект командой git remote add dokku dokku@IP:myapp, затем выполните git push dokku main. Dokku соберёт и запустит приложение, а когда развёртывание закончится, выведет его адрес.
Какие проекты умеет собирать Dokku?
Dokku сам определяет ваш проект и собирает его с помощью buildpacks или вашего Dockerfile. Если автоматическое определение вам не нужно, задайте сборщик для приложения командой builder:set.
Как подключить к Dokku свой домен?
Направьте A-запись своего домена на IP сервера, затем выполните на сервере dokku domains:set myapp example.com. После этого выполните dokku letsencrypt:enable myapp, чтобы получить сертификат для нового адреса.
Как добавить базу данных в Dokku?
Базы данных Dokku получает из плагинов. Установите официальный плагин PostgreSQL, создайте базу командой dokku postgres:create mydb и подключите её командой dokku postgres:link mydb myapp. Приложение получит адрес в виде DATABASE_URL.
Есть ли у Dokku веб-панель?
Нет. Dokku управляется по SSH командами, а доступ root остаётся у вас. Если вы хотите развёртывать из браузера, выберите сервер с установленным Dokploy.