diff --git a/README.md b/README.md index 232e7ce..e50eaad 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,11 @@ Docker Compose šablony pro **14 self-hosted služeb**. Toto jsou **přesné kopie** `docker-compose.yml` souborů z běžícího serveru. -> **Jsi začátečník?** Čti od [Začínáme](#zaciname) – vše krok za krokem. +> **Jsi začátečník?** Čti od [Začínáme](#zaciname) - vše krok za krokem. --- -## 📦 Služby (14) +## Služby (14) | Služba | Port | Image | Účel | |---|---|---|---| @@ -24,11 +24,11 @@ Toto jsou **přesné kopie** `docker-compose.yml` souborů z běžícího server | **rustdesk** | 21115-21119 | rustdesk/rustdesk-server | Remote desktop | | **speedtest** | 8072 | linuxserver/speedtest-tracker | Speed test tracker | | **vaultwarden** | 2999 | vaultwarden/server | Hesla | -| **watchtower** | – | containrrr/watchtower | Auto-update kontejnerů | +| **watchtower** | - | containrrr/watchtower | Auto-update kontejnerů | --- -## 🚀 Začínáme +## Začínáme ### Krok 1: Naklonuj repo @@ -54,13 +54,13 @@ To je vše! Služba se stáhne, nastartuje a běží. ### Krok 4: Ověř ```bash -docker compose ps # status -docker compose logs -f # logy +docker compose ps # status +docker compose logs -f # logy ``` --- -## 📚 Detail ke každé službě +## Detail ke každé službě ### audiobookshelf (`13378`) @@ -208,25 +208,25 @@ docker compose up -d --- -## 🏗 Struktura +## Struktura ``` mates-docker-services/ -├── README.md # Tento soubor -├── LICENSE # MIT -├── audiobookshelf/ -│ ├── docker-compose.yml # Compose soubor -│ └── README.md # Detailní návod -├── calibre-web/ -│ ├── docker-compose.yml -│ └── README.md -├── ... (12 dalsich sluzeb) -└── (kazda sluzba ma docker-compose.yml + README.md) ++-- README.md # Tento soubor ++-- LICENSE # MIT ++-- audiobookshelf/ +| +-- docker-compose.yml # Compose soubor +| +-- README.md # Detailní návod ++-- calibre-web/ +| +-- docker-compose.yml +| +-- README.md ++-- ... (12 dalsich sluzeb) ++-- (kazda sluzba ma docker-compose.yml + README.md) ``` --- -## 🔧 Správa služeb +## Správa služeb ### Update jedné služby @@ -240,10 +240,10 @@ docker compose up -d ```bash for d in */; do - cd "$d" - docker compose pull - docker compose up -d - cd .. + cd "$d" + docker compose pull + docker compose up -d + cd .. done ``` @@ -269,22 +269,22 @@ docker compose logs -f --tail=100 ### Smazat (data jsou v ./data/) ```bash -docker compose down -v # POZOR: smaze i volumes +docker compose down -v # POZOR: smaze i volumes ``` --- -## 🔐 Bezpečnost +## Bezpečnost -- ✅ **Žádné hesla v `docker-compose.yml`** – vše v `.env` -- ✅ **Restart policy `unless-stopped`** – kontejner se nespustí po rebootu -- ✅ **Health checks** – monitoring přes Portainer -- ✅ **Log rotation** – max 10 MB × 3 soubory -- ✅ **Bridge networks** – izolace mezi službami +- **Žádné hesla v `docker-compose.yml`** - vše v `.env` +- **Restart policy `unless-stopped`** - kontejner se nespustí po rebootu +- **Health checks** - monitoring přes Portainer +- **Log rotation** - max 10 MB × 3 soubory +- **Bridge networks** - izolace mezi službami --- -## 📚 Související +## Související - **Jotty:** knowledge base (detailní návody pro každou službu) - **mates-ansible:** automatické nasazení přes Ansible diff --git a/nginx-proxy-manager/README.md b/nginx-proxy-manager/README.md index dba7288..b21391e 100644 --- a/nginx-proxy-manager/README.md +++ b/nginx-proxy-manager/README.md @@ -7,7 +7,7 @@ Toto je **přesná kopie** `docker-compose.yml` z běžícího serveru `/home/ma --- -## 📋 Přehled +## Přehled - **Image:** `jc21/nginx-proxy-manager:latest` + `mariadb:latest` - **Porty:** `80` (HTTP), `443` (HTTPS), `81` (admin UI) @@ -24,7 +24,7 @@ cd nginx-proxy-manager # Vytvor .env z prikladu cp .env.example .env -nano .env # nastav hesla pro MariaDB +nano .env # nastav hesla pro MariaDB ``` ### 2. Vytvoření volume adresářů (pokud neexistují) @@ -34,9 +34,9 @@ mkdir -p data letsencrypt mysql ``` Tyto složky obsahují: -- `data/` – NPM konfigurace, certifikáty, logy -- `letsencrypt/` – Let's Encrypt certifikáty -- `mysql/` – MariaDB data +- `data/` - NPM konfigurace, certifikáty, logy +- `letsencrypt/` - Let's Encrypt certifikáty +- `mysql/` - MariaDB data ### 3. Spuštění @@ -60,29 +60,29 @@ Otevři `http://:81` v prohlížeči. ### SSL certifikát (Let's Encrypt) -1. V NPM UI jdi na **Proxy Hosts → Add Proxy Host** +1. V NPM UI jdi na **Proxy Hosts -> Add Proxy Host** 2. **Domain Names:** `app.example.com` 3. **Scheme:** `http` 4. **Forward Hostname/IP:** `` nebo `container_name` 5. **Forward Port:** port služby (např. 8080) -6. **Block Common Exploits:** ✅ +6. **Block Common Exploits:** 7. Ulož 8. Otevři záložku **SSL**: - - **Request a new SSL Certificate** - - **Force SSL** ✅ - - **HTTP/2** ✅ - - **HSTS Enabled** ✅ - - Zadej email pro Let's Encrypt notifikace - - Potvrď podmínky Let's Encrypt + - **Request a new SSL Certificate** + - **Force SSL** + - **HTTP/2** + - **HSTS Enabled** + - Zadej email pro Let's Encrypt notifikace + - Potvrď podmínky Let's Encrypt 9. **Save** ### Bezpečnost -- ✅ **HTTPS** terminuje NPM (Let's Encrypt auto-renew) -- ✅ **Force SSL** přesměruje HTTP → HTTPS -- ✅ **Block Common Exploits** chrání před známými útoky -- ✅ **HSTS** říká prohlížečům "vždy HTTPS" -- ✅ **Admin UI na portu 81** – přístupný jen z vnitřní sítě (nebo za VPN) +- **HTTPS** terminuje NPM (Let's Encrypt auto-renew) +- **Force SSL** přesměruje HTTP -> HTTPS +- **Block Common Exploits** chrání před známými útoky +- **HSTS** říká prohlížečům "vždy HTTPS" +- **Admin UI na portu 81** - přístupný jen z vnitřní sítě (nebo za VPN) ### Volumes @@ -128,7 +128,7 @@ docker compose logs -f ```bash # data + letsencrypt + mysql tar -czf npm-backup-$(date +%Y%m%d).tar.gz \ - data/ letsencrypt/ mysql/ + data/ letsencrypt/ mysql/ ``` ### Obnova @@ -140,55 +140,55 @@ docker compose up -d --- -## 🔗 Reverzní proxy pro ostatní služby +## Reverzní proxy pro ostatní služby -Příklad konfigurace pro `jotty.example.com → jotty:3000`: +Příklad konfigurace pro `jotty.example.com -> jotty:3000`: -1. **Proxy Hosts → Add Proxy Host** +1. **Proxy Hosts -> Add Proxy Host** 2. **Domain Names:** `jotty.example.com` 3. **Scheme:** `http` 4. **Forward Hostname/IP:** `jotty` (container name) 5. **Forward Port:** `3000` -6. **Cache Assets:** ✅ -7. **Block Common Exploits:** ✅ +6. **Cache Assets:** +7. **Block Common Exploits:** 8. SSL: Let's Encrypt (viz výše) -**Stejný postup** pro všechny ostatní služby (portainer, gitea, vaultwarden, …). +**Stejný postup** pro všechny ostatní služby (portainer, gitea, vaultwarden, ...). --- -## 🔐 Bezpečnostní poznámky +## Bezpečnostní poznámky - **Admin heslo** změnit hned po instalaci -- **Port 81** – nedávej do internetu (firewall nebo VPN) -- **Let's Encrypt** – nastavit SPF/DKIM záznamy pro email notifikace +- **Port 81** - nedávej do internetu (firewall nebo VPN) +- **Let's Encrypt** - nastavit SPF/DKIM záznamy pro email notifikace - **Logy** sledovat na neobvyklé dotazy (404, brute-force) --- -## 📁 Struktura +## Struktura ``` nginx-proxy-manager/ -├── README.md # Tento soubor -├── .env.example # Šablona pro .env -├── docker-compose.yml # Compose (1:1 kopie z RPi) -├── data/ # NPM data (po spuštění) -├── letsencrypt/ # Certifikáty (po spuštění) -└── mysql/ # MariaDB data (po spuštění) ++-- README.md # Tento soubor ++-- .env.example # Šablona pro .env ++-- docker-compose.yml # Compose (1:1 kopie z RPi) ++-- data/ # NPM data (po spuštění) ++-- letsencrypt/ # Certifikáty (po spuštění) ++-- mysql/ # MariaDB data (po spuštění) ``` --- -## 🔗 Související +## Související - **Jotty:** Nginx Proxy Manager (detailní návod s SSL konfigurací) -- **Jotty:** Docker + Portainer + NPM – skript (rychlá instalace všeho dohromady) +- **Jotty:** Docker + Portainer + NPM - skript (rychlá instalace všeho dohromady) - **Jotty:** Firewall (porty 80, 443, 81 musí být otevřené) -## 📜 Licence +## Licence -MIT – stejně jako celé `mates-docker-services` repo. +MIT - stejně jako celé `mates-docker-services` repo. ---