ESPN+ & FOX Sports with Custom Channels via EPlusTV

I also run this on Synology and struggled with folder permissions. It didn't matter if I ran it through the synology docker GUI or command line with enhanced privileges/admin, could not get the container happy with the permissions so was running without persisting the data folder. But I finally stumbled into a solution. If you manually create permissions to read/write for the target folder in File Station, everything works as expected.

There may be a more elegant way to get it working in Syno-Docker, but this worked.

Thank you @m0ngr31 and Channels. While a bit finicky at times, this is truly a game changer for sports fans. I love having everything in one place with a simple, consistent interface. The ESPN+ interface is atrocious.

1 Like

I have had the same permissions problem and have tried just about everything to solve this. When you say , "manually create permission" I am not understanding precisely what you mean. Please explain the process if you don't mind. Also, my docker container loses the security authorization every 24 hours or so leaving me with the need to go to the website and reauthorize the device. I can't understand why I would be having this problem while no one else seems to be reporting it. I am using a Synology 218+

1 Like

I also have the authorization issue. I don't watch ESPN+ all that frequently, so I'm not sure how long the authorization is lasting, but more often than not I need to restart the container and use the website to reauthorize.

2 Likes
  1. Go to the folder in File Station
  2. Right click on the target folder and select Properties (I am using eplus)
  3. Click on the Permissions tab
  4. Click CREATE (I created the read/write permissions for the group Everyone, at least until I find a better way)
  5. Click OK to Save
  6. Clear/Reset the Container and then Start the Container
2 Likes

Thank you. That works for me.

Here is the current (2022-11-01) method of getting this to work with Windows Docker:

docker run -d --restart unless-stopped --name ESPN_Plus -p [PORT YOU WANT THIS TO RUN ON]:8000 -e START_CHANNEL=[CHANNEL NUMBER YOU WANT THIS TO START ON] -e USE_ESPN3=true -v C:\docker_volumes\eplustv\config_dir:/app/config m0ngr31/eplustv:latest

As an example:

docker run -d --restart unless-stopped --name ESPN_Plus -p 7976:8000 -e START_CHANNEL=90000 -e USE_ESPN3=true -v C:\docker_volumes\eplustv\config_dir:/app/config m0ngr31/eplustv:latest

Please note that both things with -e after them are completely optional.

After you run the command, open the container and go to the logs. You should see this:

image

Do exactly what it says. If you return to the logs, things should be loading in:

image

Everything works fine after that!

I pushed out a new update just now that has a few changes:

  • Previously I was using streamlink to play the stream and then pipe that into ffmpeg. I was able to rip out streamlink and do everything in ffmpeg now. Hopefully should help with buffering issues and has the added benefit of a smaller docker image.
  • Added a new environment variable: STREAM_RESOLUTION. If you don't set it, it defaults to 720p60.
  • Found a potential race condition where it's checking for refresh tokens. Might fix some issues of people having to login, but not a promise. I might just have some bad logic about refreshing the tokens.

The next step is going to be trying to reverse engineer the code from the yt-dlp project and see if I can figure out how to enable the Adobe authentication to allow playing ESPN3 (and possibly other ESPN network) events. I don't have a timeline for this though because I need a brave soul who trusts me enough to volunteer their login info so I can actually develop it.

2 Likes

Got this up in Docker in Windows but can't find out how to enter it as a source in Channels

Got the info into Channels and its up and running but all I get is a picture but no sound

As a test, can you try running at different resolutions and see if that changes anything? Or maybe a different client?

Tried to play on both Windows and Apple TV still no sound. Picture is fine

Yeah I can reproduce. I'm pushing up a fix in the next few minutes.

Just updated to the latest. Had no trouble with the auth, reloading the guide or starting/playing the stream and no issue with audio. And everything felt a little snappier. That is, for the streams that were actually active. I found several entries in the guide that are not actually available according to the ESPN+ site. Those did not work of course, but I cannot even see where they came from. (see below).

  • Could be that I don't have authority to those or a blackout, but that doesn't really make sense for this content.
  • At least one of the entries in the guide ("Bart & Hahn") is from ESPN3. I turned that off in the environment variables with "false". Should that be leading case, or is it picking that up erroneously?
  • Some are duplicated, I think that is just that they offer the broadcast in Spanish

Anyway, thank you again for this. Really love have this on Channels.


Used this from your site

docker run -p 8000:8000 -v /your_config_dir:/app/config m0ngr31/eplustv

and I get this

Error: EACCES: permission denied, open '/app/config/entries.db'
    at Object.openSync (node:fs:594:3)
    at Object.writeFileSync (node:fs:2207:35)
    at initDirectories (/app/services/init-directories.ts:26:8)
    at /app/index.ts:176:18
    at Generator.next (<anonymous>)
    at /app/index.ts:8:71
    at new Promise (<anonymous>)
    at __awaiter (/app/index.ts:4:12)
    at /app/index.ts:175:13
    at Object.<anonymous> (/app/index.ts:184:3) {
  errno: -13,
  syscall: 'open',
  code: 'EACCES',
  path: '/app/config/entries.db'
}
1 Like

Aren't you using Docker in Windows? You need to tell it where "your_config_dir" is, as I showed a few posts above.

Ok thanks for the help. Got it up and running

1 Like

I pushed an update last night that has a few fixes - most notable are switching to a forked version of ffmpeg to handle playback better and some new environment variables to help fix the permission issues people are seeing.

3 Likes

Thanks for adding the ID environment variables with 2.0.0-beta4!

Was receiving "Error: EACCES: permission denied, open '/app/config/entries.db' stderr" (ESPN+ with Custom Channels - #316 by marcuscthomas) prior to this.

Running Docker 20.10.3 on Synology DSM 7.1.1

1 Like

Question, it's up and running and that's great. If my docker container restarts for whatever reason, will I need to reauthenticate with ESPN with the code? If that's the case, is there a way to send a notification alerting me that I need to reauthenticate? I've got this running on a mostly unattended desktop but I can't guarantee it won't reboot for some random Windows reason.

Follow up question, how long with the ESPN authentication last? Even if the container stays up indefinitely, will the underlying connection need to be reauthenticated?

It's an awesome product. Keep up the good work!

1 Like

Hi there,
I think it is going to depend. I have the latest version of the container and i did have to activate once again. The docker works great.