Plataforma para gestión y streaming de podcasts autoalojada con Docker Compose
¿Te imaginas tener tu plataforma privada de podcasts, gestionada de manera profesional, con soporte para varios usuarios y acceso vía web, todo en tu propio servidor o VPS? Hoy te traigo un proyecto de tendencia (potenciado por la popularidad del podcasting) listo para desplegar con Docker Compose, incluyendo Podify (un frontend superamigable), Ponicast-API para los feeds, una base de datos PostgreSQL, y un servicio de almacenamiento de archivos tipo S3 (MinIO).
¿Por qué desplegar tu sistema de podcasts?
- Privacidad absoluta: Tus episodios se sirven directamente desde tu máquina. Sin algoritmos, sin intermediarios.
 - Control granular: Multiusuario, feeds protegidos con contraseña y posibilidad de limitar el acceso por IP o usuario.
 - Streaming y descargas: Compatible con apps de podcast externas (Overcast, Pocket Casts, Apple Podcasts…) o escucha directa por web.
 - Integración fácil: Puedes añadir otros sistemas (backup automático, transcripción, estadísticas) fácilmente, gracias a la arquitectura de microservicios de Docker [1].
 
¡Manos a la obra! El docker-compose.yml para tu plataforma de podcasts
version: "3.8"
services:
  postgres:
    image: postgres:15
    container_name: podcasts_postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: podify
      POSTGRES_USER: podifyuser
      POSTGRES_PASSWORD: strongsecret
    volumes:
      - postgres_data:/var/lib/postgresql/data
  minio:
    image: minio/minio:latest
    container_name: podcasts_minio
    restart: unless-stopped
    environment:
      MINIO_ROOT_USER: "minioadmin"
      MINIO_ROOT_PASSWORD: "minioadminstrongpass"
    command: server /data
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - minio_data:/data
  podify-backend:
    image: ghcr.io/podify-org/podify-backend:latest
    container_name: podcasts_backend
    restart: unless-stopped
    environment:
      PODIFY_DB_HOST: postgres
      PODIFY_DB_USER: podifyuser
      PODIFY_DB_PASSWORD: strongsecret
      PODIFY_DB_NAME: podify
      PODIFY_S3_HOST: minio
      PODIFY_S3_PORT: 9000
      PODIFY_S3_ACCESS_KEY: minioadmin
      PODIFY_S3_SECRET_KEY: minioadminstrongpass
      PODIFY_S3_BUCKET: podify-media
      PODIFY_S3_SSL: "false"
      PODIFY_ADMIN_USER: admin
      PODIFY_ADMIN_PASS: ultra_secure
    depends_on:
      - postgres
      - minio
    ports:
      - "8080:8080"
  podify-frontend:
    image: ghcr.io/podify-org/podify-frontend:latest
    container_name: podcasts_frontend
    restart: unless-stopped
    environment:
      PODIFY_API_HOST: podify-backend
    depends_on:
      - podify-backend
    ports:
      - "80:80"
volumes:
  postgres_data:
  minio_data:
  
Explicación del stack
- PostgreSQL: Toda la base de datos y la gestión de usuarios, podcasts y episodios.
 - MinIO: Almacena los audios sin cuota (ideal para cientos de episodios) y se comporta como un S3 local.
 - Podify Backend: Gestiona la lógica de la API, la validación de usuarios y el control de flujos RSS.
 - Podify Frontend: Una web moderna para descubrir, subir y escuchar episodios, con login integrado.
 
Primeros pasos tras levantar el stack
- Accede a http://localhost para usar la interfaz web de Podify usando el usuario y contraseña que definiste.
 - Configura los feeds públicos o privados, añade tu podcast y comienza a subir episodios.
 - Entra a http://localhost:9000 (usuario: minioadmin, pass: minioadminstrongpass) para gestionar los archivos en MinIO si lo necesitas.
 - Puedes acceder a la API en http://localhost:8080 para integraciones avanzadas.
 
Consejos útiles y troubleshooting
- Paso imprescindible: La primera vez que arranques, entra a MinIO y crea el bucket «podify-media». Sin él, fallará la subida de episodios.
 - HTTPS: Si vas a exponer tu plataforma fuera de tu LAN, pon un proxy inverso como Nginx Proxy Manager delante, y usa HTTPS para los cuatro servicios*.
 - Backups periódicos: Monta el volumen 
postgres_datayminio_datafuera del contenedor para copias automáticas. - ¿Problemas creando el usuario admin? Prueba reiniciando podify-backend y borra el volumen si es la primera vez que lo iniciaste mal.
 
¿Te animas? Con este stack dockerizado, montar tu propio sistema de podcasts es más fácil de lo que pensabas. ¡Domina tus audios y olvida las plataformas ajenas!
