Table des matières
Déployer le conteneur Mazinger-Extractor
Docker
Chaque archive contient :
. ├── docker-compose-ALPINE.yml # Le Ficher compose ├── Dockerfile-ALPINE # Le Dockerfile ├── download.php # La Gestion des téléchargements ├── index2.html # Variante de l'interface utilisateur avec Note Music fottante ├── index.html # Interface utilisateur classique ├── process.php # Le Backend de traitement └── start-alpine.sh # Le Script Clé en main
════════════════════════════════════════════════════════════ 🐳 Mazinger Audio Extractor - Déploiement Docker ════════════════════════════════════════════════════════════ 🔍 Vérification des prérequis... ✅ Docker installé : Docker version 29.0.0, build 3d4129b ✅ Docker Compose installé 📁 Vérification des fichiers... ✅ Tous les fichiers sont présents 🚀 Que voulez-vous faire ? 1) Démarrer (build + start) 2) Arrêter 3) Redémarrer 4) Voir les logs 5) Reconstruire l image 6) Tout supprimer (containers + volumes) 7) Afficher le statut Choix (1-7) : # Backend de traitement
64x86 Version
Image docker avec debian + Apache.
📌 mazinger-extrator_docker_debian_apache-86x64.zip
ARMHF64 Debian
image docker avec Debian + Apache.
📌 mazinger-extractor-docker_debian_apache-armhf.zip
ARMHF64 Alpine
image docker avec alpine Linux + Nginx.
📌 mazinger-extractor_docker_alpine_nginx-armhf.zip
Standalone
Apache ou Nginx
📌 mazinger-extractor_apache_std-armhf.zip
Pour les version Dockerisées le port par défaut est le 9090
📋 Prérequis
Serveur Web 🌐 Apache ou Nginx
- PHP 7.4+ avec les extensions:
- `shell_exec` activé
- `json`
- `fileinfo`
🔧 Dépendances
1. Installer yt-dlp
yt-dlp est l'outil principal pour télécharger depuis YouTube.
sudo apt update sudo apt install python3 python3-pip sudo pip3 install -U yt-dlp
Contrôle de version :
yt-dlp --version
2. Installer FFmpeg
FFmpeg est nécessaire pour la conversion audio.
sudo apt install ffmpeg
Contrôle de version :
📁 Structure des Fichiers
/var/www/html/audio-extractor/ │ ├── index.html # Interface utilisateur ├── indexv2.html # Variante de l'interface utilisateur avec Note Music fottante ├── process.php # Backend de traitement ├── download.php # Gestion des téléchargements ├── downloads/ # Dossier des fichiers générés ├── generate_api_key.php # Page qui vous aidera a générer une clé API* └── temp/ # Dossier temporaire
La Clé d'API sert à valider les ordres envoyés depuis la page index.html vers process.php
Modifiez `process.php` pour ajouter une clé API
Puis dans le JavaScript (index.html)
- Copier ces fichiers sur votre serveur Web
- Définir les permissions
# Propriétaire des fichiers (remplacer www-data si nécessaire) sudo chown -R www-data:www-data /var/www/html/audio-extractor # Permissions des dossiers sudo chmod 755 /var/www/html/audio-extractor sudo chmod 775 downloads/ sudo chmod 775 temp/ # Permissions des fichiers PHP sudo chmod 644 *.php *.html
- Configuration PHP
Vérifiez que `shell_exec` est activé dans `php.ini`:
sudo nano /etc/php/8.1/apache2/php.ini # ou sudo nano /etc/php/8.1/fpm/php.ini disable_functions = # Assurez-vous que shell_exec n'est PAS dans la liste
- Redémarrez Apache/Nginx
sudo systemctl restart apache2 # ou sudo systemctl restart nginx sudo systemctl restart php8.1-fpm
Attention dans l'archive un fichier .htaccess est présent mais non visible
⛔ .htaccess
Éditer et modifier en fonction de votre serveur Web :
**Dans Apache (.htaccess):** ```apache <Files "process.php"> Order Deny,Allow Deny from all Allow from 192.168.1.0/24 Allow from YOUR.IP.ADDRESS </Files> ``` **Dans Nginx:** ```nginx location /process.php { allow 192.168.1.0/24; allow YOUR.IP.ADDRESS; deny all; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; include fastcgi_params; }
🪛 Taille et Débit
Ajoutez dans `process.php`: ```php // Limite de taille vidéo (en Mo) define('MAX_FILESIZE', 100); // Dans la fonction downloadAudio, ajoutez: $ytdlpCommand .= ' --max-filesize ' . MAX_FILESIZE . 'M'; ```
🧽 Nettoyage automatique
Créez un cron job pour nettoyer les vieux fichiers:
crontab -e 0 */6 * * * find /var/www/html/audio-extractor/downloads -type f -mmin +60 -delete 0 */6 * * * find /var/www/html/audio-extractor/temp -type f -mmin +60 -delete
🧰 Dépannage
Erreur 403 Forbidden
- Mettez à jour yt-dlp:
pip3 install -U yt-dlp
⚖️ Licence et Responsabilité
- Utilisez ce système de manière responsable
- Respectez les droits d'auteur
- Conformez-vous aux lois locales
- L'auteur n'est pas responsable de l'usage abusif
Performance
┌──────────────┬──────────────┬──────────────┬──────────────┐ │ Critère │ Deb armhf │ Alpine std │ Alp MAZINGER │ ├──────────────┼──────────────┼──────────────┼──────────────┤ │⚖️ Taille │ 350 MB │ 80 MB │ 🤖 85 MB │ │⚙️ aria2c │ ✅ │ ❌ │ 🤖 ✅ │ │🎵 MP3 128k │ 18s │ 65s │ 🤖 40s │ │📊 RAM │ 650 MB │ 450 MB │ 🤖 500 MB │ │⌚ Build RPi │ 30 min │ 12 min │ 🤖 12 min │ └──────────────┴──────────────┴──────────────┴──────────────┘
— sylvain 2025/11/27 00:32
