# 📦 Docker Services > Generické `docker-compose.yml` šablony pro self-hosted služby. > Každá služba má **vlastní složku**, `.env.example` (šablona) a **README** s dokumentací. ## 🎯 Jak použít ```bash # 1. Vyber službu cd services/ # 2. Vytvoř .env z šablony cp .env.example .env nano .env # nastav POUZE potřebné hodnoty (hesla, cesty) # 3. Nasaď docker compose up -d # 4. Ověř docker compose ps docker compose logs -f ``` ## 📚 Rejstřík služeb | Služba | Účel | Port | Image | |---|---|---|---| | [`portainer`](portainer/) | Docker UI management | `9000`, `9443` | `portainer/portainer-ce` | | [`nginx-proxy-manager`](nginx-proxy-manager/) | Reverse proxy + HTTPS | `80`, `443`, `81` | `jc21/nginx-proxy-manager` | | [`vaultwarden`](vaultwarden/) | Správce hesel | `2999` | `vaultwarden/server` | | [`nextcloud-aio`](nextcloud-aio/) | Cloud (soubory, kalendář) | `11000` | `nextcloud/all-in-one` | | [`gitea`](gitea/) | Git server | `3000`, `222` | `gitea/gitea` | | [`jotty`](jotty/) | Poznámky & checklisty | `1122` | `mrx23dotcom/jotty` | | [`rustdesk`](rustdesk/) | Remote desktop | `21115-21119` | `rustdesk/rustdesk-server` | | [`audiobookshelf`](audiobookshelf/) | Audio knihovna | `13378` | `advplyr/audiobookshelf` | | [`calibre-web`](calibre-web/) | E-knihovna | `8083` | `linuxserver/calibre-web` | | [`plex`](plex/) | Media server | `32400` | `linuxserver/plex` | | [`erugo`](erugo/) | File sharing | `61080` | `wardy784/erugo` | | [`jswiki`](jswiki/) | Wiki | `9180` | `linuxserver/wikijs` | | [`speedtest`](speedtest/) | Speedtest tracker | `8072` | `linuxserver/speedtest-tracker` | | [`watchtower`](watchtower/) | Auto-update kontejnerů | – | `containrrr/watchtower` | ## 🧱 Společné konvence Všechny compose soubory v tomto adresáři dodržují: - **Porty:** nikdy nepoužívat konfliktní porty s ostatními službami - **Volume:** `./data:/data` (host container, snadná záloha) - **Restart:** `unless-stopped` - **Network:** výchozí `bridge`, případně vlastní `*-net` - **User:** `1000:1000` pro souborový přístup - **Logging:** `json-file` driver, max 10 MB × 3 soubory - **TZ:** `Europe/Prague` - **Environment:** `.env` soubor (šablona `.env.example` v gitu) ## 🛡 Bezpečnost - ✅ **Žádná hesla v `docker-compose.yml`** – vše v `.env` (gitignored) - ✅ **Restart policy** zamezí nechtěnému spuštění po rebootu - ✅ **Networks** – izolované `bridge` pro každou službu - ✅ **Read-only filesystémy** kde to jde (`/etc/timezone`, `/etc/localtime`) ## 🗂 Struktura ``` docker-services/ ├── README.md # Tento soubor ├── portainer/ │ ├── docker-compose.yml │ ├── .env.example │ └── README.md ├── nginx-proxy-manager/ │ ├── docker-compose.yml │ ├── .env.example │ └── README.md └── ... (další služby) ``` ## 🔄 Aktualizace služeb ```bash # Pomocí Watchtower (auto-update) docker compose pull && docker compose up -d # Nebo ručně cd services/ docker compose pull docker compose up -d ``` ## 📦 Zálohování Všechna data jsou v `./data/` uvnitř každé služby. Zálohuj celé adresáře: ```bash # Pomocí našeho nástroje z install-scripts/ sudo bash install-scripts/backup-all.sh ```