Jak používat Enver

Kompletní návod k aplikaci Enver. Názvy v aplikaci uvádíme tak, jak je uvidíte v češtině.

Jak Enver funguje

Enver je řídicí panel pro vaše kontejnery. Aplikace běží na vašich vlastních serverech; Enver drží jejich konfiguraci, říká serverům, co mají spustit, a ukazuje vám, co se děje. Stavební kameny jsou:

Vaše kontejnery, volumes a zálohy nikdy neopouštějí vaše servery. Když je Enver nedostupný, prostředí běží dál; jen je do té doby nemůžete spravovat.

Rychlý start

  1. Přihlaste se přes Google nebo GitHub a zvolte Vytvořit account (nebo Počkat na pozvání, pokud vás přidává kolega).
  2. Připojte registry v sekci Registry, pokud máte privátní image. Veřejné image z Docker Hubu fungují i bez něj.
  3. Popište služby v sekci Servisky: image, výchozí tag, porty a proměnné.
  4. Přidejte edge server v sekci Edge Servery → Nový server, otevřete ho a postupujte podle Instalace: jeden příkaz na serveru a token.
  5. Vytvořte prostředí v sekci Prostředí, vyberte edge server a Docker nebo Kubernetes a přidejte do něj služby.
  6. Spusťte ho. Detail prostředí ukazuje živý stav, dobu běhu a logy každé služby.

Účty a tým

Účty

Kdo účet založí, je jeho vlastníkem a smí v něm vše. Můžete vlastnit více účtů (Nastavení uživatele → Účty → Nový účet) a být členem dalších; přepínáte mezi nimi přepínačem účtů v záhlaví. Názvy účtů jsou v Enveru jedinečné.

Pozvání členů

V Účet → Uživatelé pozvete kolegu e-mailem. Dostane e-mail s pozvánkou a uvidí ji v Nastavení uživatele → Účty → Pozvánky, kde ji přijme nebo odmítne. Pozvaný se musí nejdřív do Enveru s tímto e-mailem přihlásit. Čekající pozvánky se počítají do limitu uživatelů účtu.

Členové

Vlastník a správci uživatelů vidí, kdo je online, a upravují oprávnění (Oprávnění); vlastník může členy odebrat nebo Přenést vlastnictví jinému členovi (dosavadní vlastník tím přijde o práva vlastníka).

Export a smazání

V Účet → Data a smazání si vlastník stáhne vše, co Enver o účtu ukládá, jako soubor JSON (bez tajných hodnot a tokenů), a účet smaže. Smazat ho lze po ukončení placených předplatných; účet pak okamžitě zmizí všem členům a jeho data smažeme do 30 dnů. Kontejnerů a svazků na vašich edge serverech se to nedotkne. Svůj profil smažete v Nastavení uživatele → Obecné → Smazat profil, jakmile nevlastníte žádný účet.

Oprávnění

Členové dostávají oprávnění pro celý účet. Vyšší oprávnění zahrnuje nižší. Názvy oprávnění jsou v aplikaci anglicky.

OprávněníUmožňuje
Env AdminVytvářet, upravovat, spouštět a zastavovat všechna prostředí, přidávat a nastavovat jejich služby.
Env Tag SwitchingPřepínat tagy, restartovat služby a číst logy – ideální pro vývojáře, kteří nasazují svou větev.
Env ViewerVidět prostředí, jejich stav a proměnné (bez tajných hodnot).
Service Admin / ViewerSpravovat nebo vidět katalog služeb a skupiny služeb.
Edge Server Admin / ViewerSpravovat (včetně tokenů a nastavení) nebo vidět edge servery.
Variable Group Admin / ViewerSpravovat nebo vidět skupiny proměnných.
Registry Admin / Viewer, Registry Tag SearchSpravovat nebo vidět registry, vyhledávat image a tagy.
User AdminZvát členy a měnit jejich oprávnění; Invites Admin, Permissions Admin a User Viewer dávají jednotlivé části zvlášť.
Monitoring ViewerVidět metriky edge serverů.
DB Backups Admin / Operator / ViewerNastavovat a mazat zálohy / vytvářet a obnovovat je / vidět je.
Secrets RevealZkopírovat uloženou tajnou hodnotu. Každé zobrazení se zapíše do auditního logu.

