📘 Tutorial: Instalación y compilación de u2vpodcast en una VM Oracle Linux (ARM64)
🇬🇧 Also read this post in English
🎯 Objetivo
Documentar la instalación y compilación del proyecto u2vpodcast en una máquina virtual ARM64 con recursos limitados, usando Oracle Linux 8.10 y Docker.
🧩 Datos técnicos de la máquina virtual
- SO: Oracle Linux Server 8.10
- Kernel: Linux 5.4.x
- Arquitectura: ARM64 (aarch64)
- CPU: 1 núcleo Neoverse-N1 (ARMv8)
- RAM: 5,6 GiB
- Swap: 4 GiB
- Disco: 46 GiB totales (~50% libre)
👉 Interpretación: La RAM es suficiente para compilar y ejecutar contenedores. El principal cuello de botella es la CPU única, que ralentiza compilaciones y procesamientos.
🛠️ Preparación inicial del sistema
sudo dnf update -y
sudo dnf install -y git curl wget unzip tar
🐳 Instalación de Docker y Docker Compose
sudo dnf install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
docker --version
docker compose version
📂 Clonar el proyecto u2vpodcast
git clone https://github.com/usuario/u2vpodcast.git
cd u2vpodcast
⚠️ Problema inicial: incompatibilidad de arquitectura
La imagen oficial estaba compilada para amd64, lo que en ARM64 genera:
exec format error
🔧 Solución: compilación nativa en ARM64
cd ~/u2vpodcast
docker build -t u2vpodcast:arm64 .
👉 Gracias a los 5.6 GB de RAM, la compilación fue estable aunque más lenta por la CPU única.
⚙️ Configuración de Docker Compose
- docker-compose.yml → servicio principal
- docker-compose.proxy.yml → proxy inverso con Caddy (HTTPS automático)
docker compose -f docker-compose.yml -f docker-compose.proxy.yml up -d
🧪 Verificación de funcionamiento
docker ps
docker logs -f u2vpodcast
docker exec -it u2vpodcast sqlite3 /app/db/u2vpodcast.db "select count(*), coalesce(sum(listen),0) from episodes;"
docker exec -it u2vpodcast sh -lc 'find /app/audios -type f | sort | tail -n 20'
⚡ Impacto de las limitaciones de hardware
- RAM (5.6 GB): suficiente.
-
CPU (1 core):
- Compilaciones largas
- Conversión de vídeos lenta
- Uso intensivo en ffmpeg y yt-dlp
👉 Recomendación: mantener procesos en serie y evitar paralelismo.
✅ Conclusiones
- Instalación funcional en VM ARM64.
- Docker y Caddy operativos con HTTPS.
- Compilación nativa resolvió incompatibilidad de arquitectura.
- Principal limitación: la CPU única.
🙌 Créditos y enlaces útiles
El proyecto u2vpodcast es desarrollado por Lorenzo Carbonell (Atareao).
Top comments (0)