Provoz
Upgrady, zálohy, air-gapped instalace a licencování — věci, které děláte potom, co to běží.
Upgrade
Nejdřív zazálohujte /data, pak ukažte na nový tag a spusťte. Migrace proběhnou při startu.
# uprav .env: VITRINKA_VERSION=vX.Y.Z
docker compose up -d- Žádné tvrdé zarážky — každé vydání migruje z libovolného předchozího, takže můžete verze přeskakovat.
- Dodané soubory neupravujete — poznámky k vydání můžou přidat volitelné klíče do
.env; nic z toho, co dostanete, není určené k úpravám. - Server před klienty — nasaďte server dřív, než rozešlete klienty volající nové endpointy.
Zálohy
/data — volume vitrinka-data — nese SQLite databáze a, pokud nepoužíváte S3, i blob soubory. Zálohujte podle svého běžného plánu a před každým upgradem.
docker compose stop vitrinka
docker compose run --rm --no-deps --entrypoint sh -v "$PWD:/backup" vitrinka \
-c 'cd /data && tar czf /backup/vitrinka-data-$(date +%F).tgz .'
docker compose start vitrinkaSpusťte to přes compose, jak je výše. Holé docker run -v vitrinka-data:… připojí jiný, nesouvisející globální volume než ten, který aplikace opravdu používá — zálohovali byste nic.
Licence není v /data
Leží v adresáři ./license/ v balíku, připojeném do kontejneru jen pro čtení. Zálohujte /data kvůli datům a uchovejte adresář balíku kvůli licenci — jsou to dvě různé věci k zachování.
Air-gapped instalace
Balík obsahuje image.tar, LOAD-AIRGAP.md a binárky CLI. Nahrajte image do interního registru nebo rovnou do Dockeru, nasměrujte na něj VITRINKA_IMAGE a nastavte AIR_GAP=1, čímž vypnete každé odchozí volání — včetně kontrol úniků a pingů na aktualizace.
shasum -a 256 -c SHA256SUMS # nejdřív ověřte balíkCLI bez registru
Balík nese i CLI — šest statických binárek, jednu na platformu, plus cli/latest.json. Pracovní stanice ho potřebují na pořizování sad a obsluhu fronty, a npm install -g předpokládá registr, který ve vaší síti být nemusí.
Nasměrujte $VITRINKA_RELEASE_FEED na vlastní interní mirror a vitrinka update bude fungovat i offline. Instrukce a cestu pro PowerShell nese cli/README.md v balíku.
Licencování
Vložte podepsaný license.json do ./license/. Compose ho připojí jen pro čtení na /run/license, kde ho server hledá.
- Bez licence — vitrinka běží v neomezeném zkušebním režimu.
- Prošlá licence — přejde do období odkladu s bannerem, teprve pak přijde omezení.
Nikdy tvrdé vypnutí a nikdy ztráta dat.