Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

azeroth - media server project


-Bonesoul-

Öne çıkan mesajlar

bu aralar eve bi media server projesine başladım. discord #kodcu'da muhabbetini çeviriyoruz bu aralar zaten, faydası dokunursa diye burada da dokumante edeyim dedim. ilk etapta github repomu paylaşmadım ama ilgi olursa, private configlerimi temizleyip, açabilirim de.

htpc / media server?

öncelikle proje htpc'den daha çok media server. yani ikinci bir headless pc'ye kuracağımız servislerden oluşacak. evdeki pc, htpc, tv'den ne varsa vlc, plex, emby, jellyfin vasıtasıyla izleyeceğiz.

hardware

konfigurasyon biraz hafifletilirse, raspberry pi 4 /nuc gibi cihazlarda da çalışabilir ama benim gibi tam anlamıyla yapacam derseniz sağlam setupa ihtiyaç var transcode işlerinden dolayı.

os

sistemi docker üzerinde koşturacağız, o yüzden windows, ubuntu, debian hepsi olur. ben media serverı daha toplamadığımdan şimdilik gaming pc'mde developmentı yapıyorum, bitirince cihazı alıp taşıyacağım ki taşıma işi gayet kolay docker tabanlı gittiğimiz için. sadece yeni pc'ye docker kurup dosyalarımızı taşıyacağız. yani siz de gaming pcnizde başlayıp baktınız hoşunuz gitti ileride media servera geçirebilirsiniz.

neler olacak?

tcpqrja.png

film, dizi, anime, muzik, comics, subtitles, ev otomasyonu dahil komple bir sistem kuracağız. hem usenet hem torrent destekli olacak. istediğiniz parçaları setuptan çıkarabilirsiniz.

media server:

media discovery:

downloader:

indexer:

iptv:

  • xteve (iptv proxy - tek streami bütün eve stream edebilmek için)

home automation

utils:

1) docker

docker olmadan da kurulabilir bir sistem ama benim yaptığım gibi tam bir media server isterseniz, dockersız bütün servisleri kurmak konfigure etmek maintain etmek dert, o yüzden dockerı seçiyoruz. isterseniz ilk etapta dockersız küçük setuplar için elle kurulum yapabiliriz.

ilk etapta dockerı kuruyoruz. windows için buradan, ubuntu/debian için ise şuradan. çoğunuzun windowsta olduğunu bildiğimden, burdan sonra windows bazlı devam edecem. 

2) vscode

vscode'u kurarsanız iyi olur, yml parserı ile config'i yazmak kolay olacaktır.

3) folder structure

boş alan sıkıntısı olmaya bir diskte, mediaserver adlı bir klasör açıyoruz. setupın herşeyi bu klasör içinde yaşayacak.

920y4Xu.png

  • data - mysql verileri burada olacak
  • docker - docker setupımız ve configlerin olacağı klasör
  • downloads - adı üstünde
  • nas - indirilen bütün içerik sonuçta buraya taşınacak

4) docker-compose.yml

docker klasörü içine 2 adet dosya hazırlayacağız. bunları vscode ile editleyebilirsiniz.

docker-compose.yml

Spoiler

version: "3.7"

############################
# Services
############################

services:

services kısmına programları ekleyeceğiz

.env

Spoiler

############################
# System
############################

USERDIR=G:\mediaserver
PUID=1000
PGID=998
TZ=UTC
COMPOSE_CONVERT_WINDOWS_PATHS=1

############################
# Ports
############################

.env sistemimize özel değişkenlerin olduğu dosya. ilk etapta USERDIR'i sisteminize göre uyarlamak gerekmekte. ports kısmına da programları ekledikçe yazacağız.

5.1) portainer - container managment

sistem docker içinde çalıştığı için containerların kolay kullanımı sağlayan portainerı kullanacağız. daha önce yarattığımız docker-compose.yml ve .env dosyalarına şu eklemeleri yapıyoruz

docker-compose.yml

