Дополнения к инструкции
Есть: выход в интернет через сеть оператора связи, к которой подключен роутер. К нему проводом подключен второй роутер, к которому также - домашний ПК. По инструкции устанавливаем систему в контейнер, настраиваем сеть вторым способом (использование общей сети) (первый - трансляция IP-адресов).
После этого почему-то хост перестал автоматически получать IP-адрес. Приходится вручную для этого давать ему команду dhclient (с правами суперпользователя).
Ну да ладно. Затем также устанавливаем и настраиваем PostgreSQL (в контейнере). Наконец идут команды установки PeerTube (в контейнере). В config/production.yaml указываем hostname и другие параметры (по инструкции).
Не по инструкции добавляем этот hostname в файлы /etc/hosts контейнера и хоста. В первом файле у него будет IP-адрес 127.0.0.1, во-втором даем ему IP-адрес контейнера в домашней сети.
Не по инструкции делаем редирект портов 80 и 443 на первом роутере на IP-хоста. Подключаем второй роутер в режиме точки доступа, т.е. отключаем DHCP и, в некторых случаях, DNSMasq, и подключаем ван-кабель (идущий от первого роутера) в порт лан второго роутера.
Чтобы хост и контейнер получали IP-адреса от первого роутера, а не от второго.
Далее по инструкции идет получение сертификата Let's Encrypt. Для этого уже применяется редирект 80 порта на тот же порт контейнера (потом он будет применяться для редиректа запросов к серверу из интернета).
Далее по инструкции идет установка и настройка nginx. Добавлю, что после этого в nginx.conf уже будут настройки для localhost (см. скриншот 1), которые вообще-то как бы конфликтуют с конфигурационным файлом peertube.conf
Следуя другой - официальной - инструкции , просто заменяем в peertube.conf подстроку ${WEBSERVER_HOST} на доменное имя сервера, а ${PEERTUBE_HOST} на 127.0.0.1:9000.
Запускаем PeerTube, устанавливаем пароль для администратора PeerTube. Готово.