diff --git a/.env.sample b/.env.sample index 2bc28c7..464d78b 100644 --- a/.env.sample +++ b/.env.sample @@ -11,3 +11,25 @@ # BPP_CONFIGS_DIR=/home/deploy/publikacje-uczelnia # BPP_CONFIGS_DIR= + +# ── Opcjonalny sidecar html2docx (konwersja HTML->DOCX) ────────────────── +# +# Serwis `html2docx` jest OPCJONALNY i domyslnie WYLACZONY. Wlacz go tylko +# tam, gdzie potrzebny jest fallback konwersji DOCX (pandoc pada np. core +# dumpem na VMWare ESX). Wlaczenie = DWA kroki: +# +# 1) Dodaj profil `html2docx` do COMPOSE_PROFILES TUTAJ (ten plik czyta +# Docker Compose do aktywacji profili). Jesli masz juz inne profile, +# DOPISZ przecinkiem, nie nadpisuj: +# +# COMPOSE_PROFILES=html2docx +# +# 2) Ustaw adres uslugi w ${BPP_CONFIGS_DIR}/.env (plik konfiguracyjny +# instancji, ladowany do kontenerow appserver/worker): +# +# DJANGO_BPP_HTML2DOCX_URL=http://html2docx:3030/convert +# +# Brak tej zmiennej => fallback wylaczony (miekka degradacja, bez crasha). +# Opcjonalny pin wersji obrazu: HTML2DOCX_VERSION= (domyslnie latest). +# +# COMPOSE_PROFILES= diff --git a/docker-compose.application.yml b/docker-compose.application.yml index 8b8ac59..e6bc02c 100644 --- a/docker-compose.application.yml +++ b/docker-compose.application.yml @@ -92,7 +92,6 @@ services: volumes: - staticfiles:/staticroot - media:/mediaroot - - /var/run/docker.sock:/var/run/docker.sock:ro depends_on: redis: condition: service_healthy @@ -160,6 +159,25 @@ services: ofelia.job-run.letsencrypt_renew.volume: "${COMPOSE_PROJECT_NAME}_acme-challenge:/var/www/certbot,${BPP_CONFIGS_DIR}/letsencrypt:/etc/letsencrypt" ofelia.job-run.letsencrypt_renew.command: "renew --webroot -w /var/www/certbot --quiet --deploy-hook \"touch /etc/letsencrypt/.reload-needed\"" + # === html2docx === + # OPCJONALNY sidecar konwersji HTML->DOCX (fallback gdy pandoc padnie, np. + # core dump na VMWare ESX). Domyslnie WYLACZONY - startuje tylko gdy profil + # `html2docx` jest w COMPOSE_PROFILES (repo-lokalny .env). Deployment, ktory + # go wlacza, musi tez ustawic DJANGO_BPP_HTML2DOCX_URL w ${BPP_CONFIGS_DIR}/.env + # (patrz .env.sample) - inaczej appserver/worker maja fallback wylaczony + # (miekka degradacja, bez crasha). + # + # Bez published portu (tylko siec wewnetrzna projektu, osiagalny jako + # `html2docx:3030`). Bez healthchecka: obraz .NET nie ma curl/wget, + # restart:always wystarcza. Bez docker.sock - to byla cala pointa zmiany. + # Obraz wersjonowany niezaleznie od DOCKER_VERSION bpp (pin przez + # HTML2DOCX_VERSION w .env). + html2docx: + image: iplweb/html2docx:${HTML2DOCX_VERSION:-latest} + profiles: ['html2docx'] + restart: always + logging: *default-logging + # === Certbot === # Sidecar uruchamiany na zadanie ('docker compose run --rm certbot ...') # przez make ssl-letsencrypt-issue / make ssl-letsencrypt-renew. NIE startuje