Oprávnění pro jednotlivá prostředí

V prostředí může vlastník přes Oprávnění doladit přístup jednoho člena: whitelist přidá Env Admin, Tag Switching nebo Viewer jen v tomto prostředí, blacklist je jen tady odebere (např. vývojář smí přepínat tagy všude kromě produkce). Zablokování úrovně blokuje i úrovně nad ní.

Container registry

V sekci Registry přidáte Docker Hub nebo vlastní registry (jeho URL, např. https://ghcr.io) s uživatelem a přístupovým tokenem. Token se ukládá šifrovaně a už se nikdy nezobrazí; při úpravě ho nechte prázdný, aby zůstal. Enver registry používá ke stahování imagů na edge serverech a k našeptávání imagů a tagů ve formulářích.

Automatické nasazení z Docker Hubu

U registry Docker Hub zobrazí Nastavit Docker Hub webhook URL, kterou vložíte do webhooků repozitáře na Docker Hubu. Po každém pushi Enver restartuje – stáhne a znovu vytvoří – každou běžící službu, která používá pushnutý repozitář a tag. Kdo URL zná, může tyto restarty spouštět, proto ji držte v tajnosti. Pokud unikne, vygenerujte v témže okně novou (Vygenerovat novou URL): stará okamžitě přestane platit a na Docker Hubu ji nahradíte novou.

Služby

V Servisky → Nová serviska popíšete aplikaci jednou pro celý účet:

Porty, volumes a proměnné jsou výchozí bod: zkopírují se do prostředí, když do něj službu přidáte, a pozdější změny služby se prostředí, kde už je, nedotknou. Službu lze smazat, až když není v žádném prostředí.

Proměnné a tajné hodnoty

Odkud se hodnoty berou

Při nasazení se proměnné služby skládají v tomto pořadí, pozdější vyhrává:

  1. výchozí hodnoty služby,
  2. přiřazené skupiny proměnných (vyhrává později přiřazená),
  3. hodnoty nastavené přímo v prostředí.

Formulář služby v prostředí ukazuje zděděné proměnné s jejich původem a Přepsat nastaví hodnotu prostředí.

Tajné hodnoty

Tajná hodnota se ukládá šifrovaně a nikdy se neposílá zpět do prohlížeče – formulář ukazuje jen, zda je nastavená. Členové s oprávněním Secrets Reveal ji mohou zkopírovat do schránky a každé zobrazení se zapíše do auditního logu. Proměnná, kterou služba deklaruje jako tajnou, je tajná v každém prostředí; prostředí může utajit i svou vlastní hodnotu. Uložená tajná hodnota se stane veřejnou jen spolu s novou hodnotou.

Import, export a odkazy

Skupiny služeb a proměnných

Skupiny služeb (Skupiny servisek) sdružují služby, např. „backend“, aby je šlo v prostředí najednou spustit, zastavit nebo přepnout jejich tag. Skupiny proměnných (Skupiny proměnných) drží sdílenou konfiguraci – třeba SMTP nebo message broker – kterou přiřadíte službám v prostředích místo kopírování hodnot. Obě podporují veřejné i tajné hodnoty a import a export .env.

Edge servery

Instalace

V Edge Servery → Nový server server pojmenujte, otevřete ho a klikněte na Instalace. Dialog ukáže příkazy s vyplněným tokenem. Na Debianu/Ubuntu (amd64 nebo arm64):

curl -fsSL -o /tmp/enver-edge-server.deb "https://enver-api.apinecka.com/v1/edge-servers/installer" \
  && echo "<SHA-256 z dialogu>  /tmp/enver-edge-server.deb" | sha256sum -c - \
  && sudo dpkg -i /tmp/enver-edge-server.deb && rm /tmp/enver-edge-server.deb

Na macOS (s Docker Desktop, OrbStack nebo Colima):

curl -fsSL -o /tmp/enver-edge-server.tar.gz "https://enver-api.apinecka.com/v1/edge-servers/installer/macos" \
  && echo "<SHA-256 z dialogu>  /tmp/enver-edge-server.tar.gz" | shasum -a 256 -c - \
  && tar -xzf /tmp/enver-edge-server.tar.gz -C /tmp && sudo /tmp/enver-edge-server/install.sh \
  && rm -rf /tmp/enver-edge-server /tmp/enver-edge-server.tar.gz

Potom vložte nastavení připojení z dialogu do /etc/enver/edge-server.env a agenta restartujte:

EDGE_SERVER_PORT=10999
EDGE_SERVER_TOKEN=<token z dialogu>
API_URL=https://enver-api.apinecka.com
sudo systemctl restart enver-edge-server                      # Linux
sudo launchctl kickstart -k system/com.enver.edge-server      # macOS

Server se během několika sekund přepne na Online. Token držte v tajnosti – kdo ho má, může se připojit jako váš server. Agent drží spojení s Enverem (jen odchozí, do internetu nemusíte otevírat žádný port), hlásí stavy každých pár sekund a metriky hostitele každou minutu.

Ověření staženého souboru

Příkazy v dialogu instalaci nespustí, dokud SHA-256 souboru nesouhlasí s hodnotou, kterou pro něj Enver zveřejňuje. Jsou-li instalátory podepsané, dialog ukáže i ověření podpisu GPG; otisk klíče před prvním použitím porovnejte s tím, který zveřejňujeme:

curl -fsSL "https://enver-api.apinecka.com/v1/edge-servers/installer/signing-key" | gpg --import
curl -fsSL -o /tmp/enver-edge-server.deb "https://enver-api.apinecka.com/v1/edge-servers/installer" \
  && curl -fsSL -o /tmp/enver-edge-server.deb.asc "https://enver-api.apinecka.com/v1/edge-servers/installer.asc"
gpg --verify /tmp/enver-edge-server.deb.asc /tmp/enver-edge-server.deb && sudo dpkg -i /tmp/enver-edge-server.deb

Co agent dělá a co potřebuje

Token

Token serveru prokazuje Enveru, kdo je. Když unikne, klikněte v detailu edge serveru na Vygenerovat nový token: starý přestane okamžitě platit a agent se odpojí. Nový token vložte do /etc/enver/edge-server.env a agenta restartujte. Smazání edge serveru ho odpojí také.

Logy a odinstalace

Nastavení Dockeru

V detailu edge serveru se Docker & Kubernetes nastavení projeví do minuty bez restartu:

Kubernetes

Prostředí typu Kubernetes spouští své služby na clusteru, ke kterému se připojuje edge server. Jednou připravte service account s právy cluster-admina (totéž ukazuje Nastavení Kubernetes clusteru v aplikaci):

kubectl create serviceaccount enver-edge-server -n default
kubectl create clusterrole enver-edge-server --verb=get,list,watch,create,update,patch,delete \
  --resource=namespaces,deployments,pods,pods/log,services,secrets,ingresses,networkpolicies
kubectl create clusterrolebinding enver-edge-server \
  --clusterrole=enver-edge-server --serviceaccount=default:enver-edge-server
kubectl create token enver-edge-server -n default --duration=87600h
kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}'

