Бридж с всеми добавленными портами.
X-Real-IP
возможно. (listen tcp4 192.168.0.104:80: bind: cannot assign requested address, хотя в файле hosts хоста все казано корректно)
Файл hosts:
192.168.0.104 ivankprod.ru
192.168.0.104 www.ivankprod.ru
192.168.0.104 ivankprod.ru www.ivankprod.ru
apt install libnginx-mod-http-lua
или использовать openresty - там он встроенный).
Запуск Django сайта на nginx + Gunicorn + SSL
Настройка Debian, Nginx и Gunicorn для Django проекта
Django читай, как Flask.
Чтобы установить Python используй pyenv (не забудь установить библиотеки).
Что бы установить pyenv
curl https://pyenv.run | bash
Установить, например, Python 3.10.0
pyenv install 3.10.0
Сделать его дефолтным интерпретатором
pyenv global 3.10.0
только так делать не надо, а надо создать virualenv и работать в нём, чтобы не сломать систему.И есть беспройгрышный вариант - запускать Python в Docker.