- Service unique : build local (ou image publiée en commentaire), non-root,
restart: unless-stopped.
- config.json monté en lecture seule ; un montage ./data:/data pour les
dossiers de dépôt (les `dir` des targets pointent sous /data).
- Commentaires sur l'uid 1000, le remap de port, l'override `user:`.
- .gitignore / .dockerignore : ajout de data/ ; README : section Docker
réécrite autour de Compose.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Serveur TypeScript (Fastify 5) permettant de déposer des fichiers médias
dans des dossiers nommés, via une page web de glisser-déposer.
- Authentification OpenID Connect gérée côté serveur (Authorization Code +
PKCE, client confidentiel, openid-client) ; session via cookie chiffré
(@fastify/secure-session).
- Configuration dans un fichier JSON (schéma fourni) ; l'environnement ne
porte que le pointeur MEDIADROP_CONFIG.
- Cibles de dépôt nommées : liste { name, label, dir }, sélection par
?target=, première cible par défaut.
- Upload multipart en streaming : nom de fichier dérivé côté serveur (pas
de path traversal), liste blanche de types MIME, plafond de taille.
- TypeScript strict, ESLint + Prettier sans warning, 46 tests Vitest.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>