Skip to content

aldwin7894/tristy-media-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tristy Media Server

ENV vars

#======================================================================================
# DOCKER CONFIG
#======================================================================================
PUID=""                         # USER ID
PGID=""                         # GROUP ID
TZ=""                           # TIMEZONE

#======================================================================================
# MEDIA FOLDERS
#======================================================================================
MUSIC_ROOT_DIR=""               # MUSIC ROOT DIR
MUSIC_DOWNLOAD_DIR=""           # MUSIC DOWNLOAD DIR
PODCAST_ROOT_DIR=""             # PODCAST ROOT DIR
VIDEO_ROOT_DIR=""               # VIDEO ROOT DIR
ANIME_ROOT_DIR=""               # ANIME ROOT DIR CONTAINING DROP SOURCE AND DESTINATION

#======================================================================================
# MEDIA SERVER, METADATA AND DOWNLOADER
#======================================================================================
JELLYFIN_ROOT_DIR=""            # JELLYFIN ROOT DIR
JELLYFIN_WEB_DIR=""             # TEST PRE-RELEASE WEB
JELLYFIN_FFMPEG_DIR=""          # TEST PRE-RELEASE FFMPEG
NAVIDROME_ROOT_DIR=""           # NAVIDROME ROOT DIR
SHOKO_ROOT_DIR=""               # SHOKO SERVER ROOT DIR
SONARR_ROOT_DIR=""              # SONARR ROOT DIR
RADARR_ROOT_DIR=""              # RADARR ROOT DIR
PROWLARR_ROOT_DIR=""            # PROWLARR ROOT DIR
DEEMIX_ROOT_DIR=""              # DEEMIX ROOT DIR
QBITTORRENT_ROOT_DIR=""         # QBITTORRENT ROOT DIR
HOMARR_ROOT_DIR=""              # HOMARR ROOT DIR

#======================================================================================
# MONITORING AND UTILITIES
#======================================================================================
CLOUDFLARED_ROOT_DIR=""           # CLOUDFLARED ROOT DIR
TUNNEL_TOKEN=""                   # CLOUDFLARE TUNNEL TOKEN
PIHOLE_ROOT_DIR=""
PIHOLE_WEBPASSWORD=""
PIHOLE_DNSMASQ_DIR=""
PIHOLE_MACVLAN_IP=""
UNBOUND_ROOT_DIR=""
UNBOUND_MACVLAN_IP=""
UNBOUND_REDIS_MACVLANIP=""
NETDATA_CLAIM_TOKEN=""
NETDATA_CLAIM_URL=""
NETDATA_CLAIM_ROOMS=""
NETDATA_CONFIG_DIR=""
NETDATA_LIB_DIR=""
NETDATA_CACHE_DIR=""
PROMETHEUS_ROOT_DIR=""
GRAFANA_ROOT_DIR=""
DUPLICATI_ROOT_DIR=""
DUPLICATI_BACKUP_DIR=""
DUPLICATI_ROOT_DIR=""
VAULTWARDEN_ROOT_DIR=""
VAULTWARDEN_DOMAIN=""
VAULTWARDEN_ADMIN_TOKEN=""
NEXTCLOUD_CONFIG_DIR=""
NEXTCLOUD_DATA_DIR=""

#======================================================================================
# UPDATE NOTIFIER
#======================================================================================
DIUN_DATA_DIR=""
DIUN_CONFIG_FILE=""

Run stack in detached mode

docker compose up -d

Cloudflare Tunnel Docs

For accessing your server on the web without exposing any public port

docker compose exec cloudflare_tunnel cloudflared tunnel login
docker compose exec cloudflare_tunnel cloudflared tunnel create <name>

PiHole Setup

1. macvlan for PiHole

sudo docker network create -d macvlan \
        --subnet=${HOST_IP}/24 --gateway=${GATEWAY_IP} \
        -ip-range ${PIHOLE_MACVLAN_IP}/28 \
        -o parent=eno1 \
        --aux-address="myserver=${PIHOLE_MACVLAN_AUX_IP}" \
        macvlan0
# /usr/local/bin/pi-vlan.sh

#!/usr/bin/env bash
ip link add macvlan-shim link eno1 type macvlan mode bridge
ip addr add ${PIHOLE_MACVLAN_AUX_IP}/28 dev macvlan-shim
ip link set macvlan-shim up
ifconfig macvlan-shim

sudo chmod +x /usr/local/bin/pi-vlan.sh

# /etc/systemd/system/pi-vlan.service

[Unit]
After=network.target

[Service]
ExecStart=/usr/local/bin/pi-vlan.sh

[Install]
WantedBy=default.target

sudo systemctl enable pi-vlan

2. Set PiHole's Upstream DNS to Unbound IP in:

  • Settings > DNS > Upstream DNS Servers > Custom 1
  • Uncheck other DNS Servers

Shoko Setup

  • Read the docs here, to setup your local library and have them identified for the metadata, that would be used in Jellyfin
  • Join their discord here if you need assistance

Jellyfin Setup

  • Add https://raw.githubusercontent.com/ShokoAnime/Shokofin/master/manifest-unstable.json to jellyfin's plugin repositories
  • Install Shokofin Unstable (Shoko) plugin in the catalog
  • In the plugins page, open shokofin settings and set it up as desired
  • Add your library and make sure only Shoko is enabled in all of the Metadata Downloaders (to prevent mixed metadata being populated)