My Personal Wiki

La théorie, c'est quand on sait tout et que rien ne fonctionne.... La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

Outils pour utilisateurs

Outils du site


linux:conteneur:docker:mazinger-extractor

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:

  1. `shell_exec` activé
  2. `json`
  3. `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é

  1. Utilisez ce système de manière responsable
  2. Respectez les droits d'auteur
  3. Conformez-vous aux lois locales
  4. 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

linux/conteneur/docker/mazinger-extractor.txt · Dernière modification : de sylvain

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki