Подтвердить что ты не робот

Dokku изменит настройки после установки

Я установил Dokku на свою капельку Digital Ocean, но сделал это, прежде чем устанавливать свои записи dns, поэтому Dokku был установлен на IP. Теперь я изменил запись dns, поэтому доступ к сайту можно получить через site.com. Я могу получить доступ к моим ранее созданным контейнерам Dokku через site.com:port, как я могу изменить настройки Dokku для доступа к моему приложению вроде этого - appname.site.com

4b9b3361

Ответ 1

Per https://github.com/progrium/dokku:

Настройте домен и подстановочный домен, указывающий на этот узел. Убедиться /home/dokku/VHOST настроен на этот домен. По умолчанию он установлен на любое имя хоста, которое имеет хост. Этот файл создается только в том случае, если имя хоста может быть разрешено путем выкапывания (dig + short $(hostname -f)). В противном случае вам необходимо создать файл вручную и настроить его на домен. Если этот файл по-прежнему отсутствует, когда вы нажимаете свое приложение, dokku опубликует приложение с номером порта (т. http://example.com:49154 - отметить недостающий субдомен).

Чтобы устранить эту проблему, вам сначала необходимо обновить файл /home/dokku/VHOST, добавив доменное имя - это исправит все вновь созданные развертывания, но существующие приложения нужно будет удалить из /home/dokku по имени (/home/dokku/foo,/home/dokku/bar и т.д.) и перераспределено, чтобы это изменение вступило в силу, поскольку каждое приложение Dokku имеет отдельный nginx.conf в этих /home/dokku/paths и они должны быть переписаны.

Ответ 2

Чтобы расширить ответ @shirkey: вам не нужно повторно создавать (уничтожать и создавать снова) приложение, чтобы применить эти изменения. Вы можете вручную создать файл VHOST внутри каталога /home/dokku/$APP/ (как пользователь dokku), затем удалить настройку NO_VHOST (dokku config:unset $app NO_VHOST) и изменить DOKKU_NGINX_PORT на 80 (dokku config:set $app DOKKU_NGINX_PORT=80) и перезапустить приложение (dokku ps:restart $app).

Ответ 3

$echo "example.com" > /home/dokku/VHOST

Ответ 4

На самом деле не нужно уничтожать и воссоздавать приложения. Во-первых, dokku domains:report сообщает вам, включены ли глобальные VHOSTS или нет. Если нет, запустите

dokku domains:add-global yourdomain.tld
echo yourdomain.tld | sudo tee -a /home/dokku/VHOST
dokku domains:add myapp myapp.yourdomain.tld
dokku domains:enable myapp

Первый из них добавляет yourdomain.tld в /home/dokku/HOSTNAME. Он также должен добавить его в /home/dokku/VHOST, но это не так. Так что это нужно делать вручную. Затем скажите докку, какой (дополнительный) домен вы хотите получить в myapp. Последняя команда устанавливает переменную NO_VHOST для myapp равным false.