URL API, token a případně CA certifikát clusteru (PEM) zadejte v nastavení edge serveru. Nastavte také ingress class (výchozí nginx) a případně cert-manager ClusterIssuer, aby ingress hosty dostaly TLS certifikáty.

Každé prostředí dostane vlastní namespace, izolovaný od ostatních síťovou politikou (ingress controller se k němu dostane). Každá služba se stane Deploymentem se Service, volitelným Ingressem pro svůj ingress host a pull secrety z vašich přístupů k registry; počet replik se nastavuje u služby v prostředí.

Prostředí

V Prostředí → Nové prostředí nastavíte:

Začněte prázdným prostředím, nebo zvolte Duplikovat existující – zkopíruje se každá služba s tagem, nastavením, proměnnými a skupinami a začne zastavená. Pozdější změna typu nebo názvu běžící služby restartuje (názvy kontejnerů se odvozují od názvu prostředí).

Přidání služeb

Přidat servisu vybere službu z katalogu a nastaví pro toto prostředí její tag, index (pořadí spouštění), repliky, ingress host (Kubernetes), porty, volumes, proměnné a skupiny proměnných. Enver upozorní, když je vystavený port na stejném edge serveru už obsazený. Při úpravě služby v prostředí ji můžete i vypnout nebo přepsat její příkaz. Kopírovat do prostředí… zkopíruje jednu službu i s nastavením do jiného prostředí; odkazy @ se přesměrují na služby cílového prostředí.

