Aktualizacja
Pobierz nowe obrazy GHCR i przerecreate kontenery api i app. Migracje uruchamiają się automatycznie przy następnym starcie API — nie trzeba ręcznie wywoływać migrate:db.
Obrazy api i app są prywatne na GHCR, więc użytkownik uruchamiający docker compose pull musi być zalogowany w ghcr.io — patrz Logowanie do GHCR. Timer systemd opisany niżej uruchamia się jako root, więc jeśli planujesz go używać, zaloguj się jako root.
Kanał wydań
Section titled “Kanał wydań”Zarówno api, jak i app pobierają tag latest kanału wybranego przez SANCHO_CHANNEL (domyślnie prod, czyli gałąź master). Ustaw SANCHO_CHANNEL=dev, aby śledzić pre-release-y z gałęzi develop.
Upgrade:
docker compose pulldocker compose up -dAktualizacja ręczna
Section titled “Aktualizacja ręczna”git pulldocker compose pulldocker compose up -dCodzienne automatyczne aktualizacje (systemd)
Section titled “Codzienne automatyczne aktualizacje (systemd)”Obok pliku compose dostarczane są dwa unity: sancho-update.service i sancho-update.timer. Uruchamiają one docker compose pull api app + docker compose up -d api app + docker image prune -f codziennie o 04:00 UTC, dotykając wyłącznie kontenerów api i app. Baza danych, RabbitMQ, Redis i Caddy są pomijane.
Instalacja raz na host:
-
Zedytuj
WorkingDirectorywsancho-update.servicena bezwzględną ścieżkę tego katalogudeployment/docker-compose(domyślnie/opt/sancho/...):Terminal window sudo $EDITOR sancho-update.service -
Skopiuj oba unity do
/etc/systemd/system/:Terminal window sudo cp sancho-update.service sancho-update.timer /etc/systemd/system/ -
Przeładuj systemd i włącz timer (to także go uruchomi):
Terminal window sudo systemctl daemon-reloadsudo systemctl enable --now sancho-update.timer
Inspekcja:
systemctl status sancho-update.timer # kiedy odpali ponowniesystemctl list-timers sancho-update.timer # ostatni / następny runjournalctl -u sancho-update.service # output poprzednich uruchomieńWymuszenie uruchomienia poza harmonogramem:
sudo systemctl start sancho-update.serviceWyłączenie:
sudo systemctl disable --now sancho-update.timer