Bibliothèque vidéo partagée par URL signées
Extrait de li.k3nny.fr et rendu indépendant du serveur : toute la configuration propre à l'hôte passe par li.env (URL publique, chemins, expiration, répertoires « HTML seulement », commande nginx). Écarts avec la version en production : - li-user del retire aussi la page .html, pas seulement le .xspf ; - li-gen ignore les répertoires cachés, pas seulement les fichiers ; - textes de la page HTML accentués. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Bibliotheque en lecture seule pour des tiers — un nginx DEDIE, qui ne fait
|
||||
# que servir des fichiers signes.
|
||||
#
|
||||
# docker compose --env-file /etc/li/li.env up -d
|
||||
#
|
||||
# POURQUOI UN SECOND NGINX. Le proxy de facade est le processus le plus expose
|
||||
# de la machine ; lui monter toute la bibliotheque elargirait son rayon
|
||||
# d explosion pour rien. Ici, le conteneur qui tient les fichiers ne publie
|
||||
# aucun port et ne joint personne : il vit sur un reseau « internal » ou la
|
||||
# facade est son seul voisin.
|
||||
services:
|
||||
li:
|
||||
image: nginx:1.29-alpine
|
||||
container_name: li
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./nginx/li.conf:/etc/nginx/conf.d/default.conf:ro
|
||||
# La table des ayants droit contient leurs secrets : elle vit hors du
|
||||
# depot, dans LI_DATA.
|
||||
#
|
||||
# C est le REPERTOIRE qui est monte, et non le fichier. Un bind-mount de
|
||||
# fichier epingle l INODE : li-user publie sa map par un « mv » atomique,
|
||||
# qui remplace l inode, et le conteneur resterait indefiniment sur
|
||||
# l ancienne version — un ayant droit ajoute n existerait jamais pour
|
||||
# nginx, sans la moindre erreur.
|
||||
- ${LI_DATA:?}/conf:/etc/nginx/li:ro
|
||||
- ${LI_DATA:?}/playlists:/srv/li/playlists:ro
|
||||
# La bibliotheque, en LECTURE SEULE. Le conteneur ne peut rien ecrire
|
||||
# dans la bibliotheque, meme si nginx tombait.
|
||||
- ${LI_LIBRARY:?}:/srv/li/library:ro
|
||||
networks: [li]
|
||||
security_opt: [no-new-privileges:true]
|
||||
|
||||
networks:
|
||||
# La facade rejoint ce reseau (« external: true » de son cote). Aucune
|
||||
# sortie : « internal » interdit au conteneur de joindre quoi que ce soit.
|
||||
li:
|
||||
name: li
|
||||
internal: true
|
||||
Reference in New Issue
Block a user