Add my Jellyfin docker-compose configuration
This commit is contained in:
parent
25e61b0b66
commit
8ff3346d85
3 changed files with 54 additions and 21 deletions
36
ansible/roles/jellyfin/files/docker-compose.yml
Normal file
36
ansible/roles/jellyfin/files/docker-compose.yml
Normal 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'
|
||||
4
ansible/roles/jellyfin/handlers/main.yml
Normal file
4
ansible/roles/jellyfin/handlers/main.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
- name: restart jellyfin
|
||||
shell:
|
||||
chdir: /opt/jellyfin
|
||||
cmd: "{{ docker_update_command }}"
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue