Code Monkey home page Code Monkey logo

tristy-media-server's Introduction

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/metadata/dev/manifest.json to jellyfin's plugin repositories
  • Install latest Shokofin Unstable (Shoko) plugin in the catalog
  • In the plugins page, open shokofin settings and set it up as desired (Enable Virtual File System if you don't want to organize your files like how Jellyfin wants it, Shokofin will do that for you)
  • Add your library and make sure only Shoko is enabled in all of the Metadata Downloaders (to prevent mixed metadata being populated)

tristy-media-server's People

Contributors

aldwin7894 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.