Spoiler

  # docker container manager.

  portainer:

    image: portainer/portainer

    container_name: portainer

    command: -H unix:///var/run/docker.sock

    environment:

      - TZ=${TZ}

    ports:

      - "${PORTAINER_PORT}:9000"

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

      - ${USERDIR}/docker/config/portainer:/data

    restart: unless-stopped

.env

Alıntı

PORTAINER_PORT=9000

sonuç olarak eklemelerle birlikte iki dosyanın son hali söyle olmalı

docker-compose.yml

Spoiler

version: "3.7"

 

############################

# Services

############################

 

services:

 

  ############################

  # front-ends

  ############################

 

  # docker container manager.

  portainer:

    image: portainer/portainer

    container_name: portainer

    command: -H unix:///var/run/docker.sock

    environment:

      - TZ=${TZ}

    ports:

      - "${PORTAINER_PORT}:9000"

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

      - ${USERDIR}/docker/config/portainer:/data

    restart: unless-stopped

.env

Spoiler

############################
# System
############################

USERDIR=G:\mediaserver
PUID=1000
PGID=998
TZ=UTC
COMPOSE_CONVERT_WINDOWS_PATHS=1

############################
# Ports
############################

PORTAINER_PORT=9000

daha sonra oluşturduğumuz mediaserver/docker klasörüne command prompt vasıtasıyla girerek docker-compose'un setupımız ayağa kaldırmasını söylüyoruz.

Alıntı

docker-compose up -d

portainer için compose configimizde 9000 portunu expose etmiştik. 

http://ip:9000 şeklinde browserdan giriş yaptığımızda, portainer karşımıza çıkacak. portainer'ın en önemli ekranı, containers tabı. buradan containerları silme yeniden başlatma gibi işlemler mümkün.

p0gYa17.png

5.2) heimdall - startpage

sunucu üzerinde birçok farklı servis çalışacağı ve herbirinin web arabirimi portunu ezberlemek zor olacağı için start page olarak heimdall'ı kullanacağız.

docker-compose.yml

Spoiler

  # start-page for media-server

  heimdall:

    image: linuxserver/heimdall

    container_name: heimdall

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/heimdall:/config

    ports:

      - "${HEIMDALL_PORT}:80"

    restart: unless-stopped

 

.env

Spoiler

HEIMDALL_PORT=80

Bundan sonra her adımda docker'a tekrar configi ayağa kaldırmasını söyleyeceğiz;

Alıntı

docker-compose up -d

http://ip ile ulaşabileceğimiz arabirimde istediğimiz servisleri ekleyeceğiz. örnek olarak portainer'ın ayarını gösterelim;

yh1jKpa.png

Artık heimdall'ın ana sayfasından direk portainer'a erişebileceğiz.

6) media servers (plex, emby, jellyfin, airsonic)

docker-compose.yml

Spoiler

  ############################

  # media servers

  ############################

 

  # famous media server.

  plex:

    image: linuxserver/plex

    container_name: plex

    # network_mode: host # does not work on windows.

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

      - VERSION=docker

      - PLEX_CLAIM=

    volumes:

      - ${USERDIR}/docker/config/plex:/config

      - ${USERDIR}/nas/movies:/movies

      - ${USERDIR}/nas/tvseries:/tvseries

      - ${USERDIR}/downloads:/downloads

    ports:

      - 32400:32400

      - 32400:32400/udp

      - 32469:32469

      - 32469:32469/udp

      - 5555:5353/udp

      - 1900:1900/udp

    restart: unless-stopped

 

  # alternative media server for plex.

  emby:

    image: linuxserver/emby

    container_name: emby

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/emby:/config

      - ${USERDIR}/nas/movies:/movies

      - ${USERDIR}/nas/tvseries:/tvseries

      - ${USERDIR}/downloads:/downloads

    ports:

      - "${EMBY_PORT}:8096"

    restart: unless-stopped

 

  # open source fork of emby - after it gone premium service model.

  jellyfin:

    image: linuxserver/jellyfin

    container_name: jellyfin

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/jellyfin:/config

      - ${USERDIR}/nas/movies:/movies

      - ${USERDIR}/nas/tvseries:/tvseries

      - ${USERDIR}/downloads:/downloads

    ports:

      - "${JELLYFIN_PORT}:8096"

    restart: unless-stopped

 

  # music streamer

  airsonic:

    image: linuxserver/airsonic

    container_name: airsonic

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/airsonic:/config

      - ${USERDIR}/nas/music:/music

      - ${USERDIR}/nas/music/playlists:/playlists

      - ${USERDIR}/nas/music/podcasts:/podcasts

    ports:

      - "${AIRSONIC_PORT}:4040"

    restart: unless-stopped

