Přeskočit obsah

Aktualizace a zálohy

Aktualizace (Docker)

cd odbavto
git pull
docker compose up -d --build

Databázové migrace se provedou automaticky při startu kontejneru. Před aktualizací si vždy udělejte zálohu (viz níže) a projděte si changelog, hlavně sekce BREAKING.

Neaktualizujte během akce

Aktualizace na pár sekund restartuje aplikaci a odpojí skenery i agenty. Plánujte ji mimo provoz.

Co zálohovat

Data Kde Jak
Databáze volume <projekt>_postgres_data pg_dump
Obrázky a loga štítků volume <projekt>_private_media archiv svazku
Konfigurace soubor .env kopie (obsahuje hesla, ukládejte bezpečně)

Záloha

cd odbavto
mkdir -p backup

# databaze
docker compose exec -T db sh -c 'pg_dump -U "$POSTGRES_USER" -Fc "$POSTGRES_DB"' \
  > backup/odbavto-$(date +%F).dump

# obrazky stitku
docker run --rm -v odbavto_private_media:/data -v "$PWD/backup":/backup alpine \
  tar czf /backup/private_media-$(date +%F).tar.gz -C /data .

Název svazku odpovídá COMPOSE_PROJECT_NAME (zde odbavto). Seznam svazků vypíše docker volume ls.

Zálohu spouštějte pravidelně, např. cronem každou noc, a ukládejte ji i mimo server.

Obnova

cd odbavto
docker compose stop web

# databaze
docker compose exec -T db sh -c 'pg_restore -U "$POSTGRES_USER" -d "$POSTGRES_DB" --clean --if-exists' \
  < backup/odbavto-2026-10-30.dump

# obrazky stitku
docker run --rm -v odbavto_private_media:/data -v "$PWD/backup":/backup alpine \
  sh -c 'tar xzf /backup/private_media-2026-10-30.tar.gz -C /data'

docker compose start web

Lokální instalace

Celá data jsou v souboru db.sqlite3 a ve složce private_media/. Zálohujte je při zastaveném serveru. Postup aktualizace najdete v kapitole Lokální instalace.