From 59e648b8f8308f7c229ff92d66f94ffd0447939a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pasternak?= Date: Sun, 12 Jul 2026 19:36:30 +0200 Subject: [PATCH] cleanup: usun martwy stary mechanizm html2docx (flaga + docker pull) Domyka #16. Poprzednio html2docx dzialal przez flage DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE, ktora w `make pull`/`up` robila `docker pull iplweb/html2docx:latest` na host, by appserver mogl go odpalic przez `docker run` (docker.sock). Po iplweb/bpp#552 (fallback przez HTTP) i #16 (opcjonalny serwis compose z profilem) ten mechanizm jest martwy: nikt nie robi juz `docker run`, a obraz serwisu pulluje samo `docker compose pull/up` gdy profil `html2docx` jest aktywny. - mk/deployment.mk: usunieta zmienna DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE i oba bloki `docker pull iplweb/html2docx` (w `pull` i `up`); poprawiony komentarz o prune (serwis, gdy wlaczony, jest UP przed prune -> obraz w uzyciu). - scripts/init-configs.sh: template instancyjnego .env - zamiast starej flagi zakomentowany DJANGO_BPP_HTML2DOCX_URL + instrukcja (COMPOSE_PROFILES). Usuniety ensure_env_var starej flagi (nie dopisujemy jej do nowych/istniejacych .env). - docs/eksploatacja/komendy.md: notka o prune zaktualizowana pod model serwisu. Weryfikacja: bash -n OK, isolated make parse OK, docker compose config valid (profil ON -> 1 serwis html2docx). Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/eksploatacja/komendy.md | 5 +++-- mk/deployment.mk | 12 ++---------- scripts/init-configs.sh | 22 ++++++++++++++-------- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/docs/eksploatacja/komendy.md b/docs/eksploatacja/komendy.md index 05a5106..290a1a6 100644 --- a/docs/eksploatacja/komendy.md +++ b/docs/eksploatacja/komendy.md @@ -26,8 +26,9 @@ make restart-appserver # Restart serwera aplikacji cache builda. **Bez `--volumes`** — nazwane wolumeny z danymi (`postgresql_data`, `media`, `staticfiles`) są bezpieczne. Uwaga: `-af` usuwa **wszystkie** nieużywane obrazy na hoście, także spoza BPP — na maszynie współdzielonej z innymi projektami - używaj `make up-quick` (nie sprząta). Obraz fallback `iplweb/html2docx` jest - pobierany **po** prune, więc nie znika. + używaj `make up-quick` (nie sprząta). Opcjonalny serwis `html2docx` (gdy + włączony profilem `COMPOSE_PROFILES=html2docx`) jest już **UP przed** prune, + więc jego obraz jest w użyciu i prune go nie usunie. ## Baza danych diff --git a/mk/deployment.mk b/mk/deployment.mk index d59f4e8..fcd6c55 100644 --- a/mk/deployment.mk +++ b/mk/deployment.mk @@ -25,14 +25,8 @@ refresh: validate-env-quotes prune-orphan-volumes ensure-config-files update-con @bash scripts/create-monitoring-user.sh --soft $(MAKE) invalidate -DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE ?= false - pull: validate-env-quotes docker compose pull - @if [ "$(DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE)" = "true" ]; then \ - echo "Pulling iplweb/html2docx:latest..."; \ - docker pull iplweb/html2docx:latest; \ - fi build: docker compose build @@ -45,14 +39,12 @@ up: validate-env-quotes ensure-config-files update-configs @# wiec nazwane wolumeny (postgresql_data, media, staticfiles) sa BEZPIECZNE. @# -af kasuje WSZYSTKIE nieuzywane obrazy (tez stare wersje BPP, osierocony @# alpine po przejsciu backup-runnera na obraz dbservera). Pokazujemy tylko - @# ile miejsca zwolniono. Robimy to PRZED pullem html2docx, by go nie usunac. + @# ile miejsca zwolniono. Serwis html2docx (gdy wlaczony profilem) jest juz + @# UP przed prune, wiec jego obraz jest w uzyciu i prune go nie usunie. @echo "Sprzatanie Dockera (docker system prune -af)..." @docker system prune -af 2>/dev/null \ | awk -F': ' '/Total reclaimed space/ {print " Zwolniono na dysku: " $$2}' \ || true - @if [ "$(DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE)" = "true" ]; then \ - docker pull iplweb/html2docx:latest; \ - fi $(MAKE) invalidate @# Bramka zdrowia po deployu (read-only): OK -> exit 0 cicho; usluga @# unhealthy/restarting -> w TTY prompt [s]shell/[d]doctor, w nie-TTY exit !=0. diff --git a/scripts/init-configs.sh b/scripts/init-configs.sh index f11ba50..0bb0496 100755 --- a/scripts/init-configs.sh +++ b/scripts/init-configs.sh @@ -402,12 +402,15 @@ ROLLBAR_ACCESS_TOKEN= LOG_MAX_SIZE=150m LOG_MAX_FILE=5 -# === html2docx (opcjonalny fallback dla eksportu HTML -> DOCX) === -# Gdy true, "make pull"/"up" dociaga obraz iplweb/html2docx:latest. -# Domyslnie false - wiekszosc instalacji uzywa pandoca z obrazu appservera -# i html2docx jest zbedny. Wlacz tylko jesli pandoc zawodzi na Twoich -# dokumentach (np. skomplikowane tabele HTML). -DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE=false +# === html2docx (opcjonalny sidecar fallbacku HTML -> DOCX) === +# Fallback konwersji DOCX gdy pandoc zawiedzie (np. core dump na VMWare ESX). +# Domyslnie WYLACZONY - wiekszosc instalacji uzywa pandoca z obrazu appservera. +# Wlaczenie = DWA kroki (oba opt-in): +# 1) dodaj profil 'html2docx' do COMPOSE_PROFILES w REPO-lokalnym .env +# (katalog bpp-deploy, nie ten plik): COMPOSE_PROFILES=html2docx +# 2) odkomentuj ponizsza linie (adres serwisu w sieci compose; brak = +# fallback wylaczony, miekka degradacja bez crasha): +# DJANGO_BPP_HTML2DOCX_URL=http://html2docx:3030/convert EOF if [ -n "$EXT_PG_VERSION" ]; then @@ -631,8 +634,11 @@ else ensure_env_var "LOG_MAX_FILE" "5" "" \ "Docker log rotation - liczba trzymanych plikow per kontener" - ensure_env_var "DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE" "false" "" \ - "html2docx fallback (true = \`make pull/up\` dociaga iplweb/html2docx:latest; wlacz tylko gdy pandoc zawodzi)" + # html2docx: dawna flaga DJANGO_BPP_ENABLE_HTML2DOCX_IMAGE (pull obrazu pod + # docker-run) jest OBSOLETNA - fallback idzie teraz przez opcjonalny serwis + # HTTP (profil COMPOSE_PROFILES=html2docx + DJANGO_BPP_HTML2DOCX_URL). Stara + # flaga w istniejacych .env jest nieszkodliwa (nikt jej juz nie czyta), wiec + # jej nie usuwamy ani nie dopisujemy. # Migracja: DJANGO_BPP_EXTERNAL_POSTGRESQL_DB_VERSION -> DJANGO_BPP_POSTGRESQL_DB_VERSION. # (Historyczny rename - zmienna dotyczyla tylko external, po rozszerzeniu na