mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-12 01:36:20 +02:00
Lockfiles : - pubspec.lock et bin/pubspec.lock versionnés (le .gitignore les excluait via *.lock ; le Dockerfile résolvait des versions fraîches à chaque build, comme son commentaire l'assumait) ; le Dockerfile les COPY désormais, .dockerignore ajusté CI (ci.yml) : - flutter-version 3.38.4 et Dart 3.13.2 épinglés (channel: stable seul fait dériver le SDK et peut casser la CI sans changement du dépôt) - cache pub activé, concurrency: cancel-in-progress Publication (docker-publish.yml) : - Chaîné sur la CI via workflow_run : l'image :latest n'est publiée qu'après analyze/test/build verts sur main (l'ancien push: [main] tournait en parallèle et pouvait publier une image cassée) ; build du head_sha validé par la CI docker-compose : - Défaut RECORDINGS_PATH: ./data/recordings au lieu du chemin unRAID spécifique à une machine (/mnt/user/Data/Sport) - Variable TZ (défaut Europe/Paris) Docs : - README réécrit : il décrivait une architecture disparue (Hive/ IndexedDB, hachage SHA-256, dhttpd port 8080, --web-renderer html) au lieu de l'état réel (SQLite serveur, bcrypt, binaire natif port 8089, enregistrements, transcodage, CI) - DEPLOYMENT_CHECKLIST.md archivé (6 fichiers cités inexistants, versions de dépendances fausses) - docs/archive/README.md : avertissement que ces documents sont historiques (plusieurs se déclarent « COMPLETE » à tort) Non traité ici : l'épinglage de la release FFmpeg du Dockerfile (l'accès aux releases BtbN est bloqué depuis cet environnement, impossible de vérifier un tag valide) et la suppression du code mort (reportée après le merge des PRs #7/#8/#9 pour éviter les conflits). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015oEu9QayWsw7hCKhenxgVa
37 lines
1.6 KiB
YAML
37 lines
1.6 KiB
YAML
services:
|
|
xtremflow:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: xtremflow
|
|
ports:
|
|
- "8089:8089"
|
|
volumes:
|
|
- xtremflow-data:/app/data
|
|
# Configuration du répertoire d'enregistrement TV
|
|
# Par défaut: sauve dans ./data/recordings (dossier local)
|
|
# Pour changer: modifiez le chemin avant les deux points ":"
|
|
# Exemple Windows : - D:\MesVideos\TV:/app/recordings
|
|
# Exemple Linux : - /mnt/nas/videos:/app/recordings
|
|
- ${RECORDINGS_PATH:-./data/recordings}:/app/recordings
|
|
environment:
|
|
# Fuseau horaire du conteneur (affichage des logs ; les enregistrements
|
|
# sont stockés en UTC quoi qu'il arrive)
|
|
- TZ=${TZ:-Europe/Paris}
|
|
# Origine externe autorisée pour CORS (optionnel — l'app est servie
|
|
# same-origin, ne définir que si un autre domaine doit appeler l'API)
|
|
- ALLOWED_ORIGIN=${ALLOWED_ORIGIN:-}
|
|
# Nombre max d'enregistrements TV simultanés (FFmpeg -c copy, peu de CPU)
|
|
- MAX_CONCURRENT_RECORDINGS=${MAX_CONCURRENT_RECORDINGS:-2}
|
|
# Source XMLTV de repli, interrogée uniquement quand le panneau ne rend
|
|
# aucun programme couvrant l'instant présent. Vider la variable coupe
|
|
# tout appel sortant : l'EPG se limite alors au panneau de l'abonné.
|
|
# Plusieurs dumps se séparent par des virgules.
|
|
- EPG_XMLTV_URLS=${EPG_XMLTV_URLS-https://epgshare01.online/epgshare01/epg_ripper_FR1.xml.gz}
|
|
# Accélération GPU NVIDIA pour le transcodage (NVENC) : true/false
|
|
- NVIDIA_GPU=${NVIDIA_GPU:-false}
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
xtremflow-data:
|