Docker with Tailscale & Jellyfin assistance

I recently setup a Ugreen NAS and setup my RAID mirroring etc. I am able to access it from my Mac for setup, which works great. I’m having an issue, though. I tried and tried to wade thru Reddit posts, blogs & even tried openAI (lort help me as I reinstalled Tailscale a billion times when doing this) - and it didn’t resolve the issue.

Previously had Tailscale & Jellyfin running on my Mac and accessing from my phone via FinAmp / Tailscale address (as my phone is also running Tailscale) and it was working flawlessly.

Fast forward to yesterday where I created a Docker project named mediaserver - which installed the containers for tailscale & jellyfin. While I do have quite a bit of previous network and pc experience (I work in the technological field) - this is my first journey into the NAS / Docker environments. See code below - what am I missing??

Current Issue: Finamp on phone will not connect to this new setup on the Ugreen NAS. Trying to connect with http://nastailscaleip:8096 (as that’s what I did with the previous ip) and it gives errors.

  1. I can access my Jellyfin from my Mac via the local address and am unsure what to try next.
  2. My firewall is OFF on my NAS, if that makes a difference.
  3. I tried all kinds of things in the networking on the jellyfin side of things, still not working.

Project compose configuration (that ai assisted with):

services:

  tailscale:

image: tailscale/tailscale:latest

container_name: tailscale

restart: always

network_mode: host

privileged: true

volumes:

      - /dev/net/tun:/dev/net/tun

environment:

      - TS_AUTHKEY=tskey-auth-MYKEYISHERE


jellyfin:

image: jellyfin/jellyfin:latest

container_name: jellyfin

user: "0:0"

restart: always

network_mode: host

volumes:

      - /volume1/docker/jellyfin/config:/config

      - /volume1/docker/jellyfin/cache:/cache

      - /volume1/media:/media

Hi. I have this working. My Docker compose file is below in case it helps.

networks:

frontend:

external: true

services:

tailscale-j:

image: tailscale/tailscale:latest

container_name: tailscale-j

environment:

  - TS_AUTHKEY=xxx

  - TS_STATE_DIR=/state

volumes:

  - ./config:/config

  - /dev/net/tun:/dev/net/tun

  - ./state:/state

cap_add:

  - net_admin

  - sys_module

restart: unless-stopped

networks:

  - frontend

ports:

  - 8096:8096

jellyfin-tailscale:

image: jellyfin/jellyfin:latest

container_name: jellyfin-tailscale

network_mode: service:tailscale-j

depends_on:

 - tailscale-j

restart: on-failure:3

devices:

 - /dev/dri:/dev/dri  # Integrated graphics

environment:

PUID: 0

PGID: 0

volumes:

 - ./config:/config

 - ./cache:/cache

 - type: bind

source: /volume1/Video

target: /media

 - type: bind

source: /volume1/Music

target: /media2

 - type: bind

source: /volume2/Vol2 Video

target: /media3

 - type: bind

source: /volume2/iMac Photos

target: /imacphotos

 - type: bind

source: /volume1/Photos

target: /photos

read_only: true

Thanks for the response, @pemmo. I must be doing something very wrong because I tried to make some edits to change some lines on my composer to match what you have and it’s giving me all kinds of errors.

Even when I put my original composer line back in it gives me errors - though it ran before - and now my Tailscale keeps restarting.

Unsure what to do. I’ll report back if I figure it out, or if anyone else has any guidance it’s much appreciated.

Ok so after a lot of troubleshooting I tried again following these two tutorials to a t.

docker / tailscale: https://www.youtube.com/watch?v=cfM3OwEXZao&t=528s

docker / jellyfin: https://www.youtube.com/watch?v=P9-26gd9ons&t=143s

Then after doing that it kept giving me an invalid password error; turns out I mistyped my password when first configuring jellyfin. Reset it with their reset tool and VOILA! I can now access my jellyfin music library through finamp on my phone.

:clap:

One more thing - since I am so green to Linux.. I didn’t know it paid attention to the case of words in file names.

For instance - I had a file named General that I renamed general. Windows & Mac would still find it just fine.. but Linux.. NOPE! Had to update it to general everywhere else.

Lots of learning going on here. Yay!