Разворачиваем виртуалки на Proxmox автоматически: OpenTofu + cloud-init
Зачем нужна автоматизация?
В прошлом всё делалось руками. Нужно сервер — берёшь “железо”, ставишь ОС, потом вручную поднимаешь сервис. Ещё один сервер? Повторяешь всё с нуля.
Но как только проектов становится больше одного, ручная настройка превращается в головную боль. Поэтому появились инструменты автоматизации. Сначала это были FAI, Kickstart, preseed и подобные решения, потом — инфраструктура как код (IaC), которая уже стала стандартом.
Ручная настройка инфраструктуры теряет актуальность. В современном IT всё, что можно автоматизировать, нужно автоматизировать. Это не просто удобно — это экономит часы (а иногда и дни) жизни.
В этой вы узнаете, как с помощью OpenTofu и cloud-init автоматически разворачивать виртуальные машины (ВМ) в Proxmox VE, а заодно настроим на них всё нужное — от
пользователей до веб-сервисов.
Что будем использовать?
Proxmox VE
- веб-интерфейс, где всё понятно без тонны мануалов
- мощные возможности (кластеризация, снапшоты, резервное копирование)
- можно использовать бесплатно (без коммерческой подписки, но с доступом к no-subscription репозиториям)

Proxmox отлично подходит для частных облаков, разработки и даже продакшн-инфраструктур.
Кстати, Elma365 прекрасно работает на Proxmox, мы поможем вам с настройкой.
OpenTofu
OpenTofu – это свободная альтернатива Terraform. Вы описываете в коде, что вам нужно:
- сколько оперативки/дисков/CPU
- сколько ВМ
- на каком шаблоне
- какие настройки применить — и всё это создаётся автоматически

cloud-init
cloud-init – это инструмент, который запускается внутри ВМ при первом старте. Работает с большинством популярных дистрибутивов.
Он выполняет всё, что вы укажете в user-data файле:
- настраивает пользователей
- ставит пакеты
- запускает скрипты

Как это выглядит на практике?

Создаём шаблон ВМ в Proxmox
с предустановленной ОС и поддержкой cloud-init

Пишем OpenTofu-скрипт
описываем нужное количество машин и их параметры

Запускаем tofu apply
получаем готовую инфраструктуру без кликов мышкой
Примеры использования:

Один обратный прокси (Nginx или HAProxy)

Несколько веб-серверов (например, с Nginx)
Преимущества автоматизации:
- Масштабируемо: хотите 3 ВМ, хотите 30 — просто меняете переменную
- Предсказуемо: никаких «а у меня не работает» — всё конфигурируется одинаково
- Повторяемо: всё описано в коде, хранится в Git и может быть развёрнуто в любой момент.
- Гибко: хотите Ubuntu, хотите Debian, хотите PostgreSQL + Redis — всё настраивается заранее.
- Быстро: один конфиг — и готовый кластер через пару минут
- Постоянный мониторинг сервисов и метрик
Для компаний, которым важно быстро настраивать окружения, автоматизация — это идеальный способ организовать профессиональное администрирование серверов
Насколько это сложно?
Если вы уже знакомы с Proxmox, а также имеете базовые навыки работы с YAML и HCL (языком конфигурации OpenTofu), — процесс настройки не вызовет трудностей. Как правило, освоить его можно всего за один вечер.
Если же вы только начинаете, подход остаётся доступным. Всё, что требуется:
- Один раз подготовить шаблон виртуальной машины с поддержкой cloud-init в Proxmox;
- Подключить провайдер Proxmox в OpenTofu и описать параметры развёртывания в конфигурации;
- Запустить автоматизацию — и получить готовую виртуальную инфраструктуру без ручной настройки.

После этого любые будущие развёртывания будут проходить быстро, последовательно и без необходимости повторять одни и те же действия вручную.
Итоги
Современная автоматизация — это не просто «поиграться», а про устойчивость, скорость и контроль.
cloud-init — отличный выбор для разработчиков, системных администраторов и DevOps-специалистов, которым важно быстро и стабильно поднимать окружения.
Если вам нужно развернуть высоконагруженную инфраструктуру или внедрить автоматизацию в проекты на ELMA365, Bitrix24, Nginx, PostgreSQL или других решениях — обратитесь к нам, мы поможем спроектировать и реализовать стабильную, масштабируемую систему на базе Proxmox.