From 737c710be96c7fd0b8379c19f3d3b9988a36b772 Mon Sep 17 00:00:00 2001 From: Nik Afiq Date: Tue, 30 Sep 2025 00:17:57 +0900 Subject: [PATCH] Initial commit --- jellyfin.conf | 69 +++++++++++++++++++++++++++++++++++++++++++++++ proxy-common.conf | 16 +++++++++++ 2 files changed, 85 insertions(+) create mode 100644 jellyfin.conf create mode 100644 proxy-common.conf diff --git a/jellyfin.conf b/jellyfin.conf new file mode 100644 index 0000000..2b17e44 --- /dev/null +++ b/jellyfin.conf @@ -0,0 +1,69 @@ +# /etc/nginx/sites-available/jellyfin +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +server { + listen 80; + server_name nik4nao.home.arpa; + + # Jellyfin (unchanged) + location = /jellyfin { return 302 /jellyfin/; } + location /jellyfin/ { + proxy_pass http://192.168.7.96:8096/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /jellyfin; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_buffering off; + client_max_body_size 0; + proxy_read_timeout 600; + proxy_send_timeout 600; + send_timeout 600; + } + + # ---- Pi-hole at /admin/ (no subpath tricks) ---- + + # Optional: make / and /pihole go to /admin/ + location = / { return 302 /admin/; } + location = /pihole { return 302 /admin/; } + location /pihole/ { return 301 /admin/; } + + # Pi-hole UI + location /admin/ { + proxy_pass http://127.0.0.1:8081/admin/; + + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_http_version 1.1; + proxy_set_header Connection ""; + + proxy_buffering off; + client_max_body_size 0; + proxy_read_timeout 600; + proxy_send_timeout 600; + send_timeout 600; + } + + # Pi-hole API (some UI calls hit /api) + location /api/ { + proxy_pass http://127.0.0.1:8081/api/; + + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_http_version 1.1; + proxy_set_header Connection ""; + } +} diff --git a/proxy-common.conf b/proxy-common.conf new file mode 100644 index 0000000..d20f87a --- /dev/null +++ b/proxy-common.conf @@ -0,0 +1,16 @@ +# Common reverse-proxy headers +proxy_set_header Host $http_host; +proxy_set_header X-Real-IP $remote_addr; +proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +proxy_set_header X-Forwarded-Proto $scheme; +proxy_http_version 1.1; +proxy_set_header Connection ""; + +# Reasonable timeouts (uploads/streams) +client_max_body_size 0; +proxy_read_timeout 600; +proxy_send_timeout 600; +send_timeout 600; + +# Don’t cache proxied errors by mistake +proxy_buffering off; \ No newline at end of file