.env

Spoiler

AIRSONIC_PORT=4040

EMBY_PORT=8096

JELLYFIN_PORT=8097

 

Alıntı

docker-compose up -d

Devamında heimdall'a ilgili uygulamaları portları ile birlikte eklemiz gerekiyor. Media server'ların ayarları zaten standart ve docker configimizde direk medyamızı görebileceğimiz şekilde ayarladık.

7) nzb (usenet) & torrent

şimdi geldik asıl mevzuya ve içeriği indirme işine. iki seçenek var, nzb yani usenet ve torrentlar (public veya private).

ben mevcutta ikisini de kullanıyorum ama nzb asıl source'um diyelim. isteyenler için ikisinde açıklayacağım.

isterseniz useneti komple pass'da geçebilirsiniz. setupımız sadece public/private trackerlarlar da çalışacak şekilde.

7.1) nzb (usetnet)

usenet kullanabilmek için temelde iki şeye ihtiyacımız var 1)usenet server üyeliği 2) nzb indexer.

7.1.1) usenet üyeliği

usenetin private torrentlara göre en iyi avantajı ratio derdi olmaması. aylık 4-10$ gibi ücretleri var paketlerine göre.

mevcutta iki üyeliğim var var;

tek üyelikle de bu işi yapmak mümkün. ben sınırsız üyelikleri tercih ediyorum. isterseniz başka bir provider'dan da almanız mümkün.

7.1.2) nzb indexer

ikinci ihtiyacımız olan da bir nzb indexer. bu indexer temelde usenettiki içeriği indexleyip, hangi dosya nerde işini hallediyor.

ben nzbgeek kullanıyorum bütün işimi görüyor. bunların ücreti baya düşük oluyor zaten. nzbgeek 6 ay için 6$ istiyor, yani ayda 1$ gayet makul. bir nzb indexer üyeliği aldıktan sonra kullanıma hazırız demektir.

8 ) jackett - torrent indexer

jackett torrentlar için kullanacağımız indexerin adı. sonarr, radarr gibi yazılımlar jackett üzerinden seçtiğimiz torrent trackerlara da sorgu gönderebilecek.

hemen kurulumunu yapalım;

docker-compose.yaml

Spoiler

  # torrent indexer

  jackett:

    image: linuxserver/jackett

    container_name: jackett

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/jackett:/config

      - ${USERDIR}/downloads:/downloads

    ports:

      - "${JACKETT_PORT}:9117"

    restart: unless-stopped

.env

Spoiler

JACKETT_PORT=9117

 

Alıntı

docker-compose up -d

ayağa kaldırdıktan sonra heimdall'a http://ip:9117 ile ekleyip jackett'a erişebiliyoruz.

jacket ana ekranında add indexer'a basıyoruz. benim private trackerım olmadıgı icin public trackerları ekliyorum "public en-" şeklinde bir search yaparak.

REyUjVR.png

benim public olarak ekledigim trackler;

1337x, demonoid, eztv, isohunt2, kat.li, kickasstorrents, rarbg, thepiratebay, torlock, toros, torrentfunk, torrentgalaxy, torrentquest, yourtorrent ve yts. sizde ihtiyaçlarınıza göre private torrent trackerlarınızı eklersiniz.

şimdilik jacketlla işimiz tamam daha sonra geri döneceğiz.

9) qbittorent, transmission - torrent downloader

şimdi sisteme torrent downloader ekleyeğiz. ben qbittorrent kullanıyorum ama isteyen transmissionı da kullanabilir. ikisinin configinide ekliyorum.

docker-compose.yml

Spoiler

  # torrent downloader

  qbittorrent:

    image: linuxserver/qbittorrent

    container_name: qbittorrent

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

      - WEBUI_PORT=${QBITTORRENT_PORT}

    volumes:

      - ${USERDIR}/docker/config/qbittorrent:/config

      - ${USERDIR}/downloads:/downloads

    ports:

      - "${QBITTORRENT_PORT}:${QBITTORRENT_PORT}"

      - 6881:6881

      - 6881:6881/udp

    restart: unless-stopped

 

  # torrent downloader

  transmission:

    image: linuxserver/transmission

    container_name: transmission

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/transmission:/config

      - ${USERDIR}/downloads:/downloads

      - ${USERDIR}/downloads/torrent:/watch

    ports:

      - "${TRANSMISSION_PORT}:9091"

      - 51413:51413

      - 51413:51413/udp

    restart: unless-stopped

.env

Spoiler

QBITTORRENT_PORT=8082

TRANSMISSION_PORT=9091

yine docker-composela yeni programları ayaga kaldırıp heimdall'a ekliyoruz.

qbittorent'ın ayarlarını istediginiz gibi yaparsınız, ben sadece bittorrent tabında, seeding limit bolumunde when ratio reaches 0 yaptım ki torrent iner inmez seedlemeyi durdursun.

10) SABnzbd - nzb (usenet) downloader

sıra geldi nzb indirecek programa. eğer sırf torrent kullanacaksanız pas geçebilirsiniz.

docker-compose.yml

Spoiler

  # nzb downloader

  sabnzbd:

    image: linuxserver/sabnzbd

    container_name: sabnzbd

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/sabnzbd:/config

      - ${USERDIR}/downloads:/downloads

      - ${USERDIR}/nas:/nas

    ports:

      - "${SABNZBD_PORT}:8080"

    restart: unless-stopped

.env

Spoiler

SABNZBD_PORT=8080

docker-composelayıp ayağa kaldırıp, heimdall'a ekliyoruz aynı şekilde. devamında sıra geldi SABnzbd ayarlarını yapmaya.

klasörler vs yazdığım docker configden dolayı zaten hazır olacak tek yapmanız gereken servers ekranına girip, satın aldığınız usenet server ayarlarını girmek.

MCrXJIK.png

hem torrent hem nzb downloaderlarımızı hazır hale getirdiğimize göre sıra geldi işin en leziz tarafına.

artık sonarr, radarr gibi içerik bulan programları kurup indirmeye başlayabiliriz.

11) sonarr (dizi, anime)

docker-compose.yml

Spoiler

  # tvseries nzb finder

  sonarr:

    image: linuxserver/sonarr

    container_name: sonarr

    environment:

      - PUID=${PUID}

      - PGID=${PGID}

      - TZ=${TZ}

    volumes:

      - ${USERDIR}/docker/config/sonarr:/config

      - ${USERDIR}/nas/tvseries:/tvseries

      - ${USERDIR}/downloads:/downloads

    ports:

      - "${SONARR_PORT}:8989"

    restart: unless-stopped

.env

Spoiler

SONARR_PORT=8989

docker-composelayıp heimdall'a ekledikten sonra http://ip:8989 ile açıyoruz sonarr'ı. ilk önce ayarlarını yapmamız lazım.

önce indexerları eklememiz lazım. eğer usenet kullanacaksanız sisteme abone olduğumuz indexeri ekleyeceğiz. settings ~ indexers ~ add ile ekranı açıp newznab ~ presets'den nzbgeek'i seçip nzbgeek sırasında aldığımız üyelik sonrası verdikleri api keyi girip test'e basıp save ediyoruz.

x3w2Z27.png

