ispmanager 6

/
/
Интеграция Portainer в ispmanager 6

Интеграция Portainer в ispmanager 6

Для чего это нужно

Расширенное управление и мониторинг docker-контейнеров в ispmanager 6.

Инструкции

Обратите внимание!

На момент настройки Portainer, в панели уже должен быть установлен Docker.

Для корректной работы приложения, потребуется выпустить самоподписанный SSL-сертификат, выполнив следующие две команды:

mkdir -p /etc/ssl/portainer

openssl req -x509 -nodes -days 365 \
 -newkey rsa:2048 \
 -keyout /etc/ssl/portainer/portainer.key \
 -out /etc/ssl/portainer/portainer.crt \
 -subj "/CN=localhost"

Далее необходимо создать docker-контейнер для Portainer:

docker run -d \
 --name portainer \
 -p 9443:9443 \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v portainer_data:/data \
 -v /etc/ssl/portainer:/certs \
 portainer/portainer-ce:latest \
 --ssl \
 --sslcert /certs/portainer.crt \
 --sslkey /certs/portainer.key

Теперь нужно подготовить пункт в меню для Portainer.

Сначала подготовьте иконку для пункта меню и разместите по пути /usr/local/mgr5/skins/icons/portainer.svg. Иконка должна соответствовать следующим требованиям:

  • Изображение с прозрачным фоном в формате SVG;
  • Отсутствие анимаций;
  • Размер изображения - 15х15 пикселей.

После этого можно перейти к созданию пункта меню Portainer в подразделе Docker Management, создав файл по пути /usr/local/mgr5/etc/xml/ispmgr_mod_portainer.xml со следующим содержимым:

<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
 <mainmenu level="admin+">
   <modernmenu>
     <node name="docker_mgmt" customicon="/manimg/icons/portainer.svg">
       <node name="open_portainer" favorite="yes" customicon="/manimg/icons/portainer.svg" />
     </node>
   </modernmenu>
 </mainmenu>
 <handler name="myaddon.sh" type="xml">
   <func name="open_portainer" />
 </handler>
 <lang name="ru">
   <messages name="desktop">
     <msg name="modernmenu_docker_mgmt">Docker Management</msg>
     <msg name="modernmenu_open_portainer">Portainer</msg>
   </messages>
 </lang>
</mgrdata>

Заключающей частью является создание аддона с приложением для панели. Для этого создайте файл по пути /usr/local/mgr5/addon/myaddon.xml со следующим содержимым:

<?xml version="1.0" encoding="UTF-8"?>
<doc lang="ru" func="myfunc" binary="/ispmgr">
   <metadata name="myfunc" type="form" mgr="ispmgr">
       <form>
           <field name="frame" fullwidth="yes">
               <frame name="portainerframe" forcetheme="yes" fullpage="yes" keepalive="yes" />
           </field>
       </form>
   </metadata>
   <messages name="myfunc" checked="6b49a92f5cc5153c76b78446d0d74eb4">
       <msg name="title">Portainer</msg>
       <msg name="frame">Frame</msg>
   </messages>
   <portainerframe>https://URL_АДРЕС_ПАНЕЛИ:9443</portainerframe>
</doc>
Обратите внимание!

Обязательно укажите IP-адрес панели или доменное имя вместо переменной URL_АДРЕС_ПАНЕЛИ.

Также необходимо создать скрипт для аддона по пути /usr/local/mgr5/addon/myaddon.sh с содержимым:

#!/bin/bash 
cat /usr/local/mgr5/addon/myaddon.xml

Скрипту нужно установить права 750, выполнив команду:

chmod 750 /usr/local/mgr5/addon/myaddon.sh

Для применения изменений, перезапустите панель:

/usr/local/mgr5/sbin/mgrctl -m ispmgr -R