---
title: "Jellyfin con Docker Compose y hosting en un clic"
description: "Jellyfin es un servidor multimedia gratuito para tus películas, series y música, una alternativa autoalojada a Plex. En tu propia máquina, en un clic."
---

[← Todas las plantillas](https://pethost.dev/es/templates/) · [Multimedia](https://pethost.dev/es/templates/media/)

# Despliega Jellyfin en un clic

Un servidor multimedia que transmite tus películas, series y música a cualquier dispositivo

Una alternativa autoalojada a Plex y Emby.

[Desplegar en Pethost](https://console.pethost.dev/?template=jellyfin)

## ¿Qué es Jellyfin?

Jellyfin es un servidor multimedia gratuito y de código abierto que la gente usa en lugar de Plex o Emby. Ordena en bibliotecas las películas, las series y la música que tienes, con pósteres, descripciones y reparto tomados de metadatos en línea, y los transmite a un navegador, a teléfonos, a tabletas y a televisores. Hay apps oficiales para Android, iOS, Android TV y Fire TV, Roku, televisores LG y Samsung, Xbox y Kodi, y Jellyfin Media Player funciona en equipos de escritorio. Cada persona tiene su propia cuenta, con su propio progreso de reproducción y su control parental.

Quienes autoalojan Jellyfin lo hacen para ver sus propios archivos multimedia desde cualquier lugar, sin una cuenta en ninguna empresa y sin suscripción: no tiene versión premium, ni rastreo, ni servidores centrales. Esta plantilla lo configura con el administrador que indicas en los campos y tres bibliotecas, Movies, Shows y Music, sobre las carpetas del volumen media. El inconveniente es la transcodificación. Cuando un dispositivo no puede reproducir un archivo tal cual, Jellyfin lo convierte sobre la marcha, aquí en la CPU, lo que resulta pesado; por eso los archivos que tus dispositivos reproducen directamente, como el video H.264 en MP4, son los ligeros.

## Hosting de Jellyfin en Pethost

1. Inicias sesión en Pethost con una passkey, GitHub o Google. ¿Aún no tienes máquina? Eliges un plan, y el enlace espera hasta que esté lista.
2. Nuevo proyecto se abre en Jellyfin. Rellenas lo que pide y haces clic en Crear proyecto: **Nombre de usuario**, **Contraseña de administrador**.
3. En un par de minutos Jellyfin está en marcha en su propia dirección con HTTPS. Sus secretos se generan al azar, y sus datos entran en el backup de cada noche.
4. Es un proyecto como cualquier otro: tú o tu agente lo pueden cambiar, volver a una versión anterior o restaurar.

## Preguntas sobre Jellyfin

**¿Jellyfin es realmente gratis?**

Sí. Jellyfin es software libre bajo la licencia GNU GPL, y su servidor y sus apps oficiales no cuestan nada, sin versión premium ni funciones de pago. Lo desarrollan voluntarios.

**Jellyfin frente a Plex: ¿cuál es la diferencia?**

Los dos transmiten tus propios archivos multimedia a tus dispositivos. El servidor de Plex es de código cerrado, sus cuentas pasan por plex.tv y, desde abril de 2025, ver tus archivos fuera de casa requiere un Plex Pass o un Remote Watch Pass. Jellyfin es de código abierto, no necesita ninguna cuenta externa y no cobra por nada.

**¿En qué dispositivos se puede ver Jellyfin?**

Jellyfin se puede ver en cualquier navegador moderno y en las apps oficiales para Android, iOS, Android TV y Fire TV, Roku, LG webOS, Samsung Tizen y Xbox. Jellyfin Media Player funciona en Windows, macOS y Linux, y el add-on JellyCon lleva Jellyfin a Kodi.

**¿Cómo debo nombrar mis películas y series para Jellyfin?**

Dale a cada película una carpeta con su título y su año por nombre, por ejemplo Big Buck Bunny (2008), y dentro, el video con ese mismo nombre. Cada serie lleva su propia carpeta, con las carpetas Season 01, Season 02 y así sucesivamente dentro, y los episodios llevan nombres como Show Name S01E01.mkv. Así Jellyfin encuentra los pósteres y las descripciones correctos.

**¿Jellyfin necesita una GPU?**

No. Una GPU solo acelera la transcodificación, la conversión que necesita un dispositivo cuando no puede reproducir un archivo tal cual; sin ella, Jellyfin transcodifica en la CPU. El video HDR es el caso difícil: según la documentación de Jellyfin, ninguna CPU de consumo moderna hace su mapeo de tonos en tiempo real. Los archivos que tus dispositivos reproducen tal cual no necesitan ninguna transcodificación.

**¿Cuánta memoria y disco necesita Jellyfin?**

Jellyfin usa unos 250 MB de memoria en reposo, y el disco es tu biblioteca; la transcodificación de un video se ejecuta en la CPU y es pesada. En Pethost le basta el plan Starter, y queda sitio para otras apps a su lado.

## El archivo Docker Compose de Jellyfin

La plantilla es este compose.yaml y las variables que se escriben en el .env del proyecto al crearlo. Pethost ejecuta el archivo tal como está escrito.

**Contenedores:** jellyfin (jellyfin/jellyfin:12).

**Volúmenes, en el backup de cada noche:** config, cache, media.

```
services:
  jellyfin:
    image: jellyfin/jellyfin:12
    restart: unless-stopped
    environment:
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # A new server's startup wizard is open to whoever comes first. So until the wizard is done,
    # Jellyfin runs on port 8097, which nobody reaches: there it is given the administrator from
    # the fields and a library for each folder of /media, and only then answers on 8096.
    entrypoint: ["/bin/sh", "-c"]
    command:
      - |
        set -e
        config=/config/config
        if ! grep -qs '<IsStartupWizardCompleted>true<' "$$config/system.xml"; then
          mkdir -p "$$config" /media/movies /media/shows /media/music
          if [ -f "$$config/network.xml" ]; then
            sed -i 's|<InternalHttpPort>[0-9]*<|<InternalHttpPort>8097<|' "$$config/network.xml"
          else
            printf '<?xml version="1.0" encoding="utf-8"?>\n<NetworkConfiguration>\n  <InternalHttpPort>8097</InternalHttpPort>\n</NetworkConfiguration>\n' > "$$config/network.xml"
          fi
          /jellyfin/jellyfin &
          setup=$$!
          api() { curl -fsS -H 'Content-Type: application/json' "$$@"; }
          # 401: an administrator with a password exists already, from a first start cut short,
          # and Jellyfin has marked its wizard done by itself.
          until wizard=$$(curl -sS -o /dev/null -w '%{http_code}' http://127.0.0.1:8097/Startup/Configuration) &&
            { [ "$$wizard" = 200 ] || [ "$$wizard" = 401 ]; }; do sleep 2; done
          if [ "$$wizard" = 200 ]; then
            api -d '{"ServerName":"Jellyfin","UICulture":"en-US","MetadataCountryCode":"US","PreferredMetadataLanguage":"en"}' http://127.0.0.1:8097/Startup/Configuration
            library() {
              api http://127.0.0.1:8097/Library/VirtualFolders | grep -q "\"Name\":\"$$1\"" ||
                api -d '{"LibraryOptions":{"EnableRealtimeMonitor":true}}' "http://127.0.0.1:8097/Library/VirtualFolders?name=$$1&collectionType=$$2&paths=/media/$$3"
            }
            library Movies movies movies
            library Shows tvshows shows
            library Music music music
            api -o /dev/null http://127.0.0.1:8097/Startup/User
            json() { printf '%s' "$$1" | sed 's/\\/\\\\/g; s/"/\\"/g'; }
            api -d "{\"Name\":\"$$(json "$$ADMIN_USERNAME")\",\"Password\":\"$$(json "$$ADMIN_PASSWORD")\"}" http://127.0.0.1:8097/Startup/User
            api -d '{"EnableRemoteAccess":true,"EnableAutomaticPortMapping":false}' http://127.0.0.1:8097/Startup/RemoteAccess
            api -X POST http://127.0.0.1:8097/Startup/Complete
          fi
          kill $$setup
          wait $$setup || true
          sed -i 's|<InternalHttpPort>8097<|<InternalHttpPort>8096<|' "$$config/network.xml"
        fi
        exec /jellyfin/jellyfin
    volumes:
      - config:/config
      - cache:/cache
      # Writable, so that films, shows and music can be copied in over SFTP.
      - media:/media

volumes:
  config:
  cache:
  media:
```

[compose.yaml](https://pethost.dev/templates/jellyfin/compose.yaml)[Verla en GitHub](https://github.com/pethost-dev/templates/tree/main/jellyfin)

## [Más en Multimedia](https://pethost.dev/es/templates/media/)

- [**Owncast**Video en tiempo real y chat en tu propia página](https://pethost.dev/es/templates/owncast/)
- [**Navidrome**Un servidor de música que transmite tu propia colección](https://pethost.dev/es/templates/navidrome/)
- [**RomM**Una biblioteca y un reproductor en el navegador para tus juegos retro](https://pethost.dev/es/templates/romm/)
- [**Komga**Un servidor y lector web para tus cómics, manga y libros electrónicos](https://pethost.dev/es/templates/komga/)
- [**Lychee**Una galería para subir, ordenar y compartir tus fotos](https://pethost.dev/es/templates/lychee/)
- [**Audiobookshelf**Tu propio servidor de audiolibros y podcasts: escucha en el navegador o en las apps, con el progreso guardado entre dispositivos](https://pethost.dev/es/templates/audiobookshelf/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Plantillas](https://pethost.dev/es/templates/)
- [Sobre nosotros](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/es/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Términos](https://pethost.dev/terms/)
- [Privacidad](https://pethost.dev/privacy/)
- [Reembolsos](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bases de datos

- [Postgres](https://pethost.dev/es/postgres/)

Comparativas

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/es/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/es/blog/coolify-cloud-vs-dokploy-cloud/)
- [Precios de Railway vs Render vs Fly.io](https://pethost.dev/es/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hosting gestionado para Docker Compose](https://pethost.dev/es/blog/managed-docker-compose-hosting/)

Alternativas

- [Alternativas a Railway](https://pethost.dev/es/blog/railway-alternatives/)
- [Alternativas a Heroku](https://pethost.dev/es/blog/heroku-alternatives/)
- [Alternativas a Dokploy](https://pethost.dev/es/blog/dokploy-alternatives/)
- [Alternativas a Coolify](https://pethost.dev/es/blog/coolify-alternatives/)
- [Alternativas a Render](https://pethost.dev/es/blog/render-alternatives/)
- [Alternativas a Sliplane](https://pethost.dev/es/blog/sliplane-alternatives/)
