Возможно, я сделал это несколько раз с цифровыми океанскими каплями, и у вас наконец-то будет свой мини Heroku. Это сложно сделать, но я постараюсь объяснить, как это сделать.
Прежде всего вам нужно развернуть каплю DO с помощью dokku, чтобы начать работу, и не забудьте выбрать опцию «Имена пользователей viartualhost для приложений» при установке.
In your DNS you will have to configure an A record to access your server with a domain that will hold your apps
A *.apps.example.com <public IP address>
Не нужно развертывать два приложения на сервере, чтобы начать настройку. Создайте приложения и разверните их (используйте Google, если вам нужна помощь для развертывания). Наконец, вы должны увидеть это на вашем сервере:
root@server-dokku-apps:~# dokku apps:list
=====> My Apps
acme-website
bubba-gump-website
Теперь вам нужно будет настроить домен для каждой докку приложений
root@server-dokku-apps:~# dokku domains:add acme-website www.acmewebsite.com
-----> Added www.acmewebsite.com to acme-website
-----> Configuring www.acmewebsite.com...(using built-in template)
-----> Configuring acme-website.apps.example.com...(using built-in template)
-----> Configuring www.acmewebsite.com...(using built-in template)
-----> Creating https nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
root@server-dokku-apps:~# dokku domains:add bubba-gump-website www.bubbagump.com
-----> Added www.bubbagump.com to bubba-gump-website
-----> Configuring www.bubbagump.com...(using built-in template)
-----> Configuring bubba-gump-website.apps.example.com...(using built-in template)
-----> Configuring www.bubbagump.com...(using built-in template)
-----> Creating https nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
Пока что мы должны проверить, можно ли получить доступ к приложениям, используя следующие ссылки (пока только http)
http://acme-website.apps.example.com
http://bubba-gump-website.apps.example.com
Если теперь все работает как надо, нам нужно настроить каждый домен так, чтобы он указывал на правильное приложение с некоторыми записями CNAME.
# In your www.acmewebsite.com DNS records
CNAME www.acmewebsite.com www.acmewebsite.com.apps.example.com
# In your www.bubbagump.com DNS records
CNAME www.bubbagump.com www.bubbagump.com.apps.example.com
Последний шаг - настройка letsencrypt для каждого приложения. Чтобы letsencrypt получил новый сертификат от вашего нового домена ex. Сайт www.acmewebsite.com должен быть доступен, поэтому сначала нам нужно разместить DNS CNAME. Не забудьте установить dokku-letsencrypt на свой сервер.
# First for acme website
root@server-dokku-apps:~# dokku letsencrypt acme-website
# Finally for buba website
root@server-dokku-apps:~# dokku letsencrypt bubba-gump-website
После всего этого беспорядка у вас должно быть два запущенных приложения в их собственных доменах с включенным https.
Надеюсь, это поможет.