mirror of
https://github.com/movixcorp/MovixOpenSource.git
synced 2026-08-07 11:40:03 +00:00
- corrige l’extraction Fsvid/Vidzy dans proxiesembed, les extensions et le userscript avec un décodage XOR/P.A.C.K.E.R plus robuste - rejette les URL « troll » et supprime les résultats Fsvid/Vidzy contaminés des caches - ajoute KissKH pour les films et séries avec matching TMDB, catalogue, cache distribué, verrouillage, rotation des proxys et fallback sécurisé - ajoute le relais KissKH HLS/MP4 dans proxiesembed, avec retry SOCKS5 sur les erreurs 403 et streaming des segments BYTERANGE - prend en charge les sous-titres KissKH SRT/TXT/TXT2, leur déchiffrement AES et leur conversion en WebVTT - intègre KissKH au lecteur, aux priorités de sources, aux extensions Chrome/Firefox et au userscript - améliore la sélection, le formatage sécurisé, la traduction et l’affichage Picture-in-Picture des sous-titres - corrige le Cast web et Android pour transmettre les sous-titres internes, externes, KissKH et traduits - ajoute le support des pistes WebVTT inline via le relais LAN Android et améliore le suivi des sessions Cast - protège les liens jouables des caches Cpasmal et Coflix contre les rafraîchissements vides ou concurrents - fiabilise la sélection des saisons FStream et améliore le matching DarkiWorld par TMDB, titre et année - simplifie les nouvelles URL TMDB tout en conservant le décodage des anciens identifiants encodés - corrige l’opacité des icônes SVG dans toute l’interface en séparant la couleur de leur niveau d’opacité - met à jour le Dockerfile vers Node.js 22 et installe uniquement les dépendances runtime du workspace Hono - ajoute le workspace server avec ses dépendances dédiées et un arrêt gracieux sur SIGTERM/SIGINT - accélère le healthcheck Docker et évite de recopier tous les node_modules du builder dans l’image finale - retire les migrations et créations de tables automatiques au démarrage de la Main API au profit de db:init - attribue un port CycleTLS distinct à chaque worker pour éviter les conflits en mode cluster - ajoute des tests de non-régression pour KissKH, les caches de sources, CycleTLS et le Cast Android - publie Android 2.5.8 build 17 avec le nouvel APK - met à jour les extensions Chrome 1.3.13 et Firefox 1.5.10 Co-authored-by: GPT-5.6 Sol <noreply@openai.com>
79 lines
2.8 KiB
Docker
79 lines
2.8 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
|
|
# ==============================================================
|
|
# Stage 1 — Builder : install all deps + Vite production build
|
|
# ==============================================================
|
|
FROM node:22-alpine AS builder
|
|
WORKDIR /app
|
|
|
|
# 1) Lockfile-only first => layer cached as long as deps don't change
|
|
COPY package.json package-lock.json ./
|
|
RUN --mount=type=cache,id=movix-npm-builder,target=/root/.npm,sharing=locked \
|
|
npm ci --prefer-offline --no-audit --no-fund
|
|
|
|
# 2) Build-time env vars (Vite bakes them into the bundle)
|
|
# Inject these from Coolify -> Configuration -> Build Variables
|
|
ARG VITE_MAIN_API
|
|
ARG VITE_TMDB_API_KEY
|
|
ARG VITE_SITE_URL
|
|
ARG VITE_WATCHPARTY_API
|
|
ARG VITE_PROXY_BASE_URL
|
|
ARG VITE_API_PROXY_BASE_URL
|
|
ARG VITE_PROXIES_EMBED_API
|
|
ARG VITE_RIVESTREAM_PROXIES
|
|
ARG VITE_TURNSTILE_SITE_KEY
|
|
ARG VITE_TURNSTILE_INVISIBLE_SITEKEY
|
|
ARG VITE_VAPID_PUBLIC_KEY
|
|
ARG VITE_SUPPORT_TELEGRAM_URL
|
|
ARG VITE_APP_BUILD_ID
|
|
|
|
ENV VITE_MAIN_API=$VITE_MAIN_API \
|
|
VITE_TMDB_API_KEY=$VITE_TMDB_API_KEY \
|
|
VITE_SITE_URL=$VITE_SITE_URL \
|
|
VITE_WATCHPARTY_API=$VITE_WATCHPARTY_API \
|
|
VITE_PROXY_BASE_URL=$VITE_PROXY_BASE_URL \
|
|
VITE_API_PROXY_BASE_URL=$VITE_API_PROXY_BASE_URL \
|
|
VITE_PROXIES_EMBED_API=$VITE_PROXIES_EMBED_API \
|
|
VITE_RIVESTREAM_PROXIES=$VITE_RIVESTREAM_PROXIES \
|
|
VITE_TURNSTILE_SITE_KEY=$VITE_TURNSTILE_SITE_KEY \
|
|
VITE_TURNSTILE_INVISIBLE_SITEKEY=$VITE_TURNSTILE_INVISIBLE_SITEKEY \
|
|
VITE_VAPID_PUBLIC_KEY=$VITE_VAPID_PUBLIC_KEY \
|
|
VITE_SUPPORT_TELEGRAM_URL=$VITE_SUPPORT_TELEGRAM_URL \
|
|
VITE_APP_BUILD_ID=$VITE_APP_BUILD_ID
|
|
|
|
# 3) Source code (.dockerignore strips backends, extensions, mobile, etc.)
|
|
COPY . .
|
|
|
|
# 4) Vite build with persistent transform cache
|
|
RUN --mount=type=cache,id=movix-vite,target=/app/node_modules/.cache \
|
|
npm run build:coolify
|
|
|
|
# ==============================================================
|
|
# Stage 2 — Runner : minimal Node image to serve dist/ + Hono SSR
|
|
# ==============================================================
|
|
FROM node:22-alpine AS runner
|
|
WORKDIR /app
|
|
|
|
ENV NODE_ENV=production \
|
|
PORT=3001
|
|
|
|
# Install only the Hono workspace dependencies required by the runtime.
|
|
COPY package.json package-lock.json ./
|
|
COPY server/package.json ./server/package.json
|
|
RUN --mount=type=cache,id=movix-npm-runner,target=/root/.npm,sharing=locked \
|
|
npm ci --omit=dev --workspace=server --include-workspace-root=false \
|
|
--prefer-offline --no-audit --no-fund
|
|
|
|
# Built static assets + Hono server + helper imported by server/index.js
|
|
COPY --from=builder /app/dist ./dist
|
|
COPY --from=builder /app/server ./server
|
|
COPY --from=builder /app/functions/_lib ./functions/_lib
|
|
|
|
EXPOSE 3001
|
|
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=2s --retries=3 \
|
|
CMD wget -qO- http://127.0.0.1:${PORT}/health || exit 1
|
|
|
|
USER node
|
|
|
|
CMD ["node", "server/index.js"]
|