6.7 KiB
mates-install-scripts
Bash skripty pro správu Dockeru na Macu i Linuxu.
Jedná se o přesné kopie skriptů z tvého lokálního ~/Skripty/docker-domov/.
Jsi začátečník? Čti od Začínáme – vše je krok za krokem.
📦 Co tu je
| Skript | Alias | Co dělá |
|---|---|---|
docker-update.sh |
dk-update |
Aktualizuje Docker Compose projekty (stáhne nové image, restartuje) |
docker-backup.sh |
dk-backup |
Zálohuje Docker projekty a named volumes (na NAS) |
docker-cleanup.sh |
dk-cleanup |
Čistí Docker odpad (dangling images, build cache, orphaned sítě) |
docker-restore.sh |
dk-restore |
Obnovuje Docker projekty ze zálohy |
disk-watch.sh |
dk-watch |
Sleduje volné místo na Docker datech |
mount-nas.sh |
dk-nas |
Připojí/odpojí NAS SMB share do /Volumes/<ssd-data-mount>/multimedia |
update-macos.sh |
– | Aktualizace macOS přes Software Update |
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í.
🚀 Začínáme
Krok 1: Naklonuj repo
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:
# 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:
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-mount>/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:
export DOCKERY="/Volumes/<ssd-data-mount>/Dockery" # macOS
# nebo
export DOCKERY="/home/deploy/docker" # Linux
Krok 4: První použití
# 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ů.
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:
- Zastaví všechny kontejnery
- Stáhne nové image (
docker compose pull) - Restartuje s novými image
- Ověří, že vše běží
docker-backup.sh → dk-backup
Záloha Docker projektů na NAS.
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.
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.
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.
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.
dk-nas-status # je pripojeno?
dk-nas-mount # pripoj (auto = chybejici chybu)
dk-nas --umount # odpoj
Konfigurace:
SMB_SERVER– default<nas-ip>SMB_SHARE– defaultMultimediaSMB_USER– defaultmatesTARGET– default/Volumes/<ssd-data-mount>/multimedia- Heslo je v macOS keychainu pod
SMB:<server>/<share>
update-macos.sh
Spustí softwareupdate na macOS.
~/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
Poslední update: 2026-08-01