- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- WORKER_TEMP_DIR dans $data_dir/tmp (sous-dossier ajouté au data_dir) - worker.service : Restart=on-failure, StartLimitBurst=5 sur 10 min, TimeoutStopSec=45 - ADMIN.md : logs dans des fichiers, procédure reset-failed - version 1.3.8~ynh8 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| conf | ||
| doc | ||
| scripts | ||
| sources/patches | ||
| tools | ||
| .gitignore | ||
| manifest.toml | ||
| README.md | ||
vitransfer_ynh
Paquet YunoHost (packaging v2, helpers 2.1) pour installer ViTransfer nativement, sans Docker.
ViTransfer est une plateforme auto-hébergée de review et validation vidéo : partage sécurisé de vidéos avec les clients, commentaires horodatés, versions, workflow d'approbation, watermark.
Installation en un clic
Depuis l'interface d'administration YunoHost → Applications → Installer → « Installer une application personnalisée », ou en ligne de commande :
yunohost app install https://github.com/<ton-compte>/vitransfer_ynh
YunoHost pose les questions (domaine, email admin, mot de passe admin) puis installe tout : Node 24, PostgreSQL, Redis, FFmpeg, les deux services systemd, nginx, le certificat.
Un sous-domaine dédié est obligatoire (ex.
vitransfer.example.tld). L'application n'a pas debasePath: un sous-chemin casserait les assets et les uploads TUS.
Ce que le paquet installe
| Composant | Détail |
|---|---|
vitransfer (systemd) |
Next.js 16 en production, port interne dédié, derrière nginx |
vitransfer-worker (systemd) |
Worker BullMQ : transcodage FFmpeg, notifications, nettoyage |
| PostgreSQL | Base dédiée via la ressource database |
| Redis | Instance YunoHost partagée, base logique réservée |
| FFmpeg | Paquet système (H.264 logiciel) + LUT previewlut.cube |
| Apprise | Virtualenv Python pour Gotify/ntfy/Telegram/Pushover |
Différences avec l'installation Docker upstream
| Docker (upstream) | Ce paquet | |
|---|---|---|
| Installation | docker-compose up -d |
yunohost app install |
| Reverse proxy | à votre charge | nginx + Let's Encrypt automatiques |
| Base de données | conteneur PostgreSQL 18 | PostgreSQL YunoHost |
| Redis | conteneur dédié | Redis YunoHost partagé |
| Mise à jour | docker pull |
yunohost app upgrade |
| Intégration | aucune | permissions, sauvegardes, monitoring YunoHost |
Prérequis
- YunoHost >= 12.1.40 (helpers 2.1)
- arm64 (Raspberry Pi 4/5) ou amd64
- 4 Go de RAM (le build Next.js consomme ~2 Go), 4+ cœurs recommandés
- ~3 Go d'espace disque pour l'application, plus la place des vidéos
Développement
vitransfer_ynh/
├── manifest.toml # packaging v2 : ressources, questions, autoupdate
├── scripts/
│ ├── _common.sh # helpers du paquet (secrets, build, LUT, apprise)
│ ├── install # npm ci → build → migrate → nginx/systemd → start
│ ├── upgrade # sources + rebuild + migrations + restart
│ ├── remove # services, LUT, base Redis, virtualenv
│ ├── backup # DB + uploads + sources (13 Mo) + conf système
│ ├── restore # restaure puis reconstruit l'application
│ └── change_url # régénère .env + rebuild (NEXT_PUBLIC_* est figé au build)
└── conf/
├── .env # template de configuration de l'application
├── nginx.conf # proxy + TUS (client_max_body_size, buffering off)
├── systemd.service # interface web
└── worker.service # worker de transcodage
Tests locaux recommandés sur une machine Debian 12 :
yunohost app install ./vitransfer_ynh -f
yunohost app upgrade vitransfer -F
yunohost app backup vitransfer
Licence
Le paquet suit l'application qu'il distribue : AGPL-3.0.