Provoz služeb

Monitoring

Monitoring ukazuje pro každý edge server využití CPU, paměti, swapu a disku (s volným místem) a jeho dostupnost za posledních 24 hodin. Metriky se posílají každou minutu a uchovávají 7 dní.

Zálohy PostgreSQL

DB Backupy ukazují každou službu postgres ve vašich prostředích typu Docker. V Nastavení zálohování určíte adresář záloh na edge serveru, zapnete denní automatickou zálohu a kolik záloh uchovávat (starší se po každé nové záloze smažou). Zálohu můžete kdykoli vytvořit (Vytvořit zálohu), obnovit (Obnovit; aktuální data se nahradí 1:1) nebo smazat.

Zálohy vznikají přes pg_dump uvnitř kontejneru a ukládají se jen na edge serveru, nikdy v Enveru. Mějte kopii i jinde – záloha na stejném stroji nepřežije ztrátu jeho disku.

Notifikace

Enver vám může poslat push notifikaci do prohlížeče nebo telefonu, když služba začne běžet na novém imagi – jiném tagu nebo novém buildu pushnutém pod stejným tagem.

  1. V Nastavení uživatele → Notifikace klikněte na Zapnout na tomto zařízení (jednou pro každý prohlížeč nebo telefon) a případně omezte časové okno ve svém časovém pásmu. Notifikace mimo něj se zahodí.
  2. V detailu prostředí u služby zvolte Upozornit jednou nebo Upozornit při každé změně.

Notifikace jsou součástí balíčků PRO a Business nebo je lze koupit jako doplněk.

Tarify a fakturace

Tarif účtu najdete v Účet → Tarif a platby, vlastní fakturaci (ověření, další účty, všechna předplatná, která platíte) v Nastavení uživatele → Předplatné a platby. Ceny jsou v EUR za měsíc; roční platba je o 20 % levnější.

FREEFREE ověřenýPRO – 10 €Business – 80 €
Prostředí12622
Služby510neomezeněneomezeně
Edge servery12622
Uživatelé1515105
Notifikace––✓✓

Doplňky zvyšují jednotlivé limity: další prostředí 4 €, další edge server 3 €, další uživatel 1 €, neomezené služby 5 €, notifikace 2 € a další vlastní účet 5 € měsíčně. Pro větší potřeby si v aplikaci řekněte o Enterprise.

Když narazíte na limit, Enver místo chyby ukáže, co navýšit. Úplné podmínky jsou v obchodních podmínkách.

Údržba a zpětná vazba

Plánovanou údržbu Enver ohlásí pod záhlavím nejméně 2 hodiny předem. Během ní aplikace ukáže stránku údržby a po jejím konci se sama znovu načte; vaše prostředí běží dál. Našli jste chybu nebo máte nápad? Použijte Poslat feedback v záhlaví – každá zpráva jde přímo týmu Enveru.