Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+177
View File
@@ -0,0 +1,177 @@
---
title: Fireshare
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, gaming, video, streaming, clips, partage-media, transcodage]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Gaming, https://github.com/ShaneIsrael/fireshare]
---
# 🔥 Fireshare
> **Partage de clips gaming via liens uniques** — auto-hébergez vos highlights et partagez-les avec votre communauté, sans Twitch ni YouTube.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [fireshare.net](https://fireshare.net/) |
| **GitHub** | [ShaneIsrael/fireshare](https://github.com/ShaneIsrael/fireshare) |
| **License** | GPL-3.0 |
| **Langage** | JavaScript (frontend) + Python (backend) |
| **Étoiles** | ⭐88 (catalogue) / 1,4k (GitHub) |
| **Dernière MAJ** | 2026-06-05 (v1.6.15) |
| **Catégorie** | [[cat-gaming\|Gaming]] |
## 📝 Description
**Fireshare** est une application web self-hosted dédiée au **partage de clips et vidéos gaming**. Vous déposez vos `.mp4`, `.webm`, `.mov` ou `.m4v` dans un dossier, Fireshare scanne, génère les jaquettes, organise par jeu, et expose chaque clip via une **URL unique partageable** (public ou privé, protégé par mot de passe au choix).
L'application a été pensée pour les **streamers, monteurs vidéo, et communautés gaming** qui veulent s'affranchir des plateformes centralisées (Twitch, YouTube, Twitter) pour partager leurs highlights. Chaque clip peut être **public** (apparaît dans le flux communautaire et un flux RSS), ou **privé** (accessible uniquement via le lien direct), ou encore **protégé par mot de passe**.
Fireshare propose un **transcodage optionnel** (CPU ou GPU NVIDIA NVENC) pour générer des versions en plus basse qualité, ce qui permet le **streaming adaptatif** — le serveur bascule automatiquement le viewer sur une version allégée si sa bande passante est insuffisante. Le fichier original est toujours servi tel quel quand c'est possible.
**Fonctionnalités clés** :
- ✅ Scan automatique de dossiers, détection du jeu, génération de jaquettes
- ✅ Liens uniques partageables (public, privé, protégé par mot de passe)
- ✅ Transcodage CPU ou GPU NVIDIA (NVENC) pour streaming adaptatif
- ✅ Flux RSS pour les nouveaux clips publics
- ✅ Notifications Discord / webhooks
- ✅ Comptage de vues, tags, recherche, **crop vidéo** depuis l'UI
- ✅ Uploads depuis l'UI (désactivables)
- ✅ Support **LDAP** pour l'authentification d'entreprise
- ✅ Open Graph metadata pour **aperçus riches** sur Discord/Slack/Twitter
-**Nouveau (v1.6)** : système dédié screenshots/feed images, règles par dossier
## 🚀 Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
services:
fireshare:
container_name: fireshare
image: shaneisrael/fireshare:latest-lite # ou :latest pour GPU NVIDIA
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./fireshare/data:/data # base SQLite interne
- ./fireshare/processed:/processed # jaquettes et métadonnées générées
- /chemin/vers/clips:/videos # vos clips gaming à partager
- /chemin/vers/screenshots:/images # vos screenshots (optionnel)
environment:
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=ChangezMoiTresFort!
- SECRET_KEY=$(openssl rand -hex 32)
- DOMAIN=https://clips.example.com # requis pour Open Graph
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
# Transcodage GPU NVIDIA (image :latest uniquement, pas :latest-lite)
- ENABLE_TRANSCODING=true
- TRANSCODE_GPU=true
- NVIDIA_VISIBLE_DEVICES=all
# Uniquement pour l'image :latest avec GPU
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: all
# capabilities: [gpu]
```
```bash
docker compose up -d
```
Puis ouvrir `http://IP:8080` et se connecter avec `ADMIN_USERNAME` / `ADMIN_PASSWORD`.
### Option 2 : Image `latest` (GPU NVIDIA)
L'image complète `shaneisrael/fireshare:latest` embarque FFmpeg avec les libs CUDA pour le transcodage NVENC. Attention, elle pèse ~2,5 Go contre ~250 Mo pour `latest-lite`.
### Option 3 : Installation manuelle
```bash
git clone https://github.com/ShaneIsrael/fireshare.git
cd fireshare
# Backend Python
cd server
pip install -r requirements.txt
python -m flask run
# Frontend (autre terminal)
cd ../client
npm install
npm run build
```
## ⚙️ Configuration
1. **Volumes** : quatre montages obligatoires : `/data` (BDD), `/processed` (cache), `/videos` (sources), `/images` (screenshots).
2. **Variables critiques** :
- `SECRET_KEY` : 64 caractères hex (`openssl rand -hex 32`)
- `DOMAIN` : URL publique exacte (sinon Open Graph cassé)
- `ADMIN_USERNAME` / `ADMIN_PASSWORD` : créés au premier démarrage
3. **Transcodage** : `ENABLE_TRANSCODING=true` active la génération de versions basse qualité. Surviewer auto-downgrade en cas de buffering.
4. **GPU** : `TRANSCODE_GPU=true` + image `:latest` (pas `:latest-lite`) + driver NVIDIA ≥470 + toolkit CUDA.
5. **LDAP** : support natif pour intégrer un annuaire d'entreprise.
6. **Webhook Discord** : URL configurable dans l'admin pour notifier chaque nouveau clip.
## 🔄 Alternatives
### Open Source
- [[app-peertube]] — Plateforme vidéo décentralisée, plus générale que gaming
- [[app-jellyfin]] — Serveur média avec transcodage, pas de partage de clips
- **Owncast** — Streaming live self-hosted, complémentaire pour le live
- **BilboPlanet** — Partage vidéo décentralisé (en développement)
- **DTube** — Alternative décentralisée YouTube (skinned)
- [[app-gaseous]] — Plutôt ROMs mais peut servir au partage
### Propriétaires (ce que Fireshare remplace)
- **Twitch Clips** — hébergement par Twitch, suppression possible à tout moment
- **Twitter/X vidéo** — compression agressive, déréférencement fréquent
- **YouTube Unlisted** — workflow lourd, anti-embed Twitch-friendly
- **Streamable** — service gratuit devenu limité (paywall + ads)
- **Gyazo / Imgur GIF** — pour les GIFs courts uniquement
### Comparaison rapide
| Critère | Fireshare | Owncast | Peertube |
| :--- | :--- | :--- | :--- |
| Cible | Clips gaming | Live stream | Vidéo à la demande |
| Transcodage | ✅ GPU | ❌ | ✅ |
| Liens uniques | ✅ | n/a | n/a |
| Multi-tenants | ❌ | ❌ | ✅ |
| Licence | GPL-3.0 | MIT | AGPL-3.0 |
## 🔐 Sécurité
- **Auth obligatoire** sur l'admin. Changer `ADMIN_PASSWORD` immédiatement.
- **`SECRET_KEY` cryptographique** : `openssl rand -hex 32` minimum, ne JAMAIS réutiliser.
- **Exposer Fireshare derrière un reverse proxy** ([[app-traefik]], [[app-caddy]], [[app-nginx-proxy-manager]]) avec TLS valide, sinon les aperçus Open Graph sont cassés.
- **Restriction upload** : `ENABLE_UPLOADS=false` (variable env) si vous ne voulez pas que des utilisateurs uploadent sur votre instance.
- **Protection des clips** : utiliser systématiquement le mode `private` + lien direct, ou `password-protected` pour les highlights sensibles.
- **Backups** : sauvegarder `./fireshare/data` (SQLite) et `./fireshare/processed` (cache de métadonnées). Le dossier vidéos source peut être reconstitué.
## 📚 Ressources
- [GitHub ShaneIsrael/fireshare](https://github.com/ShaneIsrael/fireshare)
- [Site officiel](https://fireshare.net/)
- [Démo live](https://demo.fireshare.net/)
- [Docker Hub](https://hub.docker.com/r/shaneisrael/fireshare)
## Pages Liées
- [[cat-gaming]] — Catégorie Gaming
- [[app-peertube]] — Alternative vidéo décentralisée
- [[app-jellyfin]] — Streaming média généraliste
- [[app-traefik]] — Reverse proxy recommandé
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — Durcir l'infra