ek olarak torrent indexerları da ekleyebiliriz. burada dikkat etmemiz gereken bir nokta var. torrent indexerler rss feeder vs search provider olarak calisabiliyor. eger eklediğiniz her torrent trackerı search provider olarak eklerseniz arama ekranları çok yavaş çalışacak. onun yerine bir iki major torrent trackerı search provider olarak ekleyip, kalanları sadece rss feed olarak bırakmak mantıklı. böyle bu trackerlar arama ekranlarında sonuçlara dahil olmasa da sonarrın otomatik yaptığı indirmelerde kullanılacak.

torrent tracker eklerken torznab ~ custom'ı seçmemiz gerekiyor. 

qatJhrp.png

görüldüğü gibi thepiratebay'i hem rss sync hem enable search olarak işaretlemişim. böyle searchlerde thepiratebay sonuc gosterecek.

ekrandaki url ve api key bilgilerini daha önce konfigure ettiğimiz jackettan gireceğiz. tekrar jackettı açıp daha önce eklediğimiz thepiratebay'in yanındaki Copy Tornabz Feed'e butonuna basıp bunu jackett'da ekleme ekranında url'e yapıştırıyoruz. yine aynı şekilde jackettın en üstünde ki api key'i kopyalayıp sonarr indexer ekleme ekranında api key'e yapıştırıyoruz ve teste basıp save ediyoruz. herşeyi doğru yaptıyısanız testin başarılı olması gerekiyor.

şimdi ayarlardan downloaders'a girip SUBnzbd ip & port ve yine subnzbd settings ~ general ~ api key'den alacağımız api key'i giriyoruz.

aynı şekilde qbittorent içinde ip, port, username, password girip test'e basıyoruz. 

eğer buraya kadar geldi iseniz artık işin en zevkli kısmı başlıyor.

sonarr ana ekranına dönüp add series'e basıp aramamızı yapıyoruz. istediğimiz dizileri ekliyoruz

  • path: (ilk seferinde path eklememiz gerekiyor ki browse patch ekranında /tvseries/) klasorunu secmeniz lazım. 
  • monitor: enable edersek dizinin bundan sonra cıkacak bolumlerının otomatik indirilmesini sağlıyor.
  • profile: indirmek istediğimiz kaliteyi seçiyoruz.

+'ya bastığımızda artık dizi monitorlenmiş olacak. daha sonra series ekranından diziye girdiğimizde soyle bir ekranla karsılasacagız.

sMpFEZ2.png

daha oncede dediğim gibi eski cıkan bolumleri sonarr otomatik indirmeyecek, bu durumda sezondaki bolumlerın yanında büyütece basıp bolumun indirilmesini sağlayabilirsiniz.

eğer buraya kadar bütün herseyi dogru yaptı iseniz, usenet ayarladı iseniz SABnzbd'de yoksa qbittorrent'a birazda bölümler ekrana düşmeye başlayacak.

CKRYIm9.png

sdEXcJQ.png

indirme işlemi bittikten sonra mediaserver/nas/tvseries klasörüne bölümler otomatik taşınacak. zaten plex, emby, jellyfin klasör ayarlarını docker configde girdiğimizde bölümler direk media playerlarımıza düşecek.

buraya kadar temel işleyişi öğrendik. devamında radarr (film), bazarr (subtitles) gibi programları dockerra ekleyeceğiz. bu programların çoğu sonarr'la aynı altyapıya sahip olduğu için configurasyon çok benzer olacak.

 

 

 

-Bonesoul- tarafından düzenlendi
Link to comment
Sosyal ağlarda paylaş

kısa bir update geçeyim, setupı ben evimde komple bitirdim, film, dizi, muzik, home-automation, software development içeren docker configimi, debian 10 kurduğum standalone yeni bir pc'ye attım.

config'imin software-development hedelerinden temizlenmiş son hali de şu;

docker-compose.yml

Spoiler

version: "3.7"

############################

# Services

############################

services:

############################

# front-ends

############################

# docker container manager.

portainer:

image: portainer/portainer

container_name: portainer

command: -H unix:///var/run/docker.sock

environment:

- TZ=${TZ}

volumes:

- /var/run/docker.sock:/var/run/docker.sock

- ${USERDIR}/docker/config/portainer:/data

networks:

- default

- traefik_proxy

ports:

- ${PORTAINER_PORT}:9000

restart: unless-stopped

# start-page for media-server

heimdall:

image: linuxserver/heimdall

container_name: heimdall

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/heimdall:/config

networks:

- default

- traefik_proxy

ports:

- ${HEIMDALL_PORT}:80

restart: unless-stopped

############################

# media servers

############################

# famous media server.

plex:

image: linuxserver/plex

container_name: plex

network_mode: host

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

- VERSION=docker

- PLEX_CLAIM=${PLEX_CLAIM}

volumes:

- ${USERDIR}/docker/config/plex:/config

- ${USERDIR}/nas/movies:/movies

- ${USERDIR}/nas/tvseries:/tvseries

- ${USERDIR}/downloads:/downloads

restart: unless-stopped

# alternative media server for plex.

emby:

image: linuxserver/emby

container_name: emby

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/emby:/config

- ${USERDIR}/nas/movies:/movies

- ${USERDIR}/nas/tvseries:/tvseries

- ${USERDIR}/downloads:/downloads

ports:

- ${EMBY_PORT}:8096

restart: unless-stopped

# open source fork of emby - after it gone premium service model.

jellyfin:

image: linuxserver/jellyfin

container_name: jellyfin

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/jellyfin:/config

- ${USERDIR}/nas/movies:/movies

- ${USERDIR}/nas/tvseries:/tvseries

- ${USERDIR}/downloads:/downloads

ports:

- ${JELLYFIN_PORT}:8096

restart: unless-stopped

# music streamer

airsonic:

image: linuxserver/airsonic

container_name: airsonic

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/airsonic:/config

- ${USERDIR}/nas/music/albums:/music

- ${USERDIR}/nas/music/playlists:/playlists

- ${USERDIR}/nas/music/podcasts:/podcasts

ports:

- ${AIRSONIC_PORT}:4040

restart: unless-stopped

############################

# pvr

############################

# movie nzb finder

radarr:

image: linuxserver/radarr

container_name: radarr

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/radarr:/config

- ${USERDIR}/nas/movies:/movies

- ${USERDIR}/downloads:/downloads

ports:

- ${RADARR_PORT}:7878

restart: unless-stopped

# tvseries nzb finder

sonarr:

image: linuxserver/sonarr

container_name: sonarr

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/sonarr:/config

- ${USERDIR}/nas/tvseries:/tvseries

- ${USERDIR}/downloads:/downloads

ports:

- ${SONARR_PORT}:8989

restart: unless-stopped

# music finder

lidarr:

image: linuxserver/lidarr

container_name: lidarr

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/lidarr:/config

- ${USERDIR}/nas/music/albums:/music

- ${USERDIR}/downloads:/downloads

ports:

- ${LIDARR_PORT}:8686

restart: unless-stopped

# music finder

headphones:

image: linuxserver/headphones

container_name: headphones

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/headphones:/config

- ${USERDIR}/nas/music/albums:/music

- ${USERDIR}/downloads:/downloads

ports:

- ${HEADPHONES_PORT}:8181

restart: unless-stopped

# comic finder

mylar:

image: linuxserver/mylar

container_name: mylar

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/mylar:/config

- ${USERDIR}/nas/comics:/comics

- ${USERDIR}/downloads:/downloads

ports:

- ${MYLAR_PORT}:8090

restart: unless-stopped

# subtitle finder

bazarr:

image: linuxserver/bazarr

container_name: bazarr

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/bazarr:/config

- ${USERDIR}/nas/movies:/movies

- ${USERDIR}/nas/tvseries:/tvseries

ports:

- ${BAZARR_PORT}:6767

restart: unless-stopped

# ebook finder

lazylibrarian:

image: linuxserver/lazylibrarian

container_name: lazylibrarian

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/lazylibrarian:/config

- ${USERDIR}/downloads:/downloads

- ${USERDIR}/nas/books:/books

ports:

- ${LAZYLIBRARIAN_PORT}:5299

restart: unless-stopped

############################

# downloaders

############################

# nzb downloader

sabnzbd:

image: linuxserver/sabnzbd

container_name: sabnzbd

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/sabnzbd:/config

- ${USERDIR}/downloads:/downloads

- ${USERDIR}/nas:/nas

ports:

- ${SABNZBD_PORT}:8080

restart: unless-stopped

# torrent downloader

qbittorrent:

image: linuxserver/qbittorrent

container_name: qbittorrent

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

- WEBUI_PORT=${QBITTORRENT_PORT}

volumes:

- ${USERDIR}/docker/config/qbittorrent:/config

- ${USERDIR}/downloads:/downloads

ports:

- ${QBITTORRENT_PORT}:${QBITTORRENT_PORT}

- 6881:6881

- 6881:6881/udp

restart: unless-stopped

############################

# indexers

############################

# nzb indexer

hydra2:

image: linuxserver/hydra2

container_name: hydra2

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/hydra2:/config

- ${USERDIR}/downloads:/downloads

ports:

- ${HYDRA2_PORT}:5076

restart: unless-stopped

# torrent indexer

jackett:

image: linuxserver/jackett

container_name: jackett

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/jackett:/config

- ${USERDIR}/downloads:/downloads

ports:

- ${JACKETT_PORT}:9117

restart: unless-stopped

############################

# media utils

############################

# stats for plex

tautulli:

image: linuxserver/tautulli

container_name: tautulli

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/tautulli:/config

- ${USERDIR}/docker/config/plex/Libray/Application Support/Plex Media Server/Logs:/logs

ports:

- ${TAUTULLI_PORT}:8181

restart: unless-stopped

# iptv proxy

xteve:

image: alturismo/xteve

container_name: xteve

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/xteve/cron:/config

- ${USERDIR}/docker/config/xteve/config:/root/.xteve:rw

- ${USERDIR}/data/webgrabplus:/xmltv

ports:

- 1901:1900

- ${XTEVE_PORT}:34400

restart: unless-stopped

# epg

webgrabplus:

image: linuxserver/webgrabplus

container_name: webgrabplus

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/webgrabplus:/config

- ${USERDIR}/data/webgrabplus:/data

restart: unless-stopped

# stream proxy

tvheadend:

image: linuxserver/tvheadend

container_name: tvheadend

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

volumes:

- ${USERDIR}/docker/config/tvheadend:/config

- ${USERDIR}/nas/recordings:/recordings

- ${USERDIR}/data/webgrabplus:/xmltv

ports:

- ${TVHEADEND_PORT}:9981

- 9982:9982

restart: unless-stopped

# tvheadend to plex connection.

plexheadend:

image: wrboyce/plexheadend

container_name: plexheadend

environment:

- PLEXHEADEND_PROXY_LISTEN=${PLEXHEADEND_PORT}

- PLEXHEADEND_TVH_HOST=${IP_ADDRESS}

- PLEXHEADEND_TVH_PORT=${TVHEADEND_PORT}

- PLEXHEADEND_TVH_USER=plex

- PLEXHEADEND_TVH_PASS=plex

ports:

- ${PLEXHEADEND_PORT}:${PLEXHEADEND_PORT}

restart: unless-stopped

############################

# home automation

############################

# homekit automation

homebridge:

image: oznu/homebridge:latest # arm64v8 for raspberry pi

hostname: homebridge

container_name: homebridge

network_mode: host

ports:

- ${HOMEBRIDGE_UI_PORT}:8080

- ${HOMEBRIDGE_PORT}:51770

volumes:

- ${USERDIR}/docker/config/homebridge:/homebridge

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

- HOMEBRIDGE_CONFIG_UI=1

- HOMEBRIDGE_CONFIG_UI_PORT=${HOMEBRIDGE_UI_PORT}

restart: always

# home automation software

homeassistant:

image: homeassistant/home-assistant

hostname: homeassistant

container_name: homeassistant

network_mode: host

volumes:

- ${USERDIR}/docker/config/homeassistant:/config

ports:

- ${HOMEASSISTANT_PORT}:8123

privileged: true

environment:

- PUID=${PUID}

- PGID=${PGID}

- TZ=${TZ}

restart: always

############################

# maintenance

############################

# dozzle - docker logs.

dozzle:

container_name: dozzle

image: amir20/dozzle:latest

environment:

- DOZZLE_TAILSIZE=100

- DOZZLE_FILTER=

volumes:

- /var/run/docker.sock:/var/run/docker.sock

ports:

- ${DOZZLE_PORT}:8080

restart: unless-stopped

 

.env

Spoiler

############################

# System

############################

USERDIR=/mnt/storage

PUID=1000

PGID=998

TZ=UTC

DOMAIN=azeroth.local

IP_ADDRESS=x.x.x.x

############################

# Ports

############################

HEIMDALL_PORT=80

TRAEFIK_PORT=81

TRAEFIK_HTTPS_PORT=443

MYSQL_PORT=3306

AIRSONIC_PORT=4040

HYDRA2_PORT=5076

LAZYLIBRARIAN_PORT=5299

POSTGRES_PORT=5432

BAZARR_PORT=6767

RADARR_PORT=7878

SABNZBD_PORT=8069

TRAEFIK_DASHBOARD_PORT=8080

HOMEBRIDGE_UI_PORT=8081

QBITTORRENT_PORT=8082

MYLAR_PORT=8090

EMBY_PORT=8096

JELLYFIN_PORT=8097

HOMEASSISTANT_PORT=8123

TAUTULLI_PORT=8181

HEADPHONES_PORT=8182

LIDARR_PORT=8686

SONARR_PORT=8989

PORTAINER_PORT=9000

COCKPIT_PORT=9090

JACKETT_PORT=9117

PLEXHEADEND_PORT=9980

TVHEADEND_PORT=9981

DOZZLE_PORT=9999

XTEVE_PORT=34400

HOMEBRIDGE_PORT=51770

############################

# Misc

############################

PLEX_CLAIM=

 

-Bonesoul- tarafından düzenlendi
Link to comment
Sosyal ağlarda paylaş

  • 2 ay sonra ...
  • 2 hafta sonra ...

Buna benzer bir proje yıllar önce başlatılmıştı sanırım burada.

Bu setup gayet iyi görünüyor. 

Ben de geçen eve nextcloud kurulumu yaptım eski bir notebook'u sunucu gibi kullanarak. Google drive vs yerine evdekilerin telefonlara da kurdum. Otomatik sync vs için. 

Buna alternatif öneriniz varsa deneyebilirim ama şimdilik nexcloud en iyi çözüm gibi görünüyor 

Link to comment
Sosyal ağlarda paylaş

On 08.05.2020 at 18:35, Tridz dedi ki:

Raspberry pi 4'e kuruyorum buna benzer bir şeyler de samsung tizen tv'den izlemek istiyorum. Plex uygulaması çok kötü jellyfin ve emby de tv nin browser açamıyor. Alternatif deneyebileceğim var mıdır direk tv browserından girip izleyebileceğim? 

emby'nin uygulaması var tizen'de ama storeda degil. emby sitesinden usbye indirip kurman gerekiyor. 

edik: 2. postta yazmıssın zaten.

-Bonesoul- tarafından düzenlendi
Link to comment
Sosyal ağlarda paylaş

Aynen kurdum onunla takılıyorum da her seferinde 10sn premium al diye bekletmesi hoş olmuyor?

raspberryde openmediavault üzerinden yaptım kurulumları ben de.

Sonarr,radarr,emby,transmission var. Hepsi dockerda burda anlatıldığı gibi. 
Directplay ile izliyorum transcoding ihtyacı olmuyor hiç ama 1080p üstüne çıkmadıkça sorun olmuyormuş çok rasbpi 4 için.

Fanlı kutu aldım bir de şöyle:)

https://imgur.com/6uhShy6

Tridz tarafından düzenlendi
Link to comment
Sosyal ağlarda paylaş

  • 2 hafta sonra ...
  • 1 ay sonra ...
×
×
  • Yeni Oluştur...