--- networks: default: name: media_network driver: bridge attachable: true volumes: media: # Media library driver: local driver_opts: type: "nfs" o: "addr=${NFS_SERVER},rw,tcp,nolock,hard,wsize=65536,rsize=65536" device: ":${NFS_VOLUME}/data/media" jellyseerr: # Jellyseerr app data. driver: local driver_opts: type: "nfs" o: "addr=${NFS_SERVER},rw,tcp,nolock,hard,wsize=65536,rsize=65536" device: ":${NFS_VOLUME}/docker_data/jellyseerr" jellyfin: # Jellyfin app data. driver: local driver_opts: type: "nfs" o: "addr=${NFS_SERVER},rw,tcp,nolock,hard,wsize=65536,rsize=65536" device: ":${NFS_VOLUME}/docker_data/jellyfin" cache: # Jellyfin cache data. driver: local driver_opts: type: "nfs" o: "addr=${NFS_SERVER},rw,tcp,nolock,hard,wsize=65536,rsize=65536" device: ":${NFS_VOLUME}/docker_data/jellyfin_cache" services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin restart: always user: 1000:1000 # Network mode of 'host' exposes the ports on the host. This is needed for DLNA access. # network_mode: 'host' volumes: - jellyfin:/config - cache:/cache - media:/media env_file: ./env/jellyfin.env healthcheck: test: curl -i http://localhost:8096/health || exit 1 interval: 10s timeout: 3s start_period: 60s jellyseerr: image: fallenbagel/jellyseerr:latest container_name: jellyseerr restart: always env_file: ./env/jellyfin.env volumes: - jellyseerr:/app/config depends_on: jellyfin: condition: service_healthy restart: true