# ============================================================================
# Connexa — Kodi headless + addon vStream (piloté par le backend en JSON-RPC)
# ----------------------------------------------------------------------------
# - Base matthuisman/kodi-headless (Kodi Matrix, /init s6, /config/.kodi).
# - vStream + son dépôt extraits à la construction (sparse checkout, pas
#   d'historique) : aucune dépendance au dépôts Kodi au premier démarrage
#   pour l'addon lui-même (ses dépendances script.module.* viennent des
#   miroirs officiels au premier lancement, internet requis).
# - 10-kodi-webserver (cont-init.d) active le serveur web + l'auth à chaque
#   démarrage, depuis KODI_USER / KODI_PASSWORD / KODI_PORT.
# - Aucun port publié par défaut : seul le backend y accède (KODI_URL).
# ============================================================================

# --- Étape 1 : sources vStream (sans historique) ---------------------------
FROM alpine/git AS fetch
WORKDIR /src
RUN apk add --no-cache py3-pip python3 unzip \
 && git clone --depth 1 --filter=blob:none --sparse \
      https://github.com/Kodi-vStream/venom-xbmc-addons.git vstream \
 && cd vstream \
 && git sparse-checkout set plugin.video.vstream repository.vstream \
 && cd /src \
 && git clone --depth 1 --filter=blob:none --sparse --branch matrix \
      https://github.com/xbmc/repo-scripts.git official \
 && cd official \
 && git sparse-checkout set script.module.requests script.module.qrcode \
    script.module.certifi script.module.chardet script.module.idna \
 && cd /src \
 && rm -rf vstream/.git official/.git \
 && rm -rf official/script.module.urllib3 \
 && pip download urllib3==1.26.20 --no-deps -d /src/vendor \
 && mkdir -p /src/vendor/u3 && cd /src/vendor/u3 \
 && unzip -q /src/vendor/urllib3-1.26.20-py2.py3-none-any.whl 'urllib3/*' \
 && mkdir -p /src/vendor/script.module.urllib3/lib \
 && mv /src/vendor/u3/urllib3 /src/vendor/script.module.urllib3/lib/ \
 && cd /src \
 && ls vstream/plugin.video.vstream/addon.xml vstream/repository.vstream/addon.xml \
    official/script.module.requests/addon.xml official/script.module.qrcode/addon.xml \
    vendor/script.module.urllib3/lib/urllib3/__init__.py
COPY patch_vstream.py /src/patch_vstream.py
RUN python3 /src/patch_vstream.py

# --- Étape 2 : Kodi headless + vStream préinstallé --------------------------
FROM matthuisman/kodi-headless:Matrix

COPY --from=fetch /src/vstream/plugin.video.vstream /config/.kodi/addons/plugin.video.vstream
COPY --from=fetch /src/vstream/repository.vstream /config/.kodi/addons/repository.vstream
COPY --from=fetch /src/official/script.module.requests /config/.kodi/addons/script.module.requests
COPY --from=fetch /src/official/script.module.qrcode /config/.kodi/addons/script.module.qrcode
COPY --from=fetch /src/official/script.module.chardet /config/.kodi/addons/script.module.chardet
COPY --from=fetch /src/official/script.module.idna /config/.kodi/addons/script.module.idna
COPY --from=fetch /src/official/script.module.certifi /config/.kodi/addons/script.module.certifi
COPY --from=fetch /src/vendor/script.module.urllib3 /config/.kodi/addons/script.module.urllib3
COPY vendor-urllib3/addon.xml /config/.kodi/addons/script.module.urllib3/addon.xml
# Seed de secours : restaure les préinstallés si le volume nommé est vide.
COPY --from=fetch /src/vstream/plugin.video.vstream /opt/kodi-seed/plugin.video.vstream
COPY --from=fetch /src/vstream/repository.vstream /opt/kodi-seed/repository.vstream
COPY --from=fetch /src/official/script.module.requests /opt/kodi-seed/script.module.requests
COPY --from=fetch /src/official/script.module.qrcode /opt/kodi-seed/script.module.qrcode
COPY --from=fetch /src/official/script.module.chardet /opt/kodi-seed/script.module.chardet
COPY --from=fetch /src/official/script.module.idna /opt/kodi-seed/script.module.idna
COPY --from=fetch /src/official/script.module.certifi /opt/kodi-seed/script.module.certifi
COPY --from=fetch /src/vendor/script.module.urllib3 /opt/kodi-seed/script.module.urllib3
COPY vendor-urllib3/addon.xml /opt/kodi-seed/script.module.urllib3/addon.xml
COPY cont-init.d/10-kodi-webserver /etc/cont-init.d/10-kodi-webserver
COPY patch_vstream.py /opt/kodi-seed/patch_vstream.py
COPY install_addon.py /opt/install_addon.py
