Домашний хостинг?
1. Да, можно.
2. Ту, которая точно стабильно работает с твоим ПО и которую ты умеешь администрировать.
3. Зависит от твоего провайдера.
Обычно это сводится к покупке статичного белого IP и проброс портов на твоём домашнем маршрутизаторе (инструкций достаточно)

Но для надёжности лучше всё-таки воспользоваться услугами colocation, а не размещать сервер в квартире.
Можно сделать. Порты открыть на твоем роутере (провайдер обычно закрывает порты только 135-139 и 25 порт, ну еще некоторые в целях безопасности), надо смотреть инструкцию к роутеру, но там обычно ничего сложного.
Самое важное условие - это наличие статического белого IP. Это надо для того, чтобы клиенты знали где сервер и всегда могли до него достучаться, ну и маршруты были указаны именно на этот сервер.
Крайне рекомендуется Linux Server, это самый надежный, безглючный и дешевый вариант (бесплатный вообще) к тому же куча инструкций как настраивается.