{"id":44889,"date":"2026-09-25T09:09:44","date_gmt":"2026-09-25T06:09:44","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/"},"modified":"2026-09-25T09:10:13","modified_gmt":"2026-09-25T06:10:13","slug":"jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/","title":{"rendered":"Jellyfin&#8217;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<h2>Jellyfin&#8217;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber<\/h2>\n<p>Dijital medya k\u00fct\u00fcphanenizi y\u00f6netmek, filmlerinizi, dizilerinizi ve m\u00fcziklerinizi istedi\u011finiz zaman, istedi\u011finiz yerden eri\u015filebilir k\u0131lmak art\u0131k karma\u015f\u0131k bir s\u00fcre\u00e7 olmak zorunda de\u011fil. Kendi medya sunucunuzu kurarak dijital varl\u0131klar\u0131n\u0131z \u00fczerinde tam kontrol sahibi olabilirsiniz. Bu rehberde, a\u00e7\u0131k kaynakl\u0131 medya sunucusu Jellyfin&#8217;i, modern bir ters proxy (reverse proxy) ve y\u00fck dengeleyici olan Traefik ile birle\u015ftirerek, medya k\u00fct\u00fcphanenize hem g\u00fcvenli hem de kolayca eri\u015filebilir bir kap\u0131 a\u00e7man\u0131n inceliklerini ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h2>Kendi Medya Sunucunuz Neden \u00d6nemli? Jellyfin ve Traefik Nedir?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz dijital \u00e7a\u011f\u0131nda, i\u00e7erik t\u00fcketimi al\u0131\u015fkanl\u0131klar\u0131m\u0131z h\u0131zla de\u011fi\u015fiyor. Art\u0131k sadece televizyon kanallar\u0131na veya belirli platformlara ba\u011fl\u0131 kalmak yerine, kendi medya k\u00fct\u00fcphanelerimizi olu\u015fturma ve bu k\u00fct\u00fcphanelere istedi\u011fimiz zaman eri\u015fme arzusu giderek art\u0131yor. Ancak bu durum, gizlilik endi\u015feleri, platform ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 ve y\u00fcksek abonelik \u00fccretleri gibi \u00e7e\u015fitli zorluklar\u0131 da beraberinde getirebiliyor. \u0130\u015fte tam da bu noktada, kendi medya sunucunuzu bar\u0131nd\u0131rmak (self-hosting) devreye giriyor ve dijital \u00f6zg\u00fcrl\u00fc\u011f\u00fcn\u00fcz\u00fc yeniden tan\u0131ml\u0131yor.<\/p>\n<p>Kendi medya sunucunuzu kurman\u0131n en b\u00fcy\u00fck avantajlar\u0131ndan biri, medya i\u00e7eri\u011finiz \u00fczerinde tam kontrol sa\u011flaman\u0131zd\u0131r. Hangi filmlerin, dizilerin veya m\u00fcziklerin k\u00fct\u00fcphanenizde yer alaca\u011f\u0131na, bu i\u00e7eri\u011fin nas\u0131l d\u00fczenlenece\u011fine ve kimlerin eri\u015febilece\u011fine siz karar verirsiniz. \u00dc\u00e7\u00fcnc\u00fc taraf hizmetlerin k\u0131s\u0131tlamalar\u0131ndan veya sans\u00fcr politikalar\u0131ndan etkilenmezsiniz. Ayr\u0131ca, ki\u015fisel verilerinizin gizlili\u011fi konusunda endi\u015felenmenize gerek kalmaz, \u00e7\u00fcnk\u00fc t\u00fcm verileriniz kendi sunucunuzda g\u00fcvende olur. Bu yakla\u015f\u0131m, uzun vadede abonelik maliyetlerinden tasarruf etmenizi sa\u011flayabilir ve ayn\u0131 zamanda teknoloji bilginizi geli\u015ftirmeniz i\u00e7in harika bir f\u0131rsat sunar.<\/p>\n<h3>Jellyfin: \u00d6zg\u00fcr ve A\u00e7\u0131k Kaynak Medya Merkezi<\/h3>\n<p>Jellyfin, bu dijital \u00f6zg\u00fcrl\u00fc\u011f\u00fc ger\u00e7e\u011fe d\u00f6n\u00fc\u015ft\u00fcren, \u00fccretsiz ve a\u00e7\u0131k kaynakl\u0131 bir medya sunucusu yaz\u0131l\u0131m\u0131d\u0131r. Plex ve Emby gibi pop\u00fcler ticari alternatiflere g\u00fc\u00e7l\u00fc bir rakip olarak ortaya \u00e7\u0131kan Jellyfin, kullan\u0131c\u0131lar\u0131na kendi medya k\u00fct\u00fcphanelerini d\u00fczenleme, kataloglama ve \u00e7e\u015fitli cihazlar \u00fczerinden yay\u0131nlama imkan\u0131 sunar. En b\u00fcy\u00fck fark\u0131 ise, tamamen topluluk destekli olmas\u0131 ve hi\u00e7bir \u00fccretli \u00f6zelli\u011fe sahip olmamas\u0131d\u0131r. Jellyfin ile filmlerinizi, dizilerinizi, m\u00fcziklerinizi, foto\u011fraflar\u0131n\u0131z\u0131 ve hatta canl\u0131 TV yay\u0131nlar\u0131n\u0131z\u0131 tek bir merkezi konumda toplayabilir, zengin meta veriler (kapak resimleri, \u00f6zetler, oyuncu bilgileri) ile d\u00fczenleyebilir ve ak\u0131ll\u0131 TV&#8217;lerden, mobil cihazlardan, web taray\u0131c\u0131lar\u0131ndan veya medya oynat\u0131c\u0131lardan kolayca eri\u015febilirsiniz.<\/p>\n<p>Jellyfin&#8217;in \u00f6ne \u00e7\u0131kan baz\u0131 \u00f6zellikleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Platform Ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131:<\/strong> Windows, Linux, macOS ve Docker gibi \u00e7e\u015fitli platformlarda \u00e7al\u0131\u015fabilir.<\/li>\n<li><strong>Geni\u015f Cihaz Deste\u011fi:<\/strong> Android, iOS, Apple TV, Roku, Chromecast, Fire TV ve web taray\u0131c\u0131lar\u0131 dahil olmak \u00fczere bir\u00e7ok cihazda kullan\u0131labilir uygulamalar\u0131 mevcuttur.<\/li>\n<li><strong>Donan\u0131m H\u0131zland\u0131rma (Hardware Transcoding):<\/strong> Desteklenen donan\u0131mlar (Intel Quick Sync, NVIDIA NVENC, AMD VCE\/VCN) ile medya d\u00f6n\u00fc\u015ft\u00fcrme (transcoding) i\u015flemlerini h\u0131zland\u0131rarak d\u00fc\u015f\u00fck bant geni\u015fli\u011fine sahip cihazlarda bile sorunsuz yay\u0131n deneyimi sunar.<\/li>\n<li><strong>Kullan\u0131c\u0131 Y\u00f6netimi:<\/strong> Aile \u00fcyeleri veya arkada\u015flar\u0131n\u0131z i\u00e7in ayr\u0131 kullan\u0131c\u0131 hesaplar\u0131 olu\u015fturabilir, her kullan\u0131c\u0131ya \u00f6zel eri\u015fim izinleri ve k\u00fct\u00fcphane eri\u015fimi tan\u0131mlayabilirsiniz.<\/li>\n<li><strong>Canl\u0131 TV ve DVR:<\/strong> Uyumlu TV tunerleri ile canl\u0131 TV yay\u0131nlar\u0131n\u0131 izleyebilir ve kaydedebilirsiniz.<\/li>\n<li><strong>Eklenti Deste\u011fi:<\/strong> \u00c7e\u015fitli eklentilerle i\u015flevselli\u011fini geni\u015fletebilirsiniz.<\/li>\n<\/ul>\n<p>Bu \u00f6zellikler, Jellyfin&#8217;i kendi medya merkezinizi kurmak isteyen herkes i\u00e7in cazip bir se\u00e7enek haline getirir.<\/p>\n<h3>Traefik: Modern Uygulamalar \u0130\u00e7in Dinamik Ters Proxy ve Y\u00fck Dengeleyici<\/h3>\n<p>Medya sunucunuzu ev a\u011f\u0131n\u0131z\u0131n d\u0131\u015f\u0131ndan g\u00fcvenli bir \u015fekilde eri\u015filebilir k\u0131lmak i\u00e7in bir ters proxy&#8217;ye ihtiyac\u0131n\u0131z vard\u0131r. \u0130\u015fte burada Traefik devreye giriyor. Traefik, modern bulut tabanl\u0131 uygulamalar, mikro hizmetler ve konteyner tabanl\u0131 ortamlar i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131 bir kenar y\u00f6nlendirici (edge router), ters proxy ve y\u00fck dengeleyicidir. Gelen a\u011f isteklerini dinler ve bu istekleri do\u011fru arka u\u00e7 hizmetlerine (\u00f6rne\u011fin Jellyfin sunucunuza) y\u00f6nlendirir.<\/p>\n<p>Traefik&#8217;i bu kadar \u00f6zel k\u0131lan \u015fey, dinamik yap\u0131land\u0131rma yetene\u011fidir. Docker, Kubernetes, Rancher gibi konteyner orkestrasyon ara\u00e7lar\u0131yla do\u011frudan entegre olabilir ve yeni servisler da\u011f\u0131t\u0131ld\u0131\u011f\u0131nda veya mevcut servisler g\u00fcncellendi\u011finde yap\u0131land\u0131rmas\u0131n\u0131 otomatik olarak g\u00fcncelleyebilir. Bu, manuel yap\u0131land\u0131rma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r ve y\u00f6netim y\u00fck\u00fcn\u00fc b\u00fcy\u00fck \u00f6l\u00e7\u00fcde azalt\u0131r.<\/p>\n<p>Traefik&#8217;in temel faydalar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Otomatik Ke\u015fif:<\/strong> Konteyner tabanl\u0131 servisleri otomatik olarak alg\u0131lar ve bunlar i\u00e7in y\u00f6nlendirme kurallar\u0131 olu\u015fturur.<\/li>\n<li><strong>Otomatik SSL\/TLS:<\/strong> Let&#8217;s Encrypt gibi hizmetlerle entegre olarak alan adlar\u0131n\u0131z i\u00e7in otomatik olarak SSL\/TLS sertifikalar\u0131 sa\u011flar ve yeniler, b\u00f6ylece g\u00fcvenli (HTTPS) ba\u011flant\u0131lar kurman\u0131z\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Y\u00fck Dengeleme:<\/strong> Birden fazla arka u\u00e7 servisi aras\u0131nda trafi\u011fi da\u011f\u0131tarak performans\u0131 ve kullan\u0131labilirli\u011fi art\u0131r\u0131r.<\/li>\n<li><strong>Middleware Deste\u011fi:<\/strong> Kimlik do\u011frulama, IP k\u0131s\u0131tlamalar\u0131, yeniden y\u00f6nlendirmeler gibi ek i\u015flevler i\u00e7in ara katman yaz\u0131l\u0131mlar\u0131 (middleware) kullanman\u0131za olanak tan\u0131r.<\/li>\n<li><strong>Kolay Y\u00f6netim Paneli:<\/strong> Traefik&#8217;in durumunu, y\u00f6nlendirme kurallar\u0131n\u0131 ve sertifikalar\u0131n\u0131 izleyebilece\u011finiz web tabanl\u0131 bir g\u00f6sterge paneli sunar.<\/li>\n<\/ul>\n<p>Jellyfin&#8217;i kendi sunucunuzda bar\u0131nd\u0131r\u0131rken Traefik kullanmak, medya k\u00fct\u00fcphanenize g\u00fcvenli, \u015fifreli (HTTPS) ve kolayca eri\u015filebilir bir kap\u0131 a\u00e7man\u0131n anahtar\u0131d\u0131r. Traefik, Jellyfin konteynerinizi otomatik olarak alg\u0131lar, ona bir alan ad\u0131 atar ve Let&#8217;s Encrypt ile \u00fccretsiz bir SSL sertifikas\u0131 sa\u011flayarak t\u00fcm bu karma\u015f\u0131k i\u015flemleri sizin i\u00e7in otomatikle\u015ftirir. B\u00f6ylece, medya sunucunuz hem profesyonel bir g\u00f6r\u00fcn\u00fcme kavu\u015fur hem de d\u0131\u015f d\u00fcnyaya kar\u015f\u0131 g\u00fcvende olur.<\/p>\n<h2>Ba\u015flang\u0131\u00e7 \u0130\u00e7in Temel Haz\u0131rl\u0131klar: Neler Gerekiyor?<\/h2>\n<p>Jellyfin ve Traefik ile kendi medya sunucunuzu kurma yolculu\u011funa \u00e7\u0131kmadan \u00f6nce, baz\u0131 temel haz\u0131rl\u0131klar\u0131 tamamlaman\u0131z gerekmektedir. Bu ad\u0131mlar, kurulum s\u00fcrecinin sorunsuz ilerlemesi ve sisteminizin sa\u011flam bir temel \u00fczerine in\u015fa edilmesi i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>Donan\u0131m Se\u00e7imi: Medya Sunucunuzun Kalbi<\/h3>\n<p>Medya sunucunuz i\u00e7in do\u011fru donan\u0131m\u0131 se\u00e7mek, performans ve maliyet aras\u0131nda bir denge kurmay\u0131 gerektirir. \u0130htiya\u00e7lar\u0131n\u0131za ve b\u00fct\u00e7enize g\u00f6re birka\u00e7 farkl\u0131 se\u00e7enek mevcuttur:<\/p>\n<ul>\n<li><strong>Ev Sunucusu (Dedicated Home Server):<\/strong> Eski bir masa\u00fcst\u00fc bilgisayar\u0131n\u0131z\u0131 yeniden de\u011ferlendirebilir veya uygun fiyatl\u0131 mini PC&#8217;ler (Intel NUC, Raspberry Pi 4 &#8211; ancak Raspberry Pi 4 transcoding i\u00e7in yeterli olmayabilir) kullanabilirsiniz. Bu se\u00e7enek, genellikle en esnek ve g\u00fc\u00e7l\u00fc \u00e7\u00f6z\u00fcm\u00fc sunar. \u00d6zellikle \u00e7ok say\u0131da e\u015fzamanl\u0131 yay\u0131n veya donan\u0131m h\u0131zland\u0131rma (hardware transcoding) ihtiyac\u0131n\u0131z varsa, Intel i\u015flemcili (Quick Sync destekli) veya NVIDIA ekran kartl\u0131 bir sistem tercih etmek \u00f6nemlidir.<\/li>\n<li><strong>NAS (Network Attached Storage) Cihazlar\u0131:<\/strong> Synology, QNAP gibi markalar\u0131n NAS cihazlar\u0131, medya depolama ve sunucu i\u015flevlerini bir arada sunar. Baz\u0131 modeller (\u00f6zellikle Intel i\u015flemcili olanlar) Docker&#8217;\u0131 destekler ve Jellyfin&#8217;i kolayca kurman\u0131za olanak tan\u0131r. NAS&#8217;lar genellikle daha az g\u00fc\u00e7 t\u00fcketir ve daha sessiz \u00e7al\u0131\u015f\u0131r, ancak ilk yat\u0131r\u0131m maliyetleri daha y\u00fcksek olabilir.<\/li>\n<li><strong>Mini PC&#8217;ler:<\/strong> Daha az yer kaplayan, enerji verimli ve genellikle sessiz \u00e7al\u0131\u015fan mini PC&#8217;ler, ev ortam\u0131 i\u00e7in idealdir. \u00d6zellikle Intel NUC serisi veya benzeri cihazlar, entegre grafik birimleri sayesinde donan\u0131m h\u0131zland\u0131rma i\u00e7in iyi birer aday olabilir.<\/li>\n<\/ul>\n<p>Se\u00e7ti\u011finiz donan\u0131m ne olursa olsun, yeterli depolama alan\u0131na (medya k\u00fct\u00fcphaneniz i\u00e7in), en az 8GB RAM&#8217;e ve \u00e7oklu yay\u0131nlar\u0131 veya transcoding&#8217;i kald\u0131rabilecek bir i\u015flemciye sahip oldu\u011fundan emin olun. \u00d6zellikle 4K i\u00e7erik yay\u0131nlamay\u0131 planl\u0131yorsan\u0131z, i\u015flemci g\u00fcc\u00fc ve donan\u0131m h\u0131zland\u0131rma deste\u011fi daha da kritik hale gelecektir.<\/p>\n<h3>\u0130\u015fletim Sistemi: Sunucunuzun Temeli<\/h3>\n<p>Jellyfin ve Traefik&#8217;i Docker konteynerleri i\u00e7inde \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z i\u00e7in, ana i\u015fletim sisteminin se\u00e7imi genellikle Linux da\u011f\u0131t\u0131mlar\u0131ndan yana olur. Linux, kararl\u0131l\u0131\u011f\u0131, g\u00fcvenli\u011fi ve kaynak verimlili\u011fi nedeniyle sunucu ortamlar\u0131 i\u00e7in idealdir. En pop\u00fcler ve \u00f6nerilen se\u00e7enekler \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Ubuntu Server:<\/strong> Geni\u015f topluluk deste\u011fi, zengin dok\u00fcmantasyon ve kolay kullan\u0131m\u0131 sayesinde yeni ba\u015flayanlar i\u00e7in harika bir se\u00e7enektir.<\/li>\n<li><strong>Debian:<\/strong> Ubuntu&#8217;nun temelini olu\u015fturan Debian, daha kararl\u0131 ve minimalist bir deneyim arayanlar i\u00e7in uygundur.<\/li>\n<li><strong>Proxmox VE (Virtual Environment):<\/strong> E\u011fer birden fazla sanal makine veya konteyner \u00e7al\u0131\u015ft\u0131rmay\u0131 planl\u0131yorsan\u0131z, Proxmox gibi bir hiperviz\u00f6r (hypervisor) kullanmak, kaynaklar\u0131 daha verimli y\u00f6netmenizi sa\u011flar. Bu durumda, Jellyfin ve Traefik&#8217;i ayr\u0131 bir Ubuntu\/Debian sanal makinesi i\u00e7inde Docker \u00fczerinde \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/li>\n<\/ul>\n<p>\u0130\u015fletim sistemini kurarken, SSH eri\u015fimini etkinle\u015ftirdi\u011finizden emin olun, b\u00f6ylece sunucunuza uzaktan ba\u011flanarak komut sat\u0131r\u0131 \u00fczerinden y\u00f6netim i\u015flemlerini ger\u00e7ekle\u015ftirebilirsiniz. Ayr\u0131ca, sistem g\u00fcncellemelerini d\u00fczenli olarak yapmay\u0131 unutmay\u0131n.<\/p>\n<h3>Docker ve Docker Compose Kurulumu: Konteyner G\u00fcc\u00fc<\/h3>\n<p>Jellyfin ve Traefik&#8217;i konteynerler i\u00e7inde \u00e7al\u0131\u015ft\u0131rmak, kurulumu basitle\u015ftirir, ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 ortadan kald\u0131r\u0131r ve y\u00f6netimi kolayla\u015ft\u0131r\u0131r. Docker, uygulamalar\u0131 konteyner ad\u0131 verilen izole edilmi\u015f ortamlarda paketlemenizi sa\u011flar. Docker Compose ise, birden fazla Docker konteynerini tek bir YAML dosyas\u0131 \u00fczerinden tan\u0131mlaman\u0131za ve y\u00f6netmenize olanak tan\u0131r.<\/p>\n<p>Kurulum ad\u0131mlar\u0131 (Ubuntu\/Debian i\u00e7in):<\/p>\n<ol>\n<li><strong>Docker Kurulumu:<\/strong>\n<p>Sisteminizi g\u00fcncelleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>sudo apt update && sudo apt upgrade -y<\/code><\/pre>\n<\/p><\/div>\n<p>Docker&#8217;\u0131n kurulumu i\u00e7in gerekli paketleri y\u00fckleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y<\/code><\/pre>\n<\/p><\/div>\n<p>Docker GPG anahtar\u0131n\u0131 ekleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/docker-archive-keyring.gpg<\/code><\/pre>\n<\/p><\/div>\n<p>Docker deposunu ekleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>echo \"deb [arch=$(dpkg --print-architecture) signed-by=\/usr\/share\/keyrings\/docker-archive-keyring.gpg] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" | sudo tee \/etc\/apt\/sources.list.d\/docker.list > \/dev\/null<\/code><\/pre>\n<\/p><\/div>\n<p>Docker&#8217;\u0131 y\u00fckleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>sudo apt update\nsudo apt install docker-ce docker-ce-cli containerd.io -y<\/code><\/pre>\n<\/p><\/div>\n<p>Kullan\u0131c\u0131n\u0131z\u0131 <code>docker<\/code> grubuna ekleyin (yeniden oturum a\u00e7man\u0131z gerekebilir):<\/p>\n<div class=\"code-container\">\n<pre><code>sudo usermod -aG docker $USER<\/code><\/pre>\n<\/p><\/div>\n<p>Docker&#8217;\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<div class=\"code-container\">\n<pre><code>docker run hello-world<\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<li><strong>Docker Compose Kurulumu:<\/strong>\n<p>Docker Compose&#8217;un en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc indirin (s\u00fcr\u00fcm numaras\u0131n\u0131 kontrol edin):<\/p>\n<div class=\"code-container\">\n<pre><code>sudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/v2.20.2\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n<\/p><\/div>\n<p>\u0130ndirilen dosyaya y\u00fcr\u00fctme izni verin:<\/p>\n<div class=\"code-container\">\n<pre><code>sudo chmod +x \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n<\/p><\/div>\n<p>Docker Compose&#8217;un \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<div class=\"code-container\">\n<pre><code>docker-compose --version<\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, sunucunuz Docker konteynerlerini \u00e7al\u0131\u015ft\u0131rmaya haz\u0131r olacakt\u0131r.<\/p>\n<h3>Alan Ad\u0131 ve DNS Yap\u0131land\u0131rmas\u0131: \u0130nternet Kimli\u011finiz<\/h3>\n<p>Jellyfin sunucunuza ev a\u011f\u0131n\u0131z\u0131n d\u0131\u015f\u0131ndan eri\u015fmek ve Traefik&#8217;in otomatik SSL sertifikalar\u0131n\u0131 kullanabilmesi i\u00e7in bir alan ad\u0131na (domain name) ihtiyac\u0131n\u0131z olacakt\u0131r. Bir alan ad\u0131 sa\u011flay\u0131c\u0131s\u0131ndan (\u00f6rne\u011fin Namecheap, Godaddy, Turhost) kendi alan ad\u0131n\u0131z\u0131 sat\u0131n alabilirsiniz. \u00d6rne\u011fin, <code>benimmedyam.com<\/code> gibi bir alan ad\u0131 kullanabilirsiniz.<\/p>\n<p>Alan ad\u0131n\u0131z\u0131 ald\u0131ktan sonra, DNS (Domain Name System) kay\u0131tlar\u0131n\u0131 yap\u0131land\u0131rman\u0131z gerekir. Temel olarak, alan ad\u0131n\u0131z\u0131 veya bir alt alan ad\u0131n\u0131 (subdomain) ev a\u011f\u0131n\u0131z\u0131n d\u0131\u015f IP adresine i\u015faret etmelisiniz. Bu genellikle bir A kayd\u0131 (A record) veya CNAME kayd\u0131 (CNAME record) ile yap\u0131l\u0131r:<\/p>\n<ul>\n<li><strong>A Kayd\u0131:<\/strong> <code>jellyfin.benimmedyam.com<\/code> gibi bir alt alan ad\u0131n\u0131, ev internet sa\u011flay\u0131c\u0131n\u0131zdan ald\u0131\u011f\u0131n\u0131z genel (public) IP adresinize y\u00f6nlendirir.<\/li>\n<li><strong>CNAME Kayd\u0131:<\/strong> E\u011fer dinamik bir IP adresiniz varsa ve bunu y\u00f6netmek i\u00e7in DDNS (Dynamic DNS) hizmeti kullan\u0131yorsan\u0131z, CNAME kayd\u0131n\u0131 DDNS sa\u011flay\u0131c\u0131n\u0131z\u0131n size verdi\u011fi adrese y\u00f6nlendirebilirsiniz.<\/li>\n<\/ul>\n<p>Ev internet sa\u011flay\u0131c\u0131n\u0131z genellikle size dinamik bir IP adresi atar, yani IP adresiniz zaman zaman de\u011fi\u015febilir. Bu durumda, bir DDNS hizmeti (\u00f6rne\u011fin No-IP, DynDNS, DuckDNS) kullanarak alan ad\u0131n\u0131z\u0131n her zaman g\u00fcncel IP adresinizi g\u00f6stermesini sa\u011flayabilirsiniz. Bir\u00e7ok modern modem\/router, DDNS ayarlar\u0131n\u0131 do\u011frudan aray\u00fcz\u00fcnden yap\u0131land\u0131rma olana\u011f\u0131 sunar.<\/p>\n<p>Son olarak, modem\/router&#8217;\u0131n\u0131zda port y\u00f6nlendirme (port forwarding) yapman\u0131z gerekecektir. Traefik&#8217;in gelen HTTP (port 80) ve HTTPS (port 443) isteklerini dinleyebilmesi i\u00e7in, bu portlar\u0131 modeminizden sunucunuzun yerel IP adresine y\u00f6nlendirmeniz \u015fartt\u0131r. Bu ayarlar, modeminizin y\u00f6netim aray\u00fcz\u00fcnden yap\u0131l\u0131r ve modeline g\u00f6re de\u011fi\u015fiklik g\u00f6sterebilir. Genellikle &#8220;Port Forwarding&#8221;, &#8220;NAT&#8221; veya &#8220;Sanal Sunucu&#8221; gibi b\u00f6l\u00fcmlerde bulunur.<\/p>\n<p>Bu haz\u0131rl\u0131klar tamamland\u0131\u011f\u0131nda, Jellyfin ve Traefik kurulumuna ge\u00e7meye haz\u0131r olacaks\u0131n\u0131z. Her ad\u0131m\u0131n do\u011fru yap\u0131ld\u0131\u011f\u0131ndan emin olmak, ileride ya\u015fanabilecek sorunlar\u0131n \u00f6n\u00fcne ge\u00e7ecektir.<\/p>\n<h2>Ad\u0131m Ad\u0131m Kurulum Rehberi: Traefik ve Jellyfin&#8217;i Docker ile Nas\u0131l \u00c7al\u0131\u015ft\u0131r\u0131l\u0131r?<\/h2>\n<p>Art\u0131k temel haz\u0131rl\u0131klar\u0131 tamamlad\u0131\u011f\u0131m\u0131za g\u00f6re, Traefik ve Jellyfin&#8217;i Docker konteynerleri i\u00e7inde kurmaya ba\u015flayabiliriz. Bu b\u00f6l\u00fcmde, iki servisi de bir <code>docker-compose.yml<\/code> dosyas\u0131 arac\u0131l\u0131\u011f\u0131yla nas\u0131l yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 ve \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Bu yakla\u015f\u0131m, servislerinizi y\u00f6netmeyi, g\u00fcncelle\u015ftirmeyi ve yedeklemeyi olduk\u00e7a kolayla\u015ft\u0131racakt\u0131r.<\/p>\n<h3>Proje Dizini Olu\u015fturma<\/h3>\n<p>\u00d6ncelikle, t\u00fcm yap\u0131land\u0131rma dosyalar\u0131m\u0131z\u0131 ve Docker Compose dosyam\u0131z\u0131 bar\u0131nd\u0131racak bir ana proje dizini olu\u015ftural\u0131m. Bu, organizasyon a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<div class=\"code-container\">\n<pre><code>mkdir -p ~\/jellyfin-traefik\ncd ~\/jellyfin-traefik<\/code><\/pre>\n<\/p><\/div>\n<p>Bu dizin alt\u0131nda, Traefik ve Jellyfin i\u00e7in gerekli dosyalar\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<h3>Traefik Yap\u0131land\u0131rmas\u0131: Ters Proxy&#8217;nizi Aya\u011fa Kald\u0131rma<\/h3>\n<p>Traefik&#8217;i \u00e7al\u0131\u015ft\u0131rabilmek i\u00e7in iki ana dosyaya ihtiyac\u0131m\u0131z olacak: <code>docker-compose.yml<\/code> ve <code>traefik.yml<\/code>. <code>docker-compose.yml<\/code> Traefik servisini tan\u0131mlarken, <code>traefik.yml<\/code> Traefik&#8217;in kendi i\u00e7 yap\u0131land\u0131rmas\u0131n\u0131 i\u00e7erir.<\/p>\n<h4><code>docker-compose.yml<\/code> (Traefik B\u00f6l\u00fcm\u00fc)<\/h4>\n<p>Ana dizininizde <code>docker-compose.yml<\/code> ad\u0131nda bir dosya olu\u015fturun ve a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin. Bu dosya, Traefik servisini, a\u011flar\u0131n\u0131 ve Docker soketine eri\u015fimini tan\u0131mlar.<\/p>\n<div class=\"code-container\">\n<pre><code>version: '3.8'\n\nservices:\n  traefik:\n    image: traefik:v2.10 # Traefik'in en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc kullan\u0131n\n    container_name: traefik\n    restart: unless-stopped\n    security_opt:\n      - no-new-privileges:true\n    networks:\n      - web\n    ports:\n      - \"80:80\"   # HTTP trafi\u011fi i\u00e7in\n      - \"443:443\" # HTTPS trafi\u011fi i\u00e7in\n    volumes:\n      - \/etc\/localtime:\/etc\/localtime:ro\n      - \/var\/run\/docker.sock:\/var\/run\/docker.sock:ro # Docker soketi eri\u015fimi\n      - .\/traefik.yml:\/etc\/traefik\/traefik.yml:ro    # Traefik ana yap\u0131land\u0131rmas\u0131\n      - .\/acme.json:\/etc\/traefik\/acme.json            # Let's Encrypt sertifikalar\u0131 i\u00e7in\n    command:\n      - --log.level=INFO\n      - --api.dashboard=true # Traefik dashboard'u etkinle\u015ftir\n      - --api.insecure=false # Dashboard'a g\u00fcvenli eri\u015fim\n      - --providers.docker=true\n      - --providers.docker.exposedbydefault=false # Varsay\u0131lan olarak servisleri g\u00f6sterme\n      - --entrypoints.web.address=:80\n      - --entrypoints.websecure.address=:443\n      - --entrypoints.web.http.redirections.entrypoint.to=websecure\n      - --entrypoints.web.http.redirections.entrypoint.scheme=https\n      - --certificatesresolvers.myresolver.acme.email=your-email@example.com # Kendi e-posta adresinizi yaz\u0131n\n      - --certificatesresolvers.myresolver.acme.storage=\/etc\/traefik\/acme.json\n      - --certificatesresolvers.myresolver.acme.tlschallenge=true # TLS Challenge ile sertifika al\u0131m\u0131\n    labels:\n      - \"traefik.enable=true\"\n      - \"traefik.http.routers.traefik-dashboard.rule=Host(<code>traefik.your-domain.com<\/code>)\" # Kendi alan ad\u0131n\u0131z\u0131 yaz\u0131n\n      - \"traefik.http.routers.traefik-dashboard.entrypoints=websecure\"\n      - \"traefik.http.routers.traefik-dashboard.tls.certresolver=myresolver\"\n      - \"traefik.http.routers.traefik-dashboard.service=api@internal\"\n      - \"traefik.http.routers.traefik-dashboard.middlewares=traefik-auth\" # Dashboard i\u00e7in basic auth\n      - \"traefik.http.middlewares.traefik-auth.basicauth.users=user:$$apr1$$HASH$$\" # Kendi kullan\u0131c\u0131 ad\u0131 ve \u015fifrenizi olu\u015fturun\n      - \"traefik.http.services.traefik-dashboard.loadbalancer.server.port=8080\" # Traefik dashboard varsay\u0131lan portu\n\nnetworks:\n  web:\n    external: true # Bu a\u011f\u0131 di\u011fer servislerle payla\u015faca\u011f\u0131z<\/code><\/pre>\n<\/p><\/div>\n<p><strong>\u00d6nemli Notlar:<\/strong><\/p>\n<ul>\n<li><code>image: traefik:v2.10<\/code> k\u0131sm\u0131ndaki s\u00fcr\u00fcm\u00fc g\u00fcncel tutun.<\/li>\n<li><code>your-email@example.com<\/code> yerine kendi ge\u00e7erli e-posta adresinizi yaz\u0131n. Let&#8217;s Encrypt sertifika bildirimleri bu adrese g\u00f6nderilecektir.<\/li>\n<li><code>traefik.your-domain.com<\/code> yerine Traefik dashboard&#8217;una eri\u015fmek istedi\u011finiz alt alan ad\u0131n\u0131 yaz\u0131n. \u00d6rne\u011fin, <code>traefik.benimmedyam.com<\/code>.<\/li>\n<li><code>user:$$apr1$$HASH$$<\/code> k\u0131sm\u0131 i\u00e7in bir kullan\u0131c\u0131 ad\u0131 ve \u015fifre olu\u015fturman\u0131z gerekiyor. Bir <code>htpasswd<\/code> arac\u0131 kullanarak (\u00f6rne\u011fin online bir generator veya <code>apache2-utils<\/code> paketindeki <code>htpasswd<\/code> komutu ile) \u015fifrenizi \u015fifreleyin. \u00d6rne\u011fin, <code>echo $(htpasswd -nb user password) | sed -e s\/\\\\$\/\\\\$\\\\$\/g<\/code> komutunu kullanarak \u00e7\u0131kt\u0131y\u0131 buraya yap\u0131\u015ft\u0131r\u0131n.<\/li>\n<li><code>acme.json<\/code> dosyas\u0131 Traefik taraf\u0131ndan otomatik olarak olu\u015fturulacak ve sertifikalar\u0131 depolayacakt\u0131r. \u0130lk \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce bu dosyay\u0131 olu\u015fturup bo\u015f b\u0131rak\u0131n ve do\u011fru izinleri verin:\n<div class=\"code-container\">\n<pre><code>touch acme.json\nchmod 600 acme.json<\/code><\/pre>\n<\/div>\n<\/li>\n<li><code>networks: web: external: true<\/code> ile harici bir a\u011f tan\u0131ml\u0131yoruz. Bu a\u011f\u0131 daha sonra Jellyfin ve di\u011fer servisler i\u00e7in de kullanaca\u011f\u0131z. Bu a\u011f\u0131 hen\u00fcz olu\u015fturmad\u0131ysan\u0131z, Traefik&#8217;i ba\u015flatmadan \u00f6nce olu\u015fturun:\n<div class=\"code-container\">\n<pre><code>docker network create web<\/code><\/pre>\n<\/div>\n<\/li>\n<\/ul>\n<h4><code>traefik.yml<\/code> (Traefik Ana Yap\u0131land\u0131rmas\u0131)<\/h4>\n<p>Ana dizininizde <code>traefik.yml<\/code> ad\u0131nda bir dosya olu\u015fturun ve a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin. Bu dosya, Traefik&#8217;in genel davran\u0131\u015flar\u0131n\u0131 ve Let&#8217;s Encrypt yap\u0131land\u0131rmas\u0131n\u0131 belirler.<\/p>\n<div class=\"code-container\">\n<pre><code>api:\n  dashboard: true\n  insecure: false # Dashboard'a g\u00fcvenli eri\u015fim i\u00e7in false olmal\u0131\n\nentryPoints:\n  web:\n    address: \":80\"\n    http:\n      redirections:\n        entryPoint:\n          to: \"websecure\"\n          scheme: \"https\"\n  websecure:\n    address: \":443\"\n\nproviders:\n  docker:\n    endpoint: \"unix:\/\/\/var\/run\/docker.sock\"\n    exposedByDefault: false # Varsay\u0131lan olarak hi\u00e7bir servisi g\u00f6sterme\n    network: web # Sadece 'web' a\u011f\u0131ndaki servisleri dinle\n\ncertificatesResolvers:\n  myresolver:\n    acme:\n      email: \"your-email@example.com\" # Kendi e-posta adresinizi yaz\u0131n\n      storage: \"acme.json\"\n      tlsChallenge: {} # TLS Challenge kullanarak sertifika al\u0131m\u0131<\/code><\/pre>\n<\/p><\/div>\n<p><code>your-email@example.com<\/code> k\u0131sm\u0131n\u0131 yine kendi e-posta adresinizle g\u00fcncellemeyi unutmay\u0131n.<\/p>\n<h3>Jellyfin Yap\u0131land\u0131rmas\u0131: Medya Sunucunuzu Entegre Etme<\/h3>\n<p>\u015eimdi <code>docker-compose.yml<\/code> dosyam\u0131za Jellyfin servisini ekleyelim. Bu servis, Traefik taraf\u0131ndan alg\u0131lanacak ve ona y\u00f6nlendirilecektir.<\/p>\n<h4><code>docker-compose.yml<\/code> (Jellyfin B\u00f6l\u00fcm\u00fc)<\/h4>\n<p>Mevcut <code>docker-compose.yml<\/code> dosyan\u0131z\u0131 a\u00e7\u0131n ve <code>services:<\/code> blo\u011funun alt\u0131na a\u015fa\u011f\u0131daki Jellyfin servisini ekleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>  jellyfin:\n    image: jellyfin\/jellyfin:latest\n    container_name: jellyfin\n    restart: unless-stopped\n    security_opt:\n      - no-new-privileges:true\n    networks:\n      - web\n    volumes:\n      - .\/config\/jellyfin:\/config       # Jellyfin yap\u0131land\u0131rma dosyalar\u0131\n      - .\/cache\/jellyfin:\/cache         # Jellyfin \u00f6nbellek dosyalar\u0131\n      - \/path\/to\/your\/media:\/media      # Medya dosyalar\u0131n\u0131z\u0131n yolu (\u00d6NEML\u0130: Kendi yolunuzu yaz\u0131n!)\n      - \/path\/to\/your\/tvshows:\/tvshows  # TV \u015fovlar\u0131n\u0131z\u0131n yolu (iste\u011fe ba\u011fl\u0131)\n      - \/path\/to\/your\/movies:\/movies    # Filmlerinizin yolu (iste\u011fe ba\u011fl\u0131)\n    environment:\n      - PUID=1000 # Kullan\u0131c\u0131 ID'nizi buraya yaz\u0131n (genellikle 1000)\n      - PGID=1000 # Grup ID'nizi buraya yaz\u0131n (genellikle 1000)\n      - TZ=Europe\/Istanbul # Kendi zaman diliminizi yaz\u0131n\n      - JELLYFIN_PublishedServerUrl=https:\/\/jellyfin.your-domain.com # Kendi alan ad\u0131n\u0131z\u0131 yaz\u0131n\n    labels:\n      - \"traefik.enable=true\"\n      - \"traefik.http.routers.jellyfin.rule=Host(<code>jellyfin.your-domain.com<\/code>)\" # Kendi alan ad\u0131n\u0131z\u0131 yaz\u0131n\n      - \"traefik.http.routers.jellyfin.entrypoints=websecure\"\n      - \"traefik.http.routers.jellyfin.tls.certresolver=myresolver\"\n      - \"traefik.http.services.jellyfin.loadbalancer.server.port=8096\" # Jellyfin'in varsay\u0131lan portu\n      - \"traefik.http.routers.jellyfin.middlewares=jellyfin-compress@docker\" # Gzip s\u0131k\u0131\u015ft\u0131rma (iste\u011fe ba\u011fl\u0131)\n      - \"traefik.http.middlewares.jellyfin-compress.compress=true\"<\/code><\/pre>\n<\/p><\/div>\n<p><strong>\u00d6nemli Notlar:<\/strong><\/p>\n<ul>\n<li><code>\/path\/to\/your\/media<\/code>, <code>\/path\/to\/your\/tvshows<\/code>, <code>\/path\/to\/your\/movies<\/code> gibi yer tutucular\u0131, medya dosyalar\u0131n\u0131z\u0131n sunucunuzdaki ger\u00e7ek yollar\u0131yla de\u011fi\u015ftirmeniz gerekmektedir. \u00d6rne\u011fin, <code>\/mnt\/medya\/filmler<\/code>.<\/li>\n<li><code>PUID<\/code> ve <code>PGID<\/code> de\u011ferleri, Docker konteynerinin medya dosyalar\u0131n\u0131za eri\u015febilmesi i\u00e7in \u00f6nemlidir. Bu de\u011ferleri sunucunuzda <code>id $USER<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak bulabilirsiniz. Genellikle her ikisi de <code>1000<\/code> olur.<\/li>\n<li><code>TZ<\/code> de\u011ferini kendi zaman diliminize g\u00f6re ayarlay\u0131n (\u00f6rne\u011fin <code>Europe\/Istanbul<\/code>).<\/li>\n<li><code>jellyfin.your-domain.com<\/code> yerine Jellyfin&#8217;e eri\u015fmek istedi\u011finiz alt alan ad\u0131n\u0131 yaz\u0131n. \u00d6rne\u011fin, <code>jellyfin.benimmedyam.com<\/code>.<\/li>\n<li>Jellyfin&#8217;in varsay\u0131lan HTTP portu <code>8096<\/code>&#8216;d\u0131r, bu y\u00fczden Traefik servisi bu porta y\u00f6nlendirme yapar.<\/li>\n<li><code>jellyfin-compress@docker<\/code> middleware&#8217;\u0131, web trafi\u011fini s\u0131k\u0131\u015ft\u0131rarak bant geni\u015fli\u011fi kullan\u0131m\u0131n\u0131 azaltabilir.<\/li>\n<\/ul>\n<h3>T\u00fcm Servisleri Ba\u015flatma<\/h3>\n<p>T\u00fcm yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131 kaydettikten sonra, proje dizininizde (<code>~\/jellyfin-traefik<\/code>) a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak servisleri ba\u015flatabilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>docker-compose up -d<\/code><\/pre>\n<\/p><\/div>\n<p><code>-d<\/code> bayra\u011f\u0131, konteynerleri arka planda \u00e7al\u0131\u015ft\u0131rman\u0131z\u0131 sa\u011flar. Servisler ba\u015flarken, Traefik otomatik olarak Let&#8217;s Encrypt ile alan adlar\u0131n\u0131z i\u00e7in SSL sertifikalar\u0131n\u0131 almaya \u00e7al\u0131\u015facakt\u0131r. Bu i\u015flem birka\u00e7 dakika s\u00fcrebilir.<\/p>\n<p>Kurulumun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<ul>\n<li><code>docker-compose ps<\/code> komutu ile konteynerlerin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edin.<\/li>\n<li><code>docker-compose logs traefik<\/code> komutu ile Traefik loglar\u0131n\u0131 izleyerek sertifika al\u0131m s\u00fcrecini g\u00f6rebilirsiniz.<\/li>\n<li>Taray\u0131c\u0131n\u0131zdan <code>https:\/\/traefik.your-domain.com<\/code> adresine giderek Traefik dashboard&#8217;una eri\u015fmeyi deneyin. Ba\u015far\u0131l\u0131 olursa, belirledi\u011finiz kullan\u0131c\u0131 ad\u0131 ve \u015fifre ile giri\u015f yapmal\u0131s\u0131n\u0131z.<\/li>\n<li>Ard\u0131ndan, <code>https:\/\/jellyfin.your-domain.com<\/code> adresine giderek Jellyfin kurulum sihirbaz\u0131na ula\u015fmal\u0131s\u0131n\u0131z. \u0130lk kurulumu tamamlayarak medya k\u00fct\u00fcphanelerinizi ekleyebilirsiniz.<\/li>\n<\/ul>\n<p>Bu ad\u0131mlarla, Traefik ve Jellyfin&#8217;i Docker ile ba\u015far\u0131yla kurmu\u015f ve g\u00fcvenli bir \u015fekilde eri\u015filebilir hale getirmi\u015f olmal\u0131s\u0131n\u0131z. Art\u0131k kendi medya k\u00fct\u00fcphanenizi y\u00f6netme ve istedi\u011finiz yerden eri\u015fme \u00f6zg\u00fcrl\u00fc\u011f\u00fcne sahipsiniz!<\/p>\n<h2>Jellyfin&#8217;i G\u00fcvenli ve Eri\u015filebilir K\u0131lma: Traefik&#8217;in Rol\u00fc<\/h2>\n<p>Jellyfin medya sunucunuzu kurmak sadece ilk ad\u0131md\u0131r. Medya k\u00fct\u00fcphanenize ev a\u011f\u0131n\u0131z\u0131n d\u0131\u015f\u0131ndan g\u00fcvenli bir \u015fekilde eri\u015febilmek, kullan\u0131c\u0131 deneyimini zenginle\u015ftirmenin yan\u0131 s\u0131ra, dijital varl\u0131klar\u0131n\u0131z\u0131 yetkisiz eri\u015fimden korumak i\u00e7in de hayati \u00f6neme sahiptir. \u0130\u015fte Traefik&#8217;in bu noktada devreye girdi\u011fi ve Jellyfin&#8217;i g\u00fcvenli ve eri\u015filebilir k\u0131lmada oynad\u0131\u011f\u0131 kilit rol:<\/p>\n<h3>Otomatik HTTPS (SSL\/TLS) ile \u015eifreleme: G\u00fcvenli Ba\u011flant\u0131n\u0131n Temeli<\/h3>\n<p>\u0130nternet \u00fczerindeki her t\u00fcrl\u00fc ileti\u015fimde g\u00fcvenlik, \u015fifreleme ile sa\u011flan\u0131r. HTTPS (Hypertext Transfer Protocol Secure), web siteleri ile kullan\u0131c\u0131lar aras\u0131ndaki ileti\u015fimi \u015fifreleyerek veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve gizlili\u011fini korur. Traefik, Let&#8217;s Encrypt ile tam entegrasyonu sayesinde, alan ad\u0131n\u0131z i\u00e7in \u00fccretsiz ve otomatik olarak SSL\/TLS sertifikalar\u0131 sa\u011flar ve bunlar\u0131 d\u00fczenli olarak yeniler. Bu, Jellyfin sunucunuzla olan t\u00fcm ileti\u015fimin \u015fifrelenmesini ve d\u0131\u015far\u0131dan gelebilecek olas\u0131 dinlemelere kar\u015f\u0131 korunmas\u0131n\u0131 garanti eder.<\/p>\n<p>\u00d6nceki b\u00f6l\u00fcmde <code>docker-compose.yml<\/code> ve <code>traefik.yml<\/code> dosyalar\u0131nda yapt\u0131\u011f\u0131m\u0131z yap\u0131land\u0131rmalar sayesinde, Traefik otomatik olarak \u015fu ad\u0131mlar\u0131 ger\u00e7ekle\u015ftirir:<\/p>\n<ol>\n<li>Gelen HTTP (port 80) isteklerini otomatik olarak HTTPS (port 443) \u00fczerine y\u00f6nlendirir.<\/li>\n<li>Belirtti\u011finiz alan adlar\u0131 (\u00f6rne\u011fin <code>jellyfin.your-domain.com<\/code>) i\u00e7in Let&#8217;s Encrypt&#8217;e sertifika talebinde bulunur.<\/li>\n<li>Let&#8217;s Encrypt&#8217;in alan ad\u0131 sahipli\u011fini do\u011frulamas\u0131 i\u00e7in TLS Challenge y\u00f6ntemini kullan\u0131r (bu, Traefik&#8217;in port 443 \u00fczerinden belirli bir do\u011frulama iste\u011fini yan\u0131tlamas\u0131yla ger\u00e7ekle\u015fir).<\/li>\n<li>Sertifikalar\u0131 al\u0131r ve <code>acme.json<\/code> dosyas\u0131na kaydeder.<\/li>\n<li>Sertifikalar\u0131n s\u00fcresi dolmadan \u00f6nce otomatik olarak yeniler.<\/li>\n<\/ol>\n<p>Bu sayede, taray\u0131c\u0131n\u0131zdan veya Jellyfin uygulamalar\u0131ndan sunucunuza ba\u011flan\u0131rken &#8220;g\u00fcvenli ba\u011flant\u0131&#8221; simgesini (kilit i\u015fareti) g\u00f6recek ve verilerinizin \u015fifrelendi\u011finden emin olacaks\u0131n\u0131z. Bu, \u00f6zellikle medya k\u00fct\u00fcphanenize uzaktan eri\u015firken veya hassas bilgiler (kullan\u0131c\u0131 adlar\u0131, \u015fifreler) girerken kritik bir g\u00fcvenlik katman\u0131d\u0131r.<\/p>\n<h3>Kimlik Do\u011frulama ve Yetkilendirme: Eri\u015fim Kontrol\u00fc<\/h3>\n<p>Jellyfin&#8217;in kendi i\u00e7inde kullan\u0131c\u0131 y\u00f6netimi olmas\u0131na ra\u011fmen, Traefik seviyesinde ek bir kimlik do\u011frulama katman\u0131 eklemek, sunucunuzu daha da g\u00fcvenli hale getirebilir. \u00d6zellikle Traefik dashboard&#8217;u gibi y\u00f6netim aray\u00fczlerine eri\u015fimi k\u0131s\u0131tlamak i\u00e7in bu y\u00f6ntem olduk\u00e7a etkilidir. \u00d6rnek <code>docker-compose.yml<\/code> dosyam\u0131zda Traefik dashboard&#8217;u i\u00e7in temel kimlik do\u011frulama (basic auth) middleware&#8217;\u0131 tan\u0131mlam\u0131\u015ft\u0131k:<\/p>\n<div class=\"code-container\">\n<pre><code>      - \"traefik.http.middlewares.traefik-auth.basicauth.users=user:$$apr1$$HASH$$\"<\/code><\/pre>\n<\/p><\/div>\n<p>Bu, Traefik dashboard&#8217;una eri\u015fmeye \u00e7al\u0131\u015fan her kullan\u0131c\u0131n\u0131n \u00f6nce belirledi\u011finiz kullan\u0131c\u0131 ad\u0131 ve \u015fifreyi girmesini gerektirir. Jellyfin i\u00e7in de benzer bir middleware tan\u0131mlayarak, Jellyfin&#8217;in kendi login ekran\u0131na ula\u015fmadan \u00f6nce ek bir kimlik do\u011frulama ad\u0131m\u0131 ekleyebilirsiniz. Ancak bu, kullan\u0131c\u0131 deneyimini bir miktar etkileyebilece\u011finden, genellikle Jellyfin&#8217;in kendi kullan\u0131c\u0131 y\u00f6netimi yeterli g\u00f6r\u00fcl\u00fcr. Daha ileri d\u00fczey g\u00fcvenlik i\u00e7in Authelia gibi tek oturum a\u00e7ma (Single Sign-On &#8211; SSO) \u00e7\u00f6z\u00fcmleri Traefik ile entegre edilebilir, ancak bu daha karma\u015f\u0131k bir yap\u0131land\u0131rma gerektirir.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 (Firewall) Ayarlar\u0131: A\u011f\u0131n\u0131z\u0131 Koruma<\/h3>\n<p>Sunucunuzun g\u00fcvenli\u011fi i\u00e7in en temel ad\u0131mlardan biri, bir g\u00fcvenlik duvar\u0131 (firewall) yap\u0131land\u0131rmakt\u0131r. Linux tabanl\u0131 sistemlerde UFW (Uncomplicated Firewall) veya iptables gibi ara\u00e7lar kullan\u0131labilir. Temel prensip, yaln\u0131zca kesinlikle gerekli olan portlar\u0131 a\u00e7makt\u0131r. Traefik&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi ve Let&#8217;s Encrypt sertifikalar\u0131n\u0131 alabilmesi i\u00e7in sadece a\u015fa\u011f\u0131daki portlar\u0131n d\u0131\u015far\u0131dan eri\u015fime a\u00e7\u0131k olmas\u0131 gerekir:<\/p>\n<ul>\n<li><strong>Port 80 (HTTP):<\/strong> Let&#8217;s Encrypt sertifika do\u011frulama i\u00e7in gereklidir (Traefik otomatik olarak HTTPS&#8217;ye y\u00f6nlendirse bile).<\/li>\n<li><strong>Port 443 (HTTPS):<\/strong> \u015eifreli web trafi\u011fi i\u00e7in gereklidir.<\/li>\n<\/ul>\n<p>Di\u011fer t\u00fcm portlar kapal\u0131 olmal\u0131d\u0131r. SSH eri\u015fimi i\u00e7in kulland\u0131\u011f\u0131n\u0131z portu da (varsay\u0131lan 22, ancak g\u00fcvenli\u011fi art\u0131rmak i\u00e7in de\u011fi\u015ftirilmesi \u00f6nerilir) sadece belirli IP adreslerinden eri\u015fime a\u00e7mak iyi bir uygulamad\u0131r. \u00d6rne\u011fin, UFW kullanarak bu kurallar\u0131 uygulayabilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>sudo ufw allow 80\/tcp\nsudo ufw allow 443\/tcp\nsudo ufw allow OpenSSH # veya belirledi\u011finiz SSH portu\nsudo ufw enable<\/code><\/pre>\n<\/p><\/div>\n<p>Bu, sunucunuzun d\u0131\u015far\u0131dan gelebilecek gereksiz ba\u011flant\u0131 isteklerine kar\u015f\u0131 korunmas\u0131n\u0131 sa\u011flar ve sald\u0131r\u0131 y\u00fczeyini azalt\u0131r.<\/p>\n<h3>A\u011f Eri\u015fimi Kontrol\u00fc: IP Tabanl\u0131 K\u0131s\u0131tlamalar<\/h3>\n<p>Traefik, middleware&#8217;lar arac\u0131l\u0131\u011f\u0131yla IP tabanl\u0131 eri\u015fim k\u0131s\u0131tlamalar\u0131 da uygulaman\u0131za olanak tan\u0131r. \u00d6rne\u011fin, Jellyfin&#8217;e sadece belirli IP adreslerinden veya IP aral\u0131klar\u0131ndan eri\u015filmesini isteyebilirsiniz. Bu, \u00f6zellikle sunucunuza sadece kendi ev a\u011f\u0131n\u0131zdan veya belirli g\u00fcvenilir konumlardan eri\u015fecekseniz kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p>\u00d6rne\u011fin, <code>docker-compose.yml<\/code> dosyan\u0131za a\u015fa\u011f\u0131daki gibi bir IP k\u0131s\u0131tlama middleware&#8217;\u0131 ekleyebilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>      - \"traefik.http.middlewares.ip-whitelist.ipwhitelist.sourcerange=192.168.1.0\/24,203.0.113.42\/32\" # G\u00fcvenilir IP'lerinizi yaz\u0131n<\/code><\/pre>\n<\/p><\/div>\n<p>Ve sonra bu middleware&#8217;\u0131 Jellyfin router&#8217;\u0131n\u0131za ekleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>      - \"traefik.http.routers.jellyfin.middlewares=ip-whitelist@docker,jellyfin-compress@docker\"<\/code><\/pre>\n<\/p><\/div>\n<p>Bu sayede, sadece belirtti\u011finiz IP aral\u0131klar\u0131ndan gelen ba\u011flant\u0131lara izin verilir, di\u011fer t\u00fcm ba\u011flant\u0131lar reddedilir. Bu, sunucunuzun g\u00fcvenli\u011fini bir \u00fcst seviyeye ta\u015f\u0131r.<\/p>\n<p>Traefik&#8217;in bu g\u00fc\u00e7l\u00fc \u00f6zellikleri sayesinde, Jellyfin medya sunucunuz sadece eri\u015filebilir olmakla kalmaz, ayn\u0131 zamanda modern web standartlar\u0131na uygun, \u015fifreli ve g\u00fcvenli bir \u015fekilde d\u0131\u015f d\u00fcnyaya a\u00e7\u0131l\u0131r. Bu da size dijital medya k\u00fct\u00fcphanenizi g\u00f6n\u00fcl rahatl\u0131\u011f\u0131yla kullanma imkan\u0131 sunar.<\/p>\n<h2>Performans ve Y\u00f6netim \u0130pu\u00e7lar\u0131: Medya Deneyiminizi Optimize Edin<\/h2>\n<p>Jellyfin ve Traefik kurulumunuzu tamamlad\u0131n\u0131z ve medya k\u00fct\u00fcphanenize g\u00fcvenle eri\u015febiliyorsunuz. Ancak, m\u00fckemmel bir medya deneyimi sunmak ve sunucunuzu uzun vadede sorunsuz \u00e7al\u0131\u015ft\u0131rmak i\u00e7in baz\u0131 performans optimizasyonlar\u0131 ve y\u00f6netim ipu\u00e7lar\u0131 uygulamak faydal\u0131 olacakt\u0131r. Bu b\u00f6l\u00fcm, sunucunuzun verimlili\u011fini art\u0131rman\u0131za ve bak\u0131m\u0131n\u0131 kolayla\u015ft\u0131rman\u0131za yard\u0131mc\u0131 olacak pratik bilgiler sunmaktad\u0131r.<\/p>\n<h3>Donan\u0131m H\u0131zland\u0131rma (Hardware Transcoding): Ak\u0131c\u0131 Yay\u0131nlar\u0131n S\u0131rr\u0131<\/h3>\n<p>Medya sunucular\u0131nda en \u00e7ok kaynak t\u00fcketen i\u015flemlerden biri, medya dosyalar\u0131n\u0131n farkl\u0131 cihazlara uygun formatlara d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi, yani &#8220;transcoding&#8221; i\u015flemidir. \u00d6zellikle 4K veya y\u00fcksek bit h\u0131zl\u0131 videolar\u0131 daha d\u00fc\u015f\u00fck bant geni\u015fli\u011fine sahip cihazlara (\u00f6rne\u011fin mobil telefonlar) yay\u0131nlarken transcoding ka\u00e7\u0131n\u0131lmaz hale gelir. Yaz\u0131l\u0131msal transcoding, i\u015flemcinizi yo\u011fun bir \u015fekilde kullan\u0131r ve bu da sunucunuzun yava\u015flamas\u0131na, \u0131s\u0131nmas\u0131na ve di\u011fer i\u015flemleri etkilemesine neden olabilir.<\/p>\n<p>Donan\u0131m h\u0131zland\u0131rma (hardware transcoding), bu y\u00fck\u00fc i\u015flemciden alarak \u00f6zel donan\u0131m bile\u015fenlerine (GPU veya entegre grafik birimi) aktar\u0131r. Bu, transcoding i\u015flemini \u00e7ok daha verimli ve h\u0131zl\u0131 hale getirir, ayn\u0131 zamanda i\u015flemcinin di\u011fer g\u00f6revler i\u00e7in serbest kalmas\u0131n\u0131 sa\u011flar. Jellyfin, Intel Quick Sync Video, NVIDIA NVENC ve AMD VCE\/VCN gibi pop\u00fcler donan\u0131m h\u0131zland\u0131rma teknolojilerini destekler.<\/p>\n<p><strong>Docker&#8217;da Donan\u0131m H\u0131zland\u0131rmay\u0131 Etkinle\u015ftirme:<\/strong><\/p>\n<p>Donan\u0131m h\u0131zland\u0131rmay\u0131 etkinle\u015ftirmek i\u00e7in, Jellyfin Docker konteynerine ilgili donan\u0131m ayg\u0131tlar\u0131n\u0131 (device) passthrough yapman\u0131z gerekir. Bu, <code>docker-compose.yml<\/code> dosyan\u0131zdaki Jellyfin servisine <code>devices<\/code> b\u00f6l\u00fcm\u00fcn\u00fc ekleyerek yap\u0131l\u0131r.<\/p>\n<ul>\n<li><strong>Intel Quick Sync i\u00e7in:<\/strong>\n<p>E\u011fer Intel i\u015flemciniz Quick Sync destekliyorsa (\u00e7o\u011fu modern Intel CPU&#8217;da bulunur), a\u015fa\u011f\u0131daki sat\u0131r\u0131 Jellyfin servis tan\u0131m\u0131n\u0131za ekleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>    devices:\n      - \/dev\/dri:\/dev\/dri<\/code><\/pre>\n<\/p><\/div>\n<p>Ayr\u0131ca, Jellyfin konteynerinin do\u011fru izinlere sahip oldu\u011fundan emin olun. Genellikle <code>render<\/code> veya <code>video<\/code> grubuna kullan\u0131c\u0131 ID&#8217;nizi eklemeniz gerekebilir. Sunucunuzda <code>sudo usermod -aG render $USER<\/code> veya <code>sudo usermod -aG video $USER<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<\/li>\n<li><strong>NVIDIA NVENC i\u00e7in:<\/strong>\n<p>E\u011fer NVIDIA ekran kart\u0131n\u0131z varsa, NVIDIA&#8217;n\u0131n Docker entegrasyonunu kullanman\u0131z gerekir. \u00d6ncelikle NVIDIA Container Toolkit&#8217;i kurman\u0131z gerekebilir. Ard\u0131ndan, Jellyfin servis tan\u0131m\u0131n\u0131za a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<div class=\"code-container\">\n<pre><code>    runtime: nvidia\n    environment:\n      - NVIDIA_VISIBLE_DEVICES=all # veya belirli bir GPU ID'si<\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<\/ul>\n<p>Donan\u0131m h\u0131zland\u0131rmay\u0131 etkinle\u015ftirdikten sonra, Jellyfin web aray\u00fcz\u00fcnden &#8220;Y\u00f6netici Paneli > Transcoding&#8221; b\u00f6l\u00fcm\u00fcne giderek kulland\u0131\u011f\u0131n\u0131z donan\u0131m h\u0131zland\u0131rma y\u00f6ntemini se\u00e7meyi unutmay\u0131n. Bu ayar, medya yay\u0131nlar\u0131n\u0131z\u0131n ak\u0131c\u0131l\u0131\u011f\u0131 \u00fczerinde b\u00fcy\u00fck bir etkiye sahip olacakt\u0131r.<\/p>\n<h3>Depolama \u00c7\u00f6z\u00fcmleri: Medya K\u00fct\u00fcphanenizin Evi<\/h3>\n<p>Medya k\u00fct\u00fcphaneniz b\u00fcy\u00fcd\u00fck\u00e7e, g\u00fcvenilir ve geni\u015f depolama \u00e7\u00f6z\u00fcmlerine olan ihtiyac\u0131n\u0131z da artacakt\u0131r. Do\u011fru depolama stratejisi se\u00e7imi, veri g\u00fcvenli\u011fi ve eri\u015fim h\u0131z\u0131 a\u00e7\u0131s\u0131ndan \u00f6nemlidir:<\/p>\n<ul>\n<li><strong>RAID (Redundant Array of Independent Disks):<\/strong> Birden fazla diski bir araya getirerek performans veya veri yedeklili\u011fi sa\u011flayan bir teknolojidir. RAID 1 (veri yedeklili\u011fi), RAID 5 veya RAID 6 (hem performans hem de yedeklilik) gibi se\u00e7enekler, disk ar\u0131zalar\u0131na kar\u015f\u0131 koruma sa\u011flayabilir.<\/li>\n<li><strong>ZFS veya Btrfs:<\/strong> Bu modern dosya sistemleri, veri b\u00fct\u00fcnl\u00fc\u011f\u00fc kontrol\u00fc, anl\u0131k g\u00f6r\u00fcnt\u00fcler (snapshots) ve kolay depolama havuzu y\u00f6netimi gibi geli\u015fmi\u015f \u00f6zellikler sunar. \u00d6zellikle b\u00fcy\u00fck medya k\u00fct\u00fcphaneleri i\u00e7in \u00f6nerilir.<\/li>\n<li><strong>Harici Diskler:<\/strong> Ba\u015flang\u0131\u00e7 i\u00e7in uygun maliyetli bir \u00e7\u00f6z\u00fcm olabilir, ancak performans ve uzun vadeli g\u00fcvenilirlik a\u00e7\u0131s\u0131ndan dahili diskler veya NAS \u00e7\u00f6z\u00fcmleri kadar iyi de\u011fildir.<\/li>\n<\/ul>\n<p>Hangi depolama \u00e7\u00f6z\u00fcm\u00fcn\u00fc se\u00e7erseniz se\u00e7in, medya dosyalar\u0131n\u0131z\u0131n d\u00fczenli olarak yedeklendi\u011finden emin olun. Dijital varl\u0131klar\u0131n\u0131z\u0131 kaybetmek istemezsiniz!<\/p>\n<h3>G\u00fcncelleme ve Bak\u0131m: Sisteminizin Sa\u011fl\u0131kl\u0131 Kalmas\u0131<\/h3>\n<p>Konteyner tabanl\u0131 bir sistemde bile d\u00fczenli g\u00fcncelleme ve bak\u0131m, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatmak, yeni \u00f6zelliklerden yararlanmak ve sistem kararl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir:<\/p>\n<ul>\n<li><strong>Docker Konteynerlerini G\u00fcncelleme:<\/strong> Konteynerlerinizi d\u00fczenli olarak en son s\u00fcr\u00fcmlerine g\u00fcncellemek \u00f6nemlidir. Bunun i\u00e7in <code>docker-compose pull<\/code> komutuyla yeni imajlar\u0131 \u00e7ekebilir, ard\u0131ndan <code>docker-compose up -d<\/code> ile konteynerleri yeniden olu\u015fturabilirsiniz.<\/li>\n<li><strong>\u0130\u015fletim Sistemi G\u00fcncellemeleri:<\/strong> Ana i\u015fletim sisteminizi de d\u00fczenli olarak g\u00fcncelleyin:\n<div class=\"code-container\">\n<pre><code>sudo apt update && sudo apt upgrade -y<\/code><\/pre>\n<\/div>\n<\/li>\n<li><strong>Traefik Sertifikalar\u0131n\u0131 Kontrol Etme:<\/strong> Traefik, Let&#8217;s Encrypt sertifikalar\u0131n\u0131 otomatik olarak yenilese de, zaman zaman Traefik dashboard&#8217;undan veya loglardan sertifika durumunu kontrol etmek iyi bir al\u0131\u015fkanl\u0131kt\u0131r.<\/li>\n<li><strong>Disk Alan\u0131 Takibi:<\/strong> Medya k\u00fct\u00fcphaneniz b\u00fcy\u00fcd\u00fck\u00e7e disk alan\u0131n\u0131z\u0131n doldu\u011funu fark edebilirsiniz. D\u00fczenli olarak disk kullan\u0131m\u0131n\u0131 kontrol edin ve gereksiz dosyalar\u0131 temizleyin.<\/li>\n<\/ul>\n<h3>Yedekleme Stratejileri: Verileriniz G\u00fcvende Olsun<\/h3>\n<p>En iyi donan\u0131m ve yaz\u0131l\u0131m bile ar\u0131zalanabilir. Bu y\u00fczden sa\u011flam bir yedekleme stratejisine sahip olmak vazge\u00e7ilmezdir. Jellyfin&#8217;in yap\u0131land\u0131rma dosyalar\u0131, meta verileri ve kullan\u0131c\u0131 verileri olduk\u00e7a de\u011ferlidir. Medya dosyalar\u0131n\u0131z genellikle \u00e7ok yer kaplad\u0131\u011f\u0131 i\u00e7in ayr\u0131 bir yedekleme stratejisi gerektirebilir.<\/p>\n<ul>\n<li><strong>Jellyfin Yap\u0131land\u0131rmas\u0131 ve Meta Verileri:<\/strong> <code>docker-compose.yml<\/code> dosyan\u0131zda Jellyfin&#8217;in <code>\/config<\/code> ve <code>\/cache<\/code> birimlerini (volumes) ana sunucunuzdaki belirli dizinlere ba\u011flam\u0131\u015ft\u0131k. Bu dizinlerin (\u00f6rne\u011fin <code>~\/jellyfin-traefik\/config\/jellyfin<\/code>) d\u00fczenli olarak harici bir diske, a\u011f depolama alan\u0131na veya bulut depolama hizmetine yedeklenmesi \u00f6nemlidir.<\/li>\n<li><strong>Traefik Yap\u0131land\u0131rmas\u0131 ve Sertifikalar\u0131:<\/strong> <code>traefik.yml<\/code> ve <code>acme.json<\/code> dosyalar\u0131n\u0131 da yedeklemeyi unutmay\u0131n. \u00d6zellikle <code>acme.json<\/code>, Let&#8217;s Encrypt sertifikalar\u0131n\u0131z\u0131 i\u00e7erir.<\/li>\n<li><strong>Medya Dosyalar\u0131:<\/strong> Filmleriniz, dizileriniz ve m\u00fczikleriniz genellikle terabaytlarca yer kaplar. Bunlar\u0131 yedeklemek i\u00e7in harici sabit diskler, bir NAS cihaz\u0131ndaki RAID yap\u0131land\u0131rmas\u0131 veya bulut depolama hizmetleri (Google Drive, OneDrive, Amazon S3) gibi \u00e7\u00f6z\u00fcmler d\u00fc\u015f\u00fcnebilirsiniz. Rclone gibi ara\u00e7lar, bulut depolama hizmetleriyle senkronizasyon i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<\/ul>\n<p>Unutmay\u0131n, yedekleme yapmak kadar, yedeklerinizi d\u00fczenli olarak test etmek de \u00f6nemlidir. Bir felaket an\u0131nda yedeklerinizin ger\u00e7ekten i\u015fe yarad\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z.<\/p>\n<p>Bu performans ve y\u00f6netim ipu\u00e7lar\u0131, Jellyfin medya sunucunuzu Traefik ile birlikte daha verimli, g\u00fcvenli ve sorunsuz bir \u015fekilde \u00e7al\u0131\u015ft\u0131rman\u0131za yard\u0131mc\u0131 olacakt\u0131r. Kendi medya merkezinizin keyfini \u00e7\u0131kar\u0131rken, ayn\u0131 zamanda sisteminizi profesyonelce y\u00f6netti\u011finizden emin olabilirsiniz.<\/p>\n<h2>Sonu\u00e7: Dijital Medya \u00d6zg\u00fcrl\u00fc\u011f\u00fcn\u00fcz Parmaklar\u0131n\u0131z\u0131n Ucunda<\/h2>\n<p>Bu kapsaml\u0131 rehber boyunca, Jellyfin ve Traefik ikilisini kullanarak kendi medya sunucunuzu s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenli bir \u015fekilde eri\u015filebilir hale getirece\u011finizi ad\u0131m ad\u0131m inceledik. Dijital medya k\u00fct\u00fcphanenizi kendi kontrol\u00fcn\u00fczde tutman\u0131n, gizlili\u011finizi koruman\u0131n ve i\u00e7eriklerinize istedi\u011finiz yerden, istedi\u011finiz zaman eri\u015fmenin ne kadar kolay ve \u00f6d\u00fcllendirici olabilece\u011fini g\u00f6rd\u00fck. Traefik&#8217;in dinamik ters proxy yetenekleri ve otomatik SSL sertifikalar\u0131 sayesinde, karma\u015f\u0131k a\u011f ve g\u00fcvenlik yap\u0131land\u0131rmalar\u0131yla u\u011fra\u015fmadan profesyonel d\u00fczeyde bir medya sunucusu deneyimi elde edebilirsiniz.<\/p>\n<p>Jellyfin&#8217;in a\u00e7\u0131k kaynakl\u0131 yap\u0131s\u0131, geni\u015f cihaz deste\u011fi ve g\u00fc\u00e7l\u00fc transcoding yetenekleri, onu ki\u015fisel medya k\u00fct\u00fcphaneniz i\u00e7in ideal bir se\u00e7im haline getiriyor. Traefik ise, bu k\u00fct\u00fcphaneye g\u00fcvenli ve modern bir kap\u0131 a\u00e7arak, i\u00e7eri\u011finize HTTPS \u00fczerinden \u015fifreli bir \u015fekilde eri\u015fmenizi sa\u011fl\u0131yor. Docker ve Docker Compose&#8217;un sa\u011flad\u0131\u011f\u0131 konteynerle\u015ftirme kolayl\u0131\u011f\u0131 sayesinde, t\u00fcm bu bile\u015fenleri h\u0131zl\u0131 ve verimli bir \u015fekilde kurup y\u00f6netmek art\u0131k m\u00fcmk\u00fcn.<\/p>\n<p>Unutmay\u0131n, kendi sunucunuzu bar\u0131nd\u0131rmak s\u00fcrekli bir \u00f6\u011frenme ve bak\u0131m s\u00fcrecidir. D\u00fczenli g\u00fcncellemeler, donan\u0131m optimizasyonlar\u0131 ve sa\u011flam bir yedekleme stratejisi, medya sunucunuzun uzun \u00f6m\u00fcrl\u00fc ve sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayacakt\u0131r. Art\u0131k filmlerinizi, dizilerinizi ve m\u00fcziklerinizi kendi kurallar\u0131n\u0131za g\u00f6re, tam \u00f6zg\u00fcrl\u00fck i\u00e7inde deneyimleyebilirsiniz. Kendi dijital medya krall\u0131\u011f\u0131n\u0131z hay\u0131rl\u0131 olsun!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt>Jellyfin&#8217;i neden Plex veya Emby&#8217;ye tercih etmeliyim?<\/dt>\n<dd>Jellyfin tamamen \u00fccretsiz ve a\u00e7\u0131k kaynakl\u0131d\u0131r, yani hi\u00e7bir \u00fccretli \u00f6zelli\u011fe veya abonelik modeline sahip de\u011fildir. Gizlilik odakl\u0131d\u0131r ve verileriniz \u00fczerinde tam kontrol sa\u011flars\u0131n\u0131z. Plex ve Emby&#8217;nin baz\u0131 geli\u015fmi\u015f \u00f6zellikleri \u00fccretli abonelik gerektirirken, Jellyfin t\u00fcm \u00f6zelliklerini \u00fccretsiz sunar.<\/dd>\n<dt>Traefik yerine Nginx veya Caddy kullanabilir miyim?<\/dt>\n<dd>Evet, kesinlikle kullanabilirsiniz. Nginx ve Caddy de pop\u00fcler ters proxy \u00e7\u00f6z\u00fcmleridir. Nginx olduk\u00e7a g\u00fc\u00e7l\u00fc ve esnek bir yap\u0131ya sahipken, Caddy otomatik HTTPS konusunda Traefik kadar kolay bir deneyim sunar. Ancak Traefik, Docker gibi konteyner orkestrasyon ara\u00e7lar\u0131yla dinamik entegrasyonu sayesinde yap\u0131land\u0131rma ve y\u00f6netim kolayl\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan \u00f6ne \u00e7\u0131kar.<\/dd>\n<dt>Jellyfin medya k\u00fct\u00fcphanemi nas\u0131l d\u00fczenlemeliyim?<\/dt>\n<dd>Jellyfin, medya dosyalar\u0131n\u0131z\u0131n iyi d\u00fczenlenmi\u015f olmas\u0131n\u0131 sever. Filmlerinizi &#8220;Filmler&#8221; klas\u00f6r\u00fcnde, her filmi kendi klas\u00f6r\u00fcnde (\u00f6rne\u011fin <code>\/Filmler\/Avatar (2009)\/Avatar (2009).mkv<\/code>) tutman\u0131z \u00f6nerilir. Diziler i\u00e7in ise <code>\/Diziler\/Dizi Ad\u0131\/Sezon 01\/Dizi Ad\u0131 - S01E01 - B\u00f6l\u00fcm Ad\u0131.mkv<\/code> gibi bir yap\u0131 kullanmak meta verilerin do\u011fru \u015fekilde e\u015fle\u015fmesini sa\u011flar. Bu, Jellyfin&#8217;in i\u00e7eri\u011finizi do\u011fru tan\u0131mas\u0131 ve zengin meta verilerle g\u00f6stermesi i\u00e7in kritik \u00f6neme sahiptir.<\/dd>\n<dt>Donan\u0131m h\u0131zland\u0131rma ger\u00e7ekten gerekli mi?<\/dt>\n<dd>E\u011fer birden fazla e\u015fzamanl\u0131 yay\u0131n yapmay\u0131 planl\u0131yorsan\u0131z, 4K veya y\u00fcksek bit h\u0131zl\u0131 videolar\u0131 daha d\u00fc\u015f\u00fck \u00e7\u00f6z\u00fcn\u00fcrl\u00fcklere d\u00f6n\u00fc\u015ft\u00fcrmeniz gerekiyorsa veya sunucunuzun i\u015flemcisinin ba\u015fka g\u00f6revler i\u00e7in bo\u015f kalmas\u0131n\u0131 istiyorsan\u0131z, donan\u0131m h\u0131zland\u0131rma kesinlikle gereklidir. K\u00fc\u00e7\u00fck k\u00fct\u00fcphaneler veya sadece ev a\u011f\u0131nda do\u011frudan yay\u0131n i\u00e7in yaz\u0131l\u0131msal transcoding yeterli olabilir, ancak performans fark\u0131 olduk\u00e7a belirgindir.<\/dd>\n<dt>Ev a\u011f\u0131m\u0131n d\u0131\u015f\u0131ndan Jellyfin&#8217;e eri\u015fmek g\u00fcvenli mi?<\/dt>\n<dd>Evet, Traefik ile HTTPS (SSL\/TLS) \u015fifrelemesini kullanarak Jellyfin&#8217;e g\u00fcvenli bir \u015fekilde eri\u015febilirsiniz. Bu, verilerinizin internet \u00fczerinden \u015fifreli olarak iletilmesini sa\u011flar. Ek olarak, g\u00fc\u00e7l\u00fc \u015fifreler kullanmak, g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131z\u0131 do\u011fru yapmak ve Traefik dashboard&#8217;una basic auth gibi ek g\u00fcvenlik katmanlar\u0131 eklemek, g\u00fcvenli\u011fi daha da art\u0131racakt\u0131r.<\/dd>\n<\/dl>\n<p>#Jellyfin #Traefik #SelfHosting #Docker #MedyaSunucusu<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/traefik-reverse-proxy-docker-compose-example\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/traefik-reverse-proxy-docker-compose-example<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Dijital medya k\u00fct\u00fcphanenizi y\u00f6netmek, filmlerinizi, dizilerinizi ve m\u00fcziklerinizi istedi\u011finiz zaman, istedi\u011finiz yerden eri\u015filebilir k\u0131lmak art\u0131k karma\u015f\u0131k bir s\u00fcre\u00e7 olmak zorunda de\u011fil.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-44889","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jellyfin&#039;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jellyfin&#039;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Dijital medya k\u00fct\u00fcphanenizi y\u00f6netmek, filmlerinizi, dizilerinizi ve m\u00fcziklerinizi istedi\u011finiz zaman, istedi\u011finiz yerden eri\u015filebilir k\u0131lmak art\u0131k karma\u015f\u0131k bir s\u00fcre\u00e7 olmak zorunda de\u011fil.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-25T06:09:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-25T06:10:13+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"32 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Jellyfin&#8217;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2026-09-25T06:09:44+00:00\",\"dateModified\":\"2026-09-25T06:10:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/\"},\"wordCount\":5400,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/\",\"name\":\"Jellyfin'i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-09-25T06:09:44+00:00\",\"dateModified\":\"2026-09-25T06:10:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jellyfin&#8217;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Jellyfin'i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Jellyfin'i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber","og_description":"Dijital medya k\u00fct\u00fcphanenizi y\u00f6netmek, filmlerinizi, dizilerinizi ve m\u00fcziklerinizi istedi\u011finiz zaman, istedi\u011finiz yerden eri\u015filebilir k\u0131lmak art\u0131k karma\u015f\u0131k bir s\u00fcre\u00e7 olmak zorunda de\u011fil.","og_url":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-09-25T06:09:44+00:00","article_modified_time":"2026-09-25T06:10:13+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"32 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Jellyfin&#8217;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber","datePublished":"2026-09-25T06:09:44+00:00","dateModified":"2026-09-25T06:10:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/"},"wordCount":5400,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/","name":"Jellyfin'i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-09-25T06:09:44+00:00","dateModified":"2026-09-25T06:10:13+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/jellyfini-kendi-sunucunuzda-traefik-ile-guvenle-barindirma-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Jellyfin&#8217;i Kendi Sunucunuzda Traefik ile G\u00fcvenle Bar\u0131nd\u0131rma: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/44889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=44889"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/44889\/revisions"}],"predecessor-version":[{"id":44890,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/44889\/revisions\/44890"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=44889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=44889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=44889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}