# Jellyfin

Media server that streams your own movies, shows, music and photos to apps and browsers.

- Replaces: [Netflix](https://openlogs.fyi/alternatives/netflix), [Plex](https://openlogs.fyi/alternatives/plex)
- Summary: Paid media streaming services, such as Plex and Netflix.
- Stack: C# (language)
- Deployment: docker_compose
- License: GPL-2.0 (osi) [source](https://github.com/jellyfin/jellyfin/blob/c7ce6a1b56ee7dcc1896250df0f2f9deaa828a81/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/jellyfin/jellyfin/blob/c7ce6a1b56ee7dcc1896250df0f2f9deaa828a81/README.md), read 2026-10-22)
- Difficulty: easy. 1 service, 5 volume mounts, no env values to set, no elevated host access. Heuristic score 2 of 11: easy.
- Requirements: not stated
- Repository: [jellyfin/jellyfin](https://github.com/jellyfin/jellyfin)

## Install

1. Docker with the Compose plugin ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md#L5-L37))

   ```text
   A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
   ```

2. Save the code block as docker-compose.yml ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md))

   ```yaml
   services:
     jellyfin:
       image: jellyfin/jellyfin
       container_name: jellyfin
       # Optional - specify the uid and gid you would like Jellyfin to use instead of root
       user: uid:gid
       ports:
         - 8096:8096/tcp
         - 7359:7359/udp
       volumes:
         - /path/to/config:/config
         - /path/to/cache:/cache
         - type: bind
           source: /path/to/media
           target: /media
         - type: bind
           source: /path/to/media2
           target: /media2
           read_only: true
         # Optional - extra fonts to be used during transcoding with subtitle burn-in
         - type: bind
           source: /path/to/fonts
           target: /usr/local/share/fonts/custom
           read_only: true
       restart: 'unless-stopped'
       # Optional - alternative address used for autodiscovery
       environment:
         - JELLYFIN_PublishedServerUrl=http://example.com
       # Optional - may be necessary for docker healthcheck to pass if running in host network mode
       extra_hosts:
         - 'host.docker.internal:host-gateway'
   ```

3. What the compose file check ran with ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md#L5-L37))

   ```text
   This compose file is copied unchanged from the code block in https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md#L5-L37. The check ran on that block alone. The container installation guide of the project shows this file and tells the reader to run docker compose up in the same folder.
   ```

4. Start it ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md))

   ```bash
   docker compose up -d
   ```

5. Open the app ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md))

   ```text
   Open http://localhost:8096. The compose file publishes host port 8096 for the jellyfin service.
   ```

Compose file check: config_ok on 2026-10-22.

## Gotchas and maintenance

### Gotchas

- Some images use the latest tag or no tag: Images without a pinned version: jellyfin: jellyfin/jellyfin (no tag). A later pull can get a different version. ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md), checked 2026-10-22)
- The compose file has placeholder values: Placeholder values: user is "uid:gid" (jellyfin). ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md), checked 2026-10-22)
- The compose file publishes host ports: Host ports: 8096 (jellyfin), 7359/udp (jellyfin). A port without a host address listens on all host network interfaces. ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md), checked 2026-10-22)
- The compose file mounts host folders: Host paths mounted into containers: /path/to/config at /config (jellyfin), /path/to/cache at /cache (jellyfin), /path/to/media at /media (jellyfin), /path/to/media2 at /media2 (jellyfin), /path/to/fonts at /usr/local/share/fonts/custom (jellyfin). ([source](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 805
- Stars: 58371, forks: 5697
- Last push: 2026-10-22 (0 days ago)
- Latest release: v12.2 on 2026-10-05 (17 days ago)

## Sources

- [Repository: https://github.com/jellyfin/jellyfin](https://github.com/jellyfin/jellyfin)
- [License: https://github.com/jellyfin/jellyfin/blob/c7ce6a1b56ee7dcc1896250df0f2f9deaa828a81/LICENSE](https://github.com/jellyfin/jellyfin/blob/c7ce6a1b56ee7dcc1896250df0f2f9deaa828a81/LICENSE)
- [Business model: https://github.com/jellyfin/jellyfin/blob/c7ce6a1b56ee7dcc1896250df0f2f9deaa828a81/README.md](https://github.com/jellyfin/jellyfin/blob/c7ce6a1b56ee7dcc1896250df0f2f9deaa828a81/README.md)
- [Compose file: https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/\_container-docker-compose.md](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md)
- [Install step: https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/\_container-docker-compose.md#L5-L37](https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md#L5-L37)

---
Canonical: https://openlogs.fyi/tools/jellyfin  
Last updated: 2026-10-22
