Portainer
⏳ Doba čtení: ~4 min (539 slov)Portainer
Portainer je GUI pro správu Docker kontejnerů. Můžete ho nainstalovat v Proxmoxu jako kontejner a pak přes něj spravovat všechny vaše kontejnery (Radarr, Sonarr, Bazarr, Jellyfin, Audiobookshelf, Kavitu, atd.) a to bez nutnosti sahat do příkazové řádky!
Pokud jako správný sysadmin chcete mít v sekci “Infrastructure” klikací dlaždici a rovnou na ní vidět celkové statistiky (např. počty běžících/zastavených kontejnerů, zátěž stroje), tak jej lze napojenit na widget v Homepage. Kde pak u jeho dlaždice zavoláte widget: type: portainer. Na dlaždici se vám pak přehledně vykreslí celkový počet běžících, zastavených a celkových kontejnerů.
Prvotní inicializace
Po nasazení přes Ansible pomocí mé systemd šablony jsem otevřel http://192.168.1.101:9000. Portainer vás při prvním načtení vyzve k vytvoření administrátorského hesla. Udělej to co nejdříve, z bezpečnostních důvodů má Portainer časový limit (asi 5 minut) od startu kontejneru. Pokud to nestihnete, kontejner se zablokuje a musíte jej restartovat.
Pro registraci potřebujete v logu kontejneru najít dočasný token, který se zobrazí jen při prvním startu kontejneru.
docker logs portainer
Z prvu se mi Portainer zdál v homelabu zbytečný, ale jak začali přibývat kontejnery, tak byl užitečnější čím dál tím více. Hodně užitečné se mi zdá kombinace zobrazení logu z kontejneru + možnost jeho restartu přímo z webového rozhraní. A to vše bez nutnosti sahat do příkazové řádky.
Připojení Portaineru do Homepage
Otevřete services.yaml a přidejte Portainer jako novou službu do sekce infrastruktury. Parametr env: 1 označuje ID lokálního Docker prostředí uvnitř Portaineru (u čisté instalace je to vždy 1).
- Infrastructure:
- Portainer:
icon: si-portainer
href: http://192.168.1.101:9000
description: Sprava Docker kontejneru
widget:
type: portainer
url: http://192.168.1.101:9000
env: <endpoint_id>
key: <token>
Tokeny a hesla negitujte, ale použite buďto Ansible Vault nebo je uložte do
.envsouboru a vservices.yamlpoužijte proměnné prostředí!
Jak zjistit ID lokálního Docker prostředí v Portaineru
Klikněte na local a podívejte se do url, je tam číslo ID lokálního Docker prostředí (např. http://192.168.1.101:9000/#!/endpoints/1).
Pokud nemáte prostředí local, nové vytvořte:
- V levém panelu Portaineru klikněte na Environments (Prostředí).
- Vpravo nahoře klikněte na modré tlačítko Add environment.
- Z nabídky vyberte Docker Standalone a dole klikněte na Start Wizard.
- Zvolte metodu připojení Socket (přesně ten jsme mu totiž do kontejneru přidali).
- Do pole Name si to prostředí libovolně pojmenuj (např. local nebo
docker-runner). - Klikněte na Connect.
V prohlížeči se vám zobrazí: http://192.168.1.101:9000/#!/endpoints/2 (číslo 2 je ID lokálního Docker prostředí). To číslo si poznamenej, bude se ti hodit pro integraci do Homepage.
Získání API tokenu pro Homepage
Aby Homepage mohla vyčítat celkové statistiky, potřebuje od Portaineru klíč:
- V Portaineru klikněte vpravo nahoře na váš uživatelský profil -> My account.
- Sjeď dolů do sekce Access tokens a vygeneruj nový token (např. s názvem “Homepage”).
- Hodnotu tokenu si zkopírujte, ukáže se vám jen jednou.
Po aktualizaci Homepage se vám na dlaždici Portaineru objeví ten vytoužený celkový počet běžících, zastavených a celkových kontejnerů.