Skip to main content

🏗️ Kompletní instalace Nginx Proxy Manageru (NPM) s Cloudflare certifikátem

Tento návod popisuje instalaci reverzní proxy na Raspberry Pi 5 s využitím 15letého SSL certifikátu přímo od Cloudflare.

1. Příprava systému (Terminál)

Nejdříve vytvoříme strukturu složek v /opt/ a nastavíme správná oprávnění, aby kontejner mohl zapisovat data.

sudo mkdir -p /opt/nginx-proxy-manager/data
sudo mkdir -p /opt/nginx-proxy-manager/letsencrypt
sudo chown -R $USER:$USER /opt/nginx-proxy-manager
sudo chmod -R 775 /opt/nginx-proxy-manager

2. Získání 15letého certifikátu (Cloudflare Dashboard)

Místo neustálého obnovování Let's Encrypt použijeme Origin Certifikát:

  1. V Cloudflare: SSL/TLS -> Origin Server -> Create Certificate.

  2. Nastavení ponechat (RSA 2048, 15 years).

  3. DŮLEŽITÉ: Zkopíruj si text Origin Certificate a Private Key. Budeš je vkládat do NPM.

3. Konfigurace Portainer Stack (YAML)

Vytvoř nový stack v Portaineru. Používáme SQLite pro jednoduchost a stabilitu.

version: "3.9"

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - '80:80'   # Povinné pro HTTP
      - '443:443' # Povinné pro HTTPS
      - '81:81'   # Webová administrace
    environment:
      - TZ=${TZ}
    volumes:
      - /opt/nginx-proxy-manager/data:/data
      - /opt/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
4. Nastavení Environment Variables (Portainer UI)

Pod YAML kódem přidej proměnnou:

Name Value
TZ Europe/Prague
5. Konfigurace SSL v rozhraní NPM
6. Nastavení v Cloudflare (Zabezpečení)

Aby vše fungovalo, musíš v Cloudflare v sekci SSL/TLS -> Overview přepnout režim na Full (strict). Tím zajistíš, že Cloudflare bude komunikovat s tvým RPi5 pouze skrze tento bezpečný certifikát.

Proč je tento postup nejlepší?