FROM nginx:alpine RUN apk add --no-cache git WORKDIR /usr/share/nginx/html # Image figée au clone ; le conteneur met à jour via refresh.sh (git pull origin main). # Seul le dossier content/ est extrait (sparse checkout) : léger et aligné sur la racine Nginx. # L’image nginx:alpine place déjà des fichiers ici — il faut vider le répertoire avant git clone vers « . ». ARG TALKS_REPO_URL=https://git.specificat.io/arnault/Talks.git ARG TALKS_BRANCH=main ARG TALKS_SPARSE_DIR=content RUN find . -mindepth 1 -delete \ && git clone --filter=blob:none --sparse --branch "${TALKS_BRANCH}" --single-branch "${TALKS_REPO_URL}" . \ && git sparse-checkout init --cone \ && git sparse-checkout set "${TALKS_SPARSE_DIR}" \ && git config --global --add safe.directory /usr/share/nginx/html COPY nginx/default.conf /etc/nginx/conf.d/default.conf COPY refresh.sh /refresh.sh RUN chmod +x /refresh.sh CMD sh -c "/refresh.sh & exec nginx -g 'daemon off;'"