Files
mates-install-scripts/README.md
T
mates 10d214c2a2 fix: odstranit emoji ze vsech souboru
Kompletne odstraneno:
- Emoji (smajliky, symboly, boxes, arrows) z README
- Emoji ze skriptu (sipky, symboly)
- Emoji z docker-compose (adresare)

Nahrano za:
- Textove alternativy (sipky -> '->', boxes -> '+', atd.)
- ASCII pouze kde to slo

Ciste vsechny 7 repo (overeno Python skriptem).
2026-08-02 08:50:11 +02:00

6.2 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:

  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.

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 - default Multimedia
  • SMB_USER - default mates
  • TARGET - 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