Přejít na hlavní obsah
Sleva 50% všechny plány, omezený čas. Od $2.48/mo
14 min left
Vývojářské nástroje a DevOps

Nastavení monitorovacího stacku Grafana + Prometheus na vašem VPS (průvodce Docker Compose)

C Autor: Chike 14 min čtení
Prometheus and Grafana monitoring stack illustration: a central dashboard panel showing Prometheus and Grafana logos over metric graphs, with three server nodes feeding metrics into it

Pokud si nejste jistí, co vlastně Prometheus a Grafana jsou, přečtěte si náš článek o Prometheus vs Grafana. Pokud rozdíl už znáte, tady je návod, jak je provozovat společně.

Tento článek je praktickým doplňkem. Nasazuje Prometheus, Grafanu a Node Exporter na jediný VPS pomocí Docker Compose, staví před Grafanu HTTPS přes Caddy, importuje dashboard Node Exporter Full (ID 1860) a ukazuje, jak sbírat metriky z druhého VPS přes WireGuard.

Původní test z dubna 2026 běžel na Ubuntu 24.04 LTS s Docker Engine 27.x a Docker Compose v2.30. Verze zafixované v konfiguraci níže byly mezitím aktualizovány na aktuálně podporovaná vydání. V onom původním testu s pěti hosty spotřeboval hub zhruba 300 MB RAM v nečinnosti a 530 až 650 MB při průběžném sběru metrik.

Stručně

  • Hub VPS provozuje Prometheus, Grafanu a Node Exporter v jednom Compose stacku, přičemž Caddy je nainstalovaný přímo na hostiteli jako reverzní proxy.
  • Prometheus a Grafana naslouchají pouze na 127.0.0.1. Veřejný přístup vede přes Caddy s automatickým HTTPS.
  • Další servery přidáte tak, že na každý nainstalujete Node Exporter a doplníte záznamy do prometheus.yml.
  • WireGuard je doporučená síťová cesta mezi hubem a uzly. Privátní síť funguje dobře, pokud vaše servery už sdílejí privátní síť.
  • Pro test s pěti hosty níže stačil VPS s 2 GB, berte to ale jako výchozí referenci, ne jako pevné pravidlo podle počtu hostů.

Co budete stavět

Diagram of monitoring traffic boundaries: ports 80 and 443 are public, Grafana on 3000, Prometheus on 9090 and Node Exporter on 9100 stay on loopback, and a remote Node Exporter on 10.10.0.2:9100 is reachable only over the private network

Takto bude sestava zhruba vypadat, až budete hotoví.

                 +-------------------+
                 |  Your laptop      |
                 +---------+---------+
                           | HTTPS
                           v
+--------------------------+----------------------------+
| MONITORING HUB VPS    (2 GB RAM starting point) |
|  Caddy        (reverse proxy, auto HTTPS)             |
|  Grafana      (port 3000, only via Caddy)             |
|  Prometheus   (port 9090, internal only)              |
|  Node Exporter (port 9100, scraped on localhost)      |
+----+---------------------------------+----------------+
     |                                 |
     | scrape over WireGuard           | scrape over WG
     v                                 v
+----+--------+                  +-----+-------+
|  App VPS 1  |                  |  App VPS 2  |
|  Node Expo. |                  |  Node Expo. |
+-------------+                  +-------------+

Celý monitorovací stack drží jediný hub VPS. Na každém dalším VPS, který chcete sledovat, běží jen Node Exporter. Prometheus na hubu si z každého stahuje metriky, Grafana je vykresluje a Caddy se stará o HTTPS.

Co budete potřebovat

Přesně pro tuto sestavu potřebujete jeden VPS s Ubuntu jako hub, doménu a přístup přes sudo.

  • VPS s alespoň 2 GB RAM a systémem Ubuntu 24.04 LTS.
  • Doménové jméno s A záznamem směřujícím na veřejnou IP adresu VPS (například grafana.example.com). Pro HTTPS je nezbytné.
  • Přístup root nebo sudo přes SSH.

V celém návodu nahrazujte grafana.example.com subdoménou, kterou jste skutečně nasměrovali na svůj monitorovací VPS. Stejnou doménu použijte v proměnné prostředí Grafany, při kontrole DNS i v Caddyfile.

Pokud chcete sledovat jen jeden server a HTTPS zatím nepotřebujete, můžete Compose stack spustit na svém stávajícím VPS bez části o reverzní proxy. Zbytek návodu platí i tak.

Nasadit Ubuntu VPS

Spusťte Ubuntu VPS okamžitě s root přístupem a NVMe úložištěm.

Nasadit Ubuntu VPS

Krok 1: Příprava serveru

Přihlaste se přes SSH na hub VPS uživatelem s právy sudo. Nejdřív spusťte aktualizaci systému.

sudo apt update && sudo apt upgrade -y

Nainstalujte Docker Engine a plugin Compose z oficiálního repozitáře Dockeru.

# Install prerequisites
sudo apt install -y ca-certificates curl gnupg lsb-release

# Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the Docker repository
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ověřte, že jsou obě nainstalované.

docker --version
docker compose version

Oba příkazy by měly bez chyby vypsat verzi. Konkrétní verze Docker Engine a Compose závisí na tom, co oficiální repozitář nabízí v době instalace.

sudo usermod -aG docker $USER

Než budete pokračovat, odhlaste se a přihlaste znovu, aby se nové členství ve skupině projevilo. Skupina docker fakticky uděluje oprávnění na úrovni roota, přidávejte do ní tedy jen důvěryhodné administrátory.

Nastavte UFW tak, aby na monitorovacím hubu povolil SSH, HTTP a HTTPS. Port 80 obstarává přesměrování z HTTP na HTTPS a ověření ACME. Samotná Grafana zůstává za Caddy.

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

Neotevírejte porty 3000, 9090 ani 9100 do veřejného internetu. Monitorovací služby naslouchají na 127.0.0.1 z dobrého důvodu.

Krok 2: Compose stack

Vytvořte adresář pro stack a konfiguraci Prometheu.

mkdir -p ~/monitoring/prometheus
cd ~/monitoring

Napište soubor Compose.

# ~/monitoring/docker-compose.yml
services:
  prometheus:
    image: prom/prometheus:v3.13.2
    container_name: prometheus
    restart: unless-stopped
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--storage.tsdb.retention.time=15d'
      - '--web.enable-lifecycle'
      - '--web.listen-address=127.0.0.1:9090'
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
      - prometheus_data:/prometheus
    network_mode: host
  node-exporter:
    image: prom/node-exporter:v1.12.1
    container_name: node-exporter
    restart: unless-stopped
    pid: host
    network_mode: host
    command:
      - '--path.rootfs=/host'
      - '--web.listen-address=127.0.0.1:9100'
      - '--collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($$|/)'
    volumes:
      - '/:/host:ro,rslave'
  grafana:
    image: grafana/grafana:13.1.3
    container_name: grafana
    restart: unless-stopped
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
      - GF_USERS_ALLOW_SIGN_UP=false
      - GF_SERVER_ROOT_URL=https://grafana.example.com
      - GF_SERVER_HTTP_ADDR=127.0.0.1
    volumes:
      - grafana_data:/var/lib/grafana
    network_mode: host
    depends_on:
      - prometheus
volumes:
  prometheus_data:
  grafana_data:

Nyní napište konfiguraci Prometheu.

# ~/monitoring/prometheus/prometheus.yml
global:
  scrape_interval: 15s
  evaluation_interval: 15s
  external_labels:
    monitor: 'monitoring-hub'
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['127.0.0.1:9090']
  - job_name: 'node'
    static_configs:
      - targets: ['127.0.0.1:9100']
        labels:
          host: 'monitoring-hub'

Vytvořte soubor .env s heslem administrátora Grafany. Použijte silné heslo a tento soubor necommitujte do gitu.

cat > ~/monitoring/.env <<'EOF'
GRAFANA_ADMIN_PASSWORD='replace-with-a-strong-password'
EOF
chmod 600 ~/monitoring/.env

Několik voleb výše si zaslouží krátké vysvětlení.

  • --web.listen-address=127.0.0.1:9090 přiměje Prometheus naslouchat jen na loopback rozhraní hostitele. Port 9090 tak zůstane mimo veřejnou síť, ale Grafana i lokální správa se k němu dostanou.
  • --web.enable-lifecycle zapíná POST /-/reload, takže můžete změny konfigurace Prometheu použít bez restartu kontejneru.
  • pid: host, network_mode: host, bind mount kořene hostitele a --path.rootfs=/host dávají Node Exporteru v kontejneru potřebný kontext hostitele místo toho, aby sledoval jen vlastní kontejnerové prostředí.
  • GF_USERS_ALLOW_SIGN_UP=false brání návštěvníkům vytvořit si vlastní účet v Grafaně. Grafanu to ale nedělá privátní: přihlašovací stránka je přes Caddy stále veřejně dostupná.

Tip: Pokud se chcete ruční instalaci vyhnout, Cloudzy nabízí nasazení na jedno kliknutí pro Grafana a Prometheus . Nasazení Prometheu umí nainstalovat i Node Exporter.

Krok 3: První spuštění a ověření

Spusťte stack.

cd ~/monitoring
docker compose up -d

Počkejte pár sekund a pak zkontrolujte, že běží všechny tři kontejnery.

docker compose ps

Všechny tři služby by měly hlásit stav running.

Otevřete si z notebooku SSH tunel a zkontrolujte stránku s cíli Prometheu.

ssh -L 9090:localhost:9090 your-user@your-vps-ip

Poté v prohlížeči otevřete http://localhost:9090/targets. Měli byste vidět dva cíle, oba ve stavu UP:

prometheus            UP    http://127.0.0.1:9090/metrics
node                  UP    http://127.0.0.1:9100/metrics

Pokud je některý DOWN, přejděte na sekci Časté problémy. Nepokračujte, dokud nejsou oba UP.

Až cíle zkontrolujete, tunel zavřete. Zvenčí zůstane Prometheus dostupný jen přes tento SSH tunel. Další krok zpřístupní Grafanu přes HTTPS.

Krok 4: Reverzní proxy s HTTPS pomocí Caddy

Caddy je jediná binárka a HTTPS řeší automaticky. Pro reverzní proxy s jedním webem je jeho konfigurace kratší než odpovídající blok v Nginxu.

Nainstalujte Caddy z oficiálního repozitáře.

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \
  sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
  sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy

Před dalším krokem ověřte, že DNS A záznam pro grafana.example.com míří na veřejnou IP adresu VPS. Bez toho ověření ACME selže.

dig +short grafana.example.com
# Should print the VPS public IP

Upravte Caddyfile.

# /etc/caddy/Caddyfile
grafana.example.com {
    reverse_proxy 127.0.0.1:3000
    encode gzip
}

Znovu načtěte Caddy.

sudo systemctl reload caddy

Jakmile doména míří na váš server a porty 80 a 443 jsou dostupné, Caddy si přes ACME automaticky obstará a obnovuje veřejně důvěryhodné TLS certifikáty. Otevřete v prohlížeči https://grafana.example.com: měli byste vidět přihlašovací stránku Grafany přes platné HTTPS spojení. Přihlaste se jako admin heslem ze souboru .env.

Krok 5: Přidejte Prometheus jako zdroj dat a naimportujte dashboard 1860

V rozhraní Grafany přejděte na Připojení > Zdroje dat > Přidat zdroj dat a zvolte Prometheus.

Nastavte URL na:

http://127.0.0.1:9090

V této sestavě sdílejí Grafana a Prometheus síť hostitele, přičemž Prometheus naslouchá jen na loopbacku. Klikněte na Save & test a ověřte, že Grafana dokáže dotazovat Prometheus API. Měla by se objevit hláška „Successfully queried the Prometheus API".

Teď naimportujte dashboard. Node Exporter Full (ID 1860 od rfmoz) je hojně používaný komunitní dashboard pro metriky Node Exporteru. Pokrývá CPU, paměť, diskové I/O, síť, souborové deskriptory a teploty hardwaru, pokud je hostitel vystavuje. Obsahuje také proměnné job a instance, takže v režimu hub-and-spoke funguje bez úprav.

Jdi na Dashboardy > Nový > Importovat dashboard, zadejte ID dashboardu 1860, vyberte svůj zdroj dat Prometheus a naimportujte jej.

Dashboard by se měl naplnit, jakmile je váš Node Exporter cíl ve stavu UP. Dashboard 1860 navíc u některých panelů využívá metriky z volitelných kolektorů systemd a processes, takže jeden prázdný panel ještě neznamená, že je cíl rozbitý.

Krok 6: Přidejte druhý VPS (hub-and-spoke)

Než Node Exporter spustíte, ujistěte se, že privátní IP adresa, na kterou ho chcete navázat, na druhém VPS už existuje. Pokud používáte WireGuard, dokončete nejdřív jeho nastavení.

Na druhém VPS nainstalujte Docker podle části o instalaci Dockeru z kroku 1, ale neotevírejte porty 80 ani 443 jen kvůli monitoringu. Pak spusťte samotný Node Exporter.

mkdir -p ~/node-exporter
cd ~/node-exporter

cat > docker-compose.yml <<'EOF'
services:
  node-exporter:
    image: prom/node-exporter:v1.12.1
    container_name: node-exporter
    restart: unless-stopped
    pid: host
    command:
      - '--path.rootfs=/host'
      - '--web.listen-address=10.10.0.2:9100'  # bind to the private monitoring IP, never 0.0.0.0
    volumes:
      - '/:/host:ro,rslave'
    network_mode: host
EOF

docker compose up -d

Nahraďte 10.10.0.2 privátní monitorovací IP adresou tohoto serveru. Používáte-li WireGuard, použijte jeho WireGuard IP; při privátní síti Cloudzy použijte IP privátního rozhraní VPS. Pokud je na tomto VPS už aktivní UFW, povolte přístup k Node Exporteru jen monitorovacímu hubu. Například když je privátní IP hubu 10.10.0.1:

sudo ufw allow proto tcp from 10.10.0.1 to any port 9100
sudo ufw status

Nahraďte 10.10.0.1 skutečnou privátní IP adresou hubu. Pokud je UFW vypnutý, explicitní --web.listen-address sice drží Node Exporter mimo veřejné rozhraní, ale ostatní stroje, které se do té privátní sítě dostanou, se mohou dostat i na port 9100.

Dvě dobré varianty síťové cesty mezi hubem a uzly:

  1. Síť WireGuard. Každý VPS se připojí do sítě WireGuard a Prometheus sbírá metriky z privátních IP adres. Po počátečním nastavení WireGuardu je to nejbezpečnější varianta. Nabízíme WireGuard jako nasazení na jedno kliknutí a máme také existující návod na nastavení k němu.
  2. Privátní síť Cloudzy. Instance VPS od Cloudzy ve stejném regionu dostávají privátní rozhraní pro provoz mezi servery, takže můžete sbírat metriky rovnou z této adresy místo stavění samostatného WireGuard tunelu.

Jakmile Node Exporter na druhém VPS běží a je dostupný na své privátní IP, nahraďte stávající job node v souboru prometheus.yml na hubu blokem uvedeným níže.

# Update the existing 'node' job in ~/monitoring/prometheus/prometheus.yml
  - job_name: 'node'
    static_configs:
      - targets: ['127.0.0.1:9100']
        labels:
          host: 'monitoring-hub'
      - targets: ['10.10.0.2:9100']
        labels:
          host: 'app-vps-1'
          tier: 'production'

Znovu načtěte Prometheus bez restartu kontejneru.

curl -X POST http://localhost:9090/-/reload

Znovu otevřete SSH tunel z kroku 3 a přejděte na http://localhost:9090/targets. Nový cíl by se měl objevit jako UP. Otevřete dashboard Node Exporter Full, přepněte proměnnou instance nahoře na nový server a měly by se ukázat jeho grafy.

Spotřeba zdrojů a kdy navýšit výkon

Observed five-host baseline from the April 2026 test: Prometheus 250 to 350 MB, Grafana 200 MB, Caddy 40 MB, hub Node Exporter 15 to 20 MB, total hub 530 to 650 MB RAM on a 2 GB VPS with a 1.5 GB fifteen-day working set

Tato čísla pocházejí z původního testu z dubna 2026 na VPS s Ubuntu a 2 GB paměti při pěti sledovaných hostech. Berte je jako referenci pro tuto zátěž, ne jako pevnou záruku dimenzování pro novější vydání.

SoučástRAM v kliduRAM při provozu (1 host)RAM při 5 hostechDisk (retence 15 dní, 5 hostů)
Prometheus~100 MB~150 MB~250-350 MB~500 MB až 1,5 GB
Grafana~150 MB~180 MB~200 MB~50 MB
Node Exporter~15 MB~20 MBnerelevantnízanedbatelné
Caddy~30 MB~40 MB~40 MBnerelevantní
Hub celkem~300 MB~390 MB~530-650 MB~1,5 GB pracovní sady

Navyšte výkon, jakmile hubu začne docházet paměť nebo místo na disku. Samotný počet hostů je špatné vodítko pro dimenzování, protože spotřebu mění kardinalita řad, zapnuté kolektory, interval sběru i doba retence. Pro dlouhodobější centrální úložiště podporuje Prometheus integrace se vzdálenými úložišti. VictoriaMetrics je jednou z variant kompatibilních s Prometheem.

Časté problémy

Sedm nejčastějších problémů i s řešením.

  1. Prometheus je dostupný z veřejného internetu. Prosté mapování portu 9090:9090 vystaví Prometheus celému světu. Řešení: ponechte --web.listen-address=127.0.0.1:9090 v příkazu Prometheu tak, jak je uvedeno výše. Prometheus pak naslouchá jen na loopback rozhraní hostitele.
  2. Zdroj dat v Grafaně se nedostane na Prometheus. Tento stack používá síť hostitele, takže Grafana se na Prometheus dostane na http://127.0.0.1:9090. Ověřte, že Prometheus běží a stále naslouchá na loopbacku.
  3. Dashboard Node Exporteru ukazuje „No data". Tři obvyklé příčiny. (a) Prometheus cíl nesbírá. Zkontrolujte /targets. (b) Popisek job v proměnné dashboardu neodpovídá job_name ve scrape konfiguraci. (c) Firewall blokuje port 9100 mezi hubem a cílem.
  4. Heslo administrátora Grafany je pořád admin/admin i v produkci. Nastavit GF_SECURITY_ADMIN_PASSWORD ze souboru .env ještě před prvním spuštěním. Pokud jste to zmeškali, změňte heslo při prvním přihlášení a vypněte registrace.
  5. Caddy hlásí „ACME challenge failed". DNS A záznam se ještě nerozšířil, nebo je blokovaný port 80. Spusťte ufw allow 80,443/tcp, počkejte na DNS a spusťte sudo systemctl reload caddy. Použijte dig +short k ověření propagace.
  6. Disk Prometheu se plní. Popisky s vysokou kardinalitou nebo krátké intervaly sběru u mnoha hostů dokážou svazek rychle zaplnit. Sledujte prometheus_tsdb_head_series a velikost svazku. Řešení: vypněte nepoužívané kolektory Node Exporteru, prodlužte scrape_interval na 30s nebo zkraťte retenci.
  7. Chyby oprávnění u bind mountů. Pokud připojíte adresář hostitele místo pojmenovaného svazku, potřebuje UID kontejneru (65534 pro Prometheus, 472 pro Grafanu) právo zápisu. Pojmenované svazky, jako v Compose souboru výše, se tomuhle vyhnou.

Kdy je tento stack zbytečně velký

Pokud chcete jen upozornění, když URL přestane odpovídat, je tento stack zbytečně velký. Uptime Kuma je mnohem lehčí volba, pokud vám stačí základní kontroly dostupnosti.

Časté dotazy

Jaký je rozdíl mezi Prometheem a Grafanou?

Prometheus je databáze časových řad: v intervalu, který nastavíte, sbírá metriky z nakonfigurovaných cílů, ukládá je na disk a odpovídá na dotazy v PromQL. Grafana je vizualizační vrstva, která se připojí k Prometheu (a k mnoha dalším zdrojům dat) a vykresluje dashboardy. Téměř vždy chcete obojí: Prometheus pro sběr a ukládání, Grafanu pro zobrazení.

Kolik RAM potřebuje sestava Prometheus + Grafana?

Monitorovací hub, na kterém na jednom VPS běží Prometheus, Grafana, Node Exporter a reverzní proxy, spotřebuje zhruba 300 MB RAM v nečinnosti a 530 až 650 MB, když aktivně sbírá z pěti hostů v patnáctisekundovém intervalu.

Můžu sledovat víc serverů jednou instancí Grafany?

Ano. Standardní vzor je hub-and-spoke. Jediná instance Prometheu na hub VPS sbírá metriky z Node Exporteru běžícího na každém dalším serveru, který chcete sledovat. Grafana na hubu se dotazuje jen tohoto jednoho Prometheu. Dashboard Node Exporter Full (ID 1860) nabízí proměnnou instance, takže mezi servery přepínáte z jednoho dashboardu.

Který dashboard v Grafaně je pro Node Exporter nejlepší?

Pro tuto sestavu je Node Exporter Full (dashboard ID 1860 od rfmoz) velmi dobrá výchozí volba. Pokrývá hlavní hostitelské metriky Node Exporteru a podporuje proměnné job a instance pro sledování více serverů. Některé panely závisejí na volitelných kolektorech Node Exporteru, takže jeden prázdný panel neznamená, že je cíl sběru rozbitý.

Jak zpřístupnit Grafanu přes HTTPS?

Spusťte Grafanu navázanou na 127.0.0.1:3000 a před ni postavte reverzní proxy, která se postará o HTTPS. Nejjednodušší je Caddy: čtyřřádkový Caddyfile s reverse_proxy 127.0.0.1:3000 a blokem domény zvládne všechno včetně automatické správy TLS certifikátů.

Jsou Prometheus + Grafana zdarma pro komerční použití?

Prometheus je licencován pod Apache 2.0. Grafana OSS je pod AGPLv3. Interní i komerční použití neupravené Grafana OSS je povolené, ale její úprava, distribuce nebo poskytování upravené verze po síti může podle AGPL založit povinnost sdílet zdrojový kód. Grafana Enterprise a Grafana Cloud mají samostatné komerční podmínky.

Kdy přejít z Prometheu na VictoriaMetrics?

O VictoriaMetrics uvažujte ve chvíli, kdy delší retence, vysoká kardinalita řad nebo více instancí Prometheu ztěžují provoz lokální TSDB Prometheu v rámci paměťového a diskového rozpočtu vašeho serveru. VictoriaMetrics umí přijímat data z Prometheu a vystavuje dotazovací API kompatibilní s Prometheem, takže může sloužit jako dlouhodobé úložiště nebo jako metrikový backend pro Grafanu. Otestujte ji na vlastní zátěži místo přechodu při pevné hranici RAM.

Sdílet

Další z blogu

Pokračuj ve čtení.

Hotov k nasazení? Od 2,48 $/měs.

Nezávislý cloud od roku 2008. AMD EPYC, NVMe, 40 Gbps. Vrácení peněz do 14 dnů.