# Local Docker Management - Traefik & Portainer Docker stack s reverse proxy (Traefik) a webovým rozhraním pro správu kontejnerů (Portainer). ## Požadavky - Docker & Docker Compose - Nastavené DNS záznamy nebo `/etc/hosts` ## Instalace ### 1. Konfigurace prostředí ```bash # Přejmenujte soubor .env.example na .env mv .env.example .env # Upravte .env soubor dle svých nastavení DEV_URL=dev.linuxak.com EXTERNAL_NETWORK=traefiknet ``` > **Poznámka:** > > Doménu `dev.linuxak.com` můžete ponechat, směřuje na `127.0.0.1` tedy na váš lokální počítač. Pokud chcete použít > jinou doménu, nezapomeňte ji přidat do vašeho `/etc/hosts` souboru a vygenerovat novou sadu certifikátů pro tuto doménu. ### 2. Import CA do systému Traefik používá vlastní certifikát pro HTTPS komunikaci. Pro správné fungování je potřeba importovat `rootCA.pem` do důvěryhodných certifikátů vašeho operačního systému. #### MacOS ```bash sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain traefik/certs/rootCA.pem ``` #### Linux (Ubuntu/Debian) ```bash sudo cp traefik/certs/rootCA.pem /usr/local/share/ca-certificates/linuxak-dev-ca.crt sudo update-ca-certificates ``` #### Linux (CentOS/RHEL/Fedora) ```bash sudo cp traefik/certs/rootCA.pem /etc/pki/ca-trust/source/anchors/linuxak-dev-ca.crt sudo update-ca-trust ``` #### Windows (PowerShell jako Admin) ```bash Import-Certificate -FilePath "traefik/certs/rootCA.pem" -CertStoreLocation Cert:\LocalMachine\Root ``` ### 3. Spuštění ```bash ./run up # Spustit stack ./run restart # Restartovat stack ./run down # Zastavit stack ``` ## Přístup ke službám | Služba | URL | |--------|-----------------------------------| | Traefik Dashboard | https://traefik.dev.linuxak.com | | Portainer | https://portainer.dev.linuxak.com | ## Struktura ``` Stack/ ├── docker-compose.yml # Definice služeb ├── run # Skript pro správu ├── .env # Konfigurace prostředí ├── traefik/ # Traefik konfigurace, certifikáty a logy └── portainer/ # Portainer data ``` ## Persistence Složka `portainer` je persistentním úložištěm pro službu Portainer a všechna data této služby zůstanou uložená i po vypnutí stacku, dokud je ručně nesmažete. ## Připojení vaší služby do Traefiku Do vašeho `docker-compose.yml` přidejte Traefik labels: > Hodnotu `` nahraďte skutečnou doménou své služby. > Hodnotu `` nahraďte skutečným portem své služby. > Hodnotu `` nahraďte skutečným náyvem své externí sítě. ```yaml labels: - "traefik.enable=true" - "traefik.http.routers.myapp.rule=Host(`myapp.`)" - "traefik.http.routers.myapp.entrypoints=websecure" - "traefik.http.routers.myapp.tls=true" - "traefik.http.services.myapp.loadbalancer.server.port=" networks: - ```