docs: kompletne prepsat README pro zacatecniky
- Strukturovany obsah (tabulky, seznamy) - Ceske popisy, vysvetleni co je co - Začínáme sekce (krok za krokem) - Detailni navody pro kazdy soubor/sluzba - Souvisejici repo + licence - Konzistentni format napric 6 repo
This commit is contained in:
@@ -1,26 +1,244 @@
|
|||||||
# mates-install-scripts
|
# mates-install-scripts
|
||||||
|
|
||||||
Bash skripty pro správu Dockeru.
|
Bash skripty pro správu Dockeru na Macu i Linuxu.
|
||||||
Jedná se o **přesné kopie** skriptů z `~/Skripty/docker-domov/`.
|
Jedná se o **přesné kopie** skriptů z tvého lokálního `~/Skripty/docker-domov/`.
|
||||||
|
|
||||||
## Skripty
|
> **Jsi začátečník?** Čti od [Začínáme](#zaciname) – vše je krok za krokem.
|
||||||
|
|
||||||
| Skript | Alias | Účel |
|
---
|
||||||
|
|
||||||
|
## 📦 Co tu je
|
||||||
|
|
||||||
|
| Skript | Alias | Co dělá |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `docker-update.sh` | `dk-update` | Aktualizace Docker Compose projektů |
|
| `docker-update.sh` | `dk-update` | Aktualizuje Docker Compose projekty (stáhne nové image, restartuje) |
|
||||||
| `docker-backup.sh` | `dk-backup` | Záloha projektů a named volumes |
|
| `docker-backup.sh` | `dk-backup` | Zálohuje Docker projekty a named volumes (na NAS) |
|
||||||
| `docker-cleanup.sh` | `dk-cleanup` | Čištění odpadu (s potvrzením) |
|
| `docker-cleanup.sh` | `dk-cleanup` | Čistí Docker odpad (dangling images, build cache, orphaned sítě) |
|
||||||
| `docker-restore.sh` | `dk-restore` | Obnova ze zálohy |
|
| `docker-restore.sh` | `dk-restore` | Obnovuje Docker projekty ze zálohy |
|
||||||
| `disk-watch.sh` | `dk-watch` | Sledování místa |
|
| `disk-watch.sh` | `dk-watch` | Sleduje volné místo na Docker datech |
|
||||||
| `mount-nas.sh` | – | Připojení NAS SMB share |
|
| `mount-nas.sh` | `dk-nas` | Připojí/odpojí NAS SMB share do `/Volumes/SSD-data/multimedia` |
|
||||||
| `update-macos.sh` | – | Aktualizace macOS |
|
| `update-macos.sh` | – | Aktualizace macOS přes Software Update |
|
||||||
|
|
||||||
Všechny skripty jsou **idempotentní**, mají `--help`, podporují **dry-run** a bez potvrzení nic destruktivního neprovádějí.
|
Všechny skripty jsou **idempotentní** (můžeš spustit víckrát), mají `--help`, podporují **dry-run** a bez potvrzení nic destruktivního neprovádějí.
|
||||||
|
|
||||||
## Detailní návod
|
---
|
||||||
|
|
||||||
Viz [README.md](README.md) – kompletní dokumentace aliasů a workflow.
|
## 🚀 Začínáme
|
||||||
|
|
||||||
## Licence
|
### Krok 1: Naklonuj repo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone http://<server-ip>:3000/mates/mates-install-scripts.git
|
||||||
|
cd mates-install-scripts
|
||||||
|
```
|
||||||
|
|
||||||
|
### Krok 2: Nastav aliasy
|
||||||
|
|
||||||
|
Přidej do `~/.config/fish/config.fish` (Fish) nebo `~/.zshrc` (Zsh):
|
||||||
|
|
||||||
|
**Fish:**
|
||||||
|
|
||||||
|
```fish
|
||||||
|
# Docker skripty (~/Skripty/docker-domov/)
|
||||||
|
alias dk-update="~/git-repos/mates-install-scripts/docker-update.sh"
|
||||||
|
alias dk-backup="~/git-repos/mates-install-scripts/docker-backup.sh"
|
||||||
|
alias dk-cleanup="~/git-repos/mates-install-scripts/docker-cleanup.sh"
|
||||||
|
alias dk-restore="~/git-repos/mates-install-scripts/docker-restore.sh"
|
||||||
|
alias dk-watch="~/git-repos/mates-install-scripts/disk-watch.sh"
|
||||||
|
alias dk-nas="~/git-repos/mates-install-scripts/mount-nas.sh"
|
||||||
|
|
||||||
|
# Casto pouzivane zkratky
|
||||||
|
alias dk-list="~/git-repos/mates-install-scripts/docker-restore.sh --list"
|
||||||
|
alias dk-cleanup-dry="~/git-repos/mates-install-scripts/docker-cleanup.sh --all --dry-run"
|
||||||
|
alias dk-watch-alert="~/git-repos/mates-install-scripts/disk-watch.sh --alert"
|
||||||
|
alias dk-nas-status="~/git-repos/mates-install-scripts/mount-nas.sh --status"
|
||||||
|
alias dk-nas-mount="~/git-repos/mates-install-scripts/mount-nas.sh --auto"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Zsh:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
alias dk-update="~/git-repos/mates-install-scripts/docker-update.sh"
|
||||||
|
alias dk-backup="~/git-repos/mates-install-scripts/docker-backup.sh"
|
||||||
|
# ... atd.
|
||||||
|
```
|
||||||
|
|
||||||
|
Nebo použij `configure-fish.sh` z `mates-macos-setup` repo.
|
||||||
|
|
||||||
|
### Krok 3: Vytvoř složku s projekty
|
||||||
|
|
||||||
|
Skripty očekávají Docker projekty v `/Volumes/SSD-data/Dockery/` (na Macu) nebo `/home/deploy/docker/` (na Linuxu). Každý projekt je složka s `docker-compose.yml`.
|
||||||
|
|
||||||
|
Příklad struktury:
|
||||||
|
|
||||||
|
```
|
||||||
|
~/DockerProjects/
|
||||||
|
├── portainer/
|
||||||
|
│ ├── docker-compose.yml
|
||||||
|
│ └── data/
|
||||||
|
├── vaultwarden/
|
||||||
|
│ ├── docker-compose.yml
|
||||||
|
│ └── data/
|
||||||
|
└── nextcloud/
|
||||||
|
└── docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
**Konfigurace cesty:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export DOCKERY="/Volumes/SSD-data/Dockery" # macOS
|
||||||
|
# nebo
|
||||||
|
export DOCKERY="/home/deploy/docker" # Linux
|
||||||
|
```
|
||||||
|
|
||||||
|
### Krok 4: První použití
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Podívej se, co skript dělá (bez provedení)
|
||||||
|
docker-backup.sh --help
|
||||||
|
docker-backup.sh --dry-run
|
||||||
|
|
||||||
|
# Nebo s aliasem
|
||||||
|
dk-backup --dry-run
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Detail ke každému skriptu
|
||||||
|
|
||||||
|
### `docker-update.sh` → `dk-update`
|
||||||
|
|
||||||
|
Bezpečná aktualizace Docker Compose projektů.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dk-update # aktualizuje všechny projekty v DOCKERY
|
||||||
|
dk-update portainer # aktualizuje jen portainer
|
||||||
|
dk-update --dry-run # ukáže co by se dělalo, neprovede
|
||||||
|
```
|
||||||
|
|
||||||
|
**Workflow:**
|
||||||
|
1. Zastaví všechny kontejnery
|
||||||
|
2. Stáhne nové image (`docker compose pull`)
|
||||||
|
3. Restartuje s novými image
|
||||||
|
4. Ověří, že vše běží
|
||||||
|
|
||||||
|
### `docker-backup.sh` → `dk-backup`
|
||||||
|
|
||||||
|
Záloha Docker projektů na NAS.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dk-backup # zalohuj vse
|
||||||
|
dk-backup --only portainer # jen jeden projekt
|
||||||
|
dk-backup --dry-run # ukaz co by se delalo
|
||||||
|
dk-backup --auto # bez dotazovani (cron-friendly)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Výchozí nastavení:**
|
||||||
|
- Zálohy jdou do `/Volumes/Backups/Prace/server-backups/<hostname>/`
|
||||||
|
- Používá `tar --zstd` (moderní komprese)
|
||||||
|
- Staré zálohy se **nemazou** (musíš ručně)
|
||||||
|
|
||||||
|
### `docker-cleanup.sh` → `dk-cleanup`
|
||||||
|
|
||||||
|
Bezpečné čištění Docker odpadu.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dk-cleanup # zobrazi plan, zepta se na souhlas
|
||||||
|
dk-cleanup --dry-run # jen vypise co by smazal
|
||||||
|
dk-cleanup --auto # bez ptani
|
||||||
|
dk-cleanup --all # dangling + build cache + sites + tmp
|
||||||
|
```
|
||||||
|
|
||||||
|
**Nikdy nemaže:**
|
||||||
|
- ❌ Používané images
|
||||||
|
- ❌ Bind-mount ani named volume data
|
||||||
|
- ❌ Běžící kontejnery
|
||||||
|
|
||||||
|
### `docker-restore.sh` → `dk-restore`
|
||||||
|
|
||||||
|
Obnova ze zálohy.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dk-list # seznam dostupnych zaloh
|
||||||
|
dk-restore # obnov vse (nejnovejsi)
|
||||||
|
dk-restore --only portainer # jen jeden projekt
|
||||||
|
dk-restore --from 20240801-120000 # konkretni zaloha
|
||||||
|
```
|
||||||
|
|
||||||
|
### `disk-watch.sh` → `dk-watch`
|
||||||
|
|
||||||
|
Sledování volného místa.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dk-watch # jen info o aktualnim stavu
|
||||||
|
dk-watch --alert # posli Telegram alert kdyz < 10% volneho
|
||||||
|
```
|
||||||
|
|
||||||
|
### `mount-nas.sh` → `dk-nas`
|
||||||
|
|
||||||
|
Připojí NAS SMB share.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dk-nas-status # je pripojeno?
|
||||||
|
dk-nas-mount # pripoj (auto = chybejici chybu)
|
||||||
|
dk-nas --umount # odpoj
|
||||||
|
```
|
||||||
|
|
||||||
|
**Konfigurace:**
|
||||||
|
- `SMB_SERVER` – default `192.168.0.109`
|
||||||
|
- `SMB_SHARE` – default `Multimedia`
|
||||||
|
- `SMB_USER` – default `mates`
|
||||||
|
- `TARGET` – default `/Volumes/SSD-data/multimedia`
|
||||||
|
- Heslo je v **macOS keychainu** pod `SMB:<server>/<share>`
|
||||||
|
|
||||||
|
### `update-macos.sh`
|
||||||
|
|
||||||
|
Spustí `softwareupdate` na macOS.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/Skripty/update-macos.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔐 Bezpečnost
|
||||||
|
|
||||||
|
- ✅ **Všechny skripty kontrolují `$EUID == 0`** (musíš být root pro sudo)
|
||||||
|
- ✅ **Všechny skripty podporují `--dry-run`**
|
||||||
|
- ✅ **Žádné destruktivní akce bez potvrzení**
|
||||||
|
- ✅ **Hesla v macOS keychainu**, ne v skriptech
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗 Struktura
|
||||||
|
|
||||||
|
```
|
||||||
|
mates-install-scripts/
|
||||||
|
├── README.md # Tento soubor
|
||||||
|
├── LICENSE # MIT
|
||||||
|
├── docker-update.sh # Aktualizace Docker
|
||||||
|
├── docker-backup.sh # Záloha na NAS
|
||||||
|
├── docker-cleanup.sh # Čištění odpadu
|
||||||
|
├── docker-restore.sh # Obnova ze zálohy
|
||||||
|
├── disk-watch.sh # Sledování místa
|
||||||
|
├── mount-nas.sh # Mount NAS
|
||||||
|
└── update-macos.sh # Aktualizace macOS
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Související
|
||||||
|
|
||||||
|
- **Jotty:** knowledge base (detailní postupy, troubleshooting)
|
||||||
|
- **mates-docker-services:** Docker Compose šablony pro 14 služeb
|
||||||
|
- **mates-ansible:** Ansible playbooky pro nový server
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📜 Licence
|
||||||
|
|
||||||
MIT – viz [LICENSE](LICENSE)
|
MIT – viz [LICENSE](LICENSE)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Poslední update:** 2026-08-01
|
||||||
|
|||||||
Reference in New Issue
Block a user