TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #5057 9.62K
Продолжаю тему с Incus. В первой заметке я разобрал запуск и управление через CLI. Теперь разберу веб интерфейс.

Изначально я пошёл по сложному пути и запустил веб интерфейс через найденный контейнер Docker. Использовал простой Docker-Compose:

services:
  lxconsole:
   image: 'penninglabs/lxconsole:latest'
   restart: unless-stopped
   ports:
   - '80:5000'
   volumes:
   - ./backups:/opt/lxconsole/backups
   - ./certs:/opt/lxconsole/certs
   - ./server:/opt/lxconsole/instance


Всё в целом завелось, зашёл на 80-й порт, зарегистрировал учётку и начал настраивать. Этот веб интерфейс рассчитан в том числе на управление кластером или набором нод. Можно их по отдельности добавлять и переключаться. Но так как я использовал в тестовом окружении самоподписанные сертификаты, у меня не работало подключение к консоли виртуальных машин и контейнеров. И некоторые другие вещи, связанные с WebSocket. То есть этот способ рабочий, но нужно настраивать нормальное соединение по HTTPS.

Я какое-то время помучался и нашёл более удобный и простой вариант для одиночного сервера. Есть репозиторий Zabbly со всеми пакетами для incus:

⇨ https://pkgs.zabbly.com/incus/stable/pool/main/i/incus/

Можно скачать одиночный пакет с веб интерфейсом и установить. Примерно так:

# wget https://pkgs.zabbly.com/incus/stable/pool/main/i/incus/incus-ui-canonical_6.17-debian11-202510101456_amd64.deb
# dpkg -i incus-ui-canonical_6.17-debian11-202510101456_amd64.deb


Либо подключить репозиторий и установить оттуда:

# curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc
# sh -c 'cat <<EOF > /etc/apt/sources.list.d/zabbly-incus-lts-6.0.sources
Enabled: yes
Types: deb
URIs: https://pkgs.zabbly.com/incus/lts-6.0
Suites: $(. /etc/os-release && echo ${VERSION_CODENAME})
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/zabbly.asc

EOF'
# apt install incus-ui-canonical


После установки добавляем в юнит systemd настройку веб интерфейса:

# systemctl edit incus.service

[Service]
Environment = INCUS_UI=/opt/incus/ui/

Сохраняем, перечитываем конфиг и перезапускаем:

# systemctl daemon-reload
# systemctl restart incus

Разрешаем подключаться к incus извне:

# incus config set core.https_address :8443

Можно идти на порт 8443 и подключаться. Там будет простая инструкция по генерации и добавлению сертификата. Не буду описывать процесс, там всё понятно. В веб интерфейсе каких-то особых нюансов нет.

Покажу пример, как настроить проброс порта внутрь виртуалки. Для примера возьму VM ubuntu24 c IP 10.253.116.184. Проброшу в неё порт 80 с внешнего IP адреса ноды 192.168.137.14.

Иду в раздел Networks, выбираю бридж incusbr0, перехожу на вкладку Forwards. Добавляю Forward:

◽️Listen address: 192.168.137.14
◽️Listen port: 80, Protocol: TCP
◽️Target address: 10.253.116.184
◽️Target port: 80

То же самое через консоль:

# incus network forward port add incusbr0 192.168.137.14 TCP 80 10.253.116.184 80

Сравните с тем, как это выглядит в Proxmox.

Проект в целом мне понравился. Причём без каких-то компромиссов. Для одиночного хоста он удобнее Proxmox. Тут более простой и наглядный IPAM, с которым не надо разбираться. Раздача IP адресов и NAT работают сразу. Проброс портов внутрь виртуалок тоже делается очень просто через веб интерфейс. В Proxmox всё это настраивается сложнее. Причём заметно сложнее. Для проброса портов придётся писать правила для iptables.

Если у вас есть жирная виртуалка с включённой вложенной виртуализацией, а она у некоторых хостеров включена, то вы можете на ней развернуть Incus и запускать виртуалки с контейнерами.

Мой цикл из двух заметок полностью описывает запуск и базовую настройку Incus. Можно разворачивать и пользоваться. Я целостного материала по этой теме не нашёл, поэтому пришлось самому разбираться, читать документацию. Сюда бы ещё добавить подключение LVM или ZFS пулов для дисков виртуалок, а так же бэкапы, но уже лимита по длине заметки не хватает.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#incus #виртуализация
  • 👍 112
  • 👎 3
More from @srv_admin
  1. Oct 2, 2026Мне Селектел прислали прикольный светильник, которым я сейчас стал постоянно пользоваться.…
  2. Oct 2, 202620 октября в 12:00 (мск) пройдёт бесплатный вебинар «Мониторинг событий безопасности в MWS…
  3. Oct 2, 2026На днях задачка небольшая была по сохранению команд пользователя в консоли. В ней ничего о…
  4. Oct 1, 2026Делал на днях некоторые покупки компьютерных комплектующих и периферии. От новых цен натур…
  5. Oct 1, 2026Вся правда о безопасности контейнеров 8 октября в 11:00 приходите на стрим «Лаборатории Ка…
  6. Oct 1, 2026В сентябре постоянно то тут, то там гремели новости об ужасных уязвимостях Mikrotik. CVE с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →