Add my Jellyfin docker-compose configuration

This commit is contained in:
Martin Dimitrov 2021-12-04 12:34:57 +02:00
parent 25e61b0b66
commit 8ff3346d85
3 changed files with 54 additions and 21 deletions

View file

@ -0,0 +1,36 @@
---
version: '3.7'
services:
jellyfin:
container_name: jellyfin
image: linuxserver/jellyfin:latest
restart: unless-stopped
volumes:
- /media/jellyfin:/config
- /media/Movies:/media/Movies
- /media/Series:/media/Series
- /media/Videos:/media/Videos
- /media/Concerts:/media/Concerts
environment:
- PUID=9090
- PGID=9090
- TZ=Europe/Sofia
ports:
- 8096:8096
labels:
- traefik.enable=true
- traefik.http.routers.jellyfin.rule=Host('jf.chuchelo.net')
- traefik.http.routers.jellyfin.entrypoints=https
- traefik.http.routers.jellyfin.tls=true
- traefik.http.routers.jellyfin.tls.certresolver=letsencrypt
- traefik.http.routers.jellyfin.middlewares=jellyfin-mw
- traefik.http.middlewares.jellyfin-mw.headers.customResponseHeaders.X-Robots-Tag=noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex
- traefik.http.middlewares.jellyfin-mw.headers.STSSeconds=315360000
- traefik.http.middlewares.jellyfin-mw.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.jellyfin-mw.headers.STSPreload=true
- traefik.http.middlewares.jellyfin-mw.headers.forceSTSHeader=true
- traefik.http.middlewares.jellyfin-mw.headers.frameDeny=true
- traefik.http.middlewares.jellyfin-mw.headers.contentTypeNosniff=true
- traefik.http.middlewares.jellyfin-mw.headers.browserXSSFilter=true
- traefik.http.middlewares.jellyfin-mw.headers.customFrameOptionsValue='allow-from https://jf.chuchelo.net'

View file

@ -0,0 +1,4 @@
- name: restart jellyfin
shell:
chdir: /opt/jellyfin
cmd: "{{ docker_update_command }}"

View file

@ -1,24 +1,17 @@
- name: Add Jellyfin apt key
ansible.builtin.apt_key:
url: https://repo.jellyfin.org/jellyfin_team.gpg.key
state: present
- name: Create install directory
file:
path: /opt/jellyfin
state: directory
owner: "{{ docker_user.name }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Add Jellyfin repository
apt_repository:
repo: deb [arch=amd64] https://repo.jellyfin.org/debian {{ ansible_distribution_release }} main
filename: jellyfin
state: present
become: true
- name: Install jellyfin
package:
name: jellyfin
become: true
- name: Set media dir permissions
cron:
name: Set media permissions
special_time: daily
job: chown -R jellyfin:jellyfin /mnt/media
- name: Install compose file
template:
src: files/docker-compose.yml
dest: /opt/jellyfin/docker-compose.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
validate: docker-compose -f %s config
notify: restart jellyfin
become: true