If you look in Portainer-Containers you should see the mlbserver container running. Also in that view, there are some "Quick Action" buttons. One is for the container's log. Can you click on that and post it? Be sure to redact your MLB.tv creds if they show in the log.
See below. It's not even pulling my username and password.
'#42;'
],
extMessage: '/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
'/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
"stty: invalid argument '-f'\n" +
"stty: invalid argument '-f'",
exitCode: 1,
code: undefined,
signal: null
}
Version 2024.10.17
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
stty: invalid argument '-f'
stty: invalid argument '-f'
/mlbserver/node_modules/readline-sync/lib/readline-sync.js:259
if (res.error) { throw res.error; }
^
Error: The current environment doesn't support interactive reading from TTY.
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
stty: invalid argument '-f'
stty: invalid argument '-f'
at readlineExt (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:221:19)
at tryExt (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:258:15)
at /mlbserver/node_modules/readline-sync/lib/readline-sync.js:363:15
at _readlineSync (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:433:5)
at getValidLine (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:775:11)
at Object.exports.question (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:857:10)
at new sessionClass (/mlbserver/session.js:972:50)
at Object.<anonymous> (/mlbserver/index.js:141:15)
at Module._compile (node:internal/modules/cjs/loader:1198:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
at Module.load (node:internal/modules/cjs/loader:1076:32)
at Function.Module._load (node:internal/modules/cjs/loader:911:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:22:47 {
method: 'execFileSync',
program: '/bin/sh',
[
'/mlbserver/node_modules/readline-sync/lib/read.sh',
'--display',
'Enter#32;5#45;digit#32;zip#32;code#32;#40;optional#44;#32;for#32;USA#32;blackout#32;labels#41;#58;#32;',
'--mask',
'#42;'
],
extMessage: '/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
'/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
"stty: invalid argument '-f'\n" +
"stty: invalid argument '-f'",
exitCode: 1,
code: undefined,
signal: null
}
Version 2024.10.17
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
stty: invalid argument '-f'
stty: invalid argument '-f'
/mlbserver/node_modules/readline-sync/lib/readline-sync.js:259
if (res.error) { throw res.error; }
^
Error: The current environment doesn't support interactive reading from TTY.
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
stty: invalid argument '-f'
stty: invalid argument '-f'
at readlineExt (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:221:19)
at tryExt (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:258:15)
at /mlbserver/node_modules/readline-sync/lib/readline-sync.js:363:15
at _readlineSync (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:433:5)
at getValidLine (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:775:11)
at Object.exports.question (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:857:10)
at new sessionClass (/mlbserver/session.js:972:50)
at Object.<anonymous> (/mlbserver/index.js:141:15)
at Module._compile (node:internal/modules/cjs/loader:1198:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
at Module.load (node:internal/modules/cjs/loader:1076:32)
at Function.Module._load (node:internal/modules/cjs/loader:911:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:22:47 {
method: 'execFileSync',
program: '/bin/sh',
[
'/mlbserver/node_modules/readline-sync/lib/read.sh',
'--display',
'Enter#32;5#45;digit#32;zip#32;code#32;#40;optional#44;#32;for#32;USA#32;blackout#32;labels#41;#58;#32;',
'--mask',
'#42;'
],
extMessage: '/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
'/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
"stty: invalid argument '-f'\n" +
"stty: invalid argument '-f'",
exitCode: 1,
code: undefined,
signal: null
}
Also, and maybe this is just a coincidence, but my YTTV source will no longer tune the tv everywhere channels.
I'm going to delete my mlbserver, so I can reinstall and check this out. I'll get back to you in a bit.
There's definitely an issue, and I believe it's with the mlbserver container itself -- probably due to changes being made prior to the season by MLB.tv.
@tonywagner it looks like something is going on with the mlbserver container. As a sanity check, I spun up the container from the command line using your recommended format from GtiHub, and got the same error we're seeing when spinning it up using Docker Compose in a Portainer stack.
Here's my log following the command line attempt, which as you can see mirrors the above:
Version 2024.10.17
2/13/2025, 7:10:07 PM dating account credentials
2/13/2025, 7:10:08 PM scan_mode set to off
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
stty: invalid argument '-f'
stty: invalid argument '-f'
/mlbserver/node_modules/readline-sync/lib/readline-sync.js:259
if (res.error) { throw res.error; }
^
Error: The current environment doesn't support interactive reading from TTY.
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found
stty: invalid argument '-f'
stty: invalid argument '-f'
at readlineExt (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:221:19)
at tryExt (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:258:15)
at /mlbserver/node_modules/readline-sync/lib/readline-sync.js:363:15
at _readlineSync (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:433:5)
at getValidLine (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:775:11)
at Object.exports.question (/mlbserver/node_modules/readline-sync/lib/readline-sync.js:857:10)
at new sessionClass (/mlbserver/session.js:972:50)
at Object.<anonymous> (/mlbserver/index.js:141:15)
at Module._compile (node:internal/modules/cjs/loader:1198:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
at Module.load (node:internal/modules/cjs/loader:1076:32)
at Function.Module._load (node:internal/modules/cjs/loader:911:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:22:47 {
method: 'execFileSync',
program: '/bin/sh',
[
'/mlbserver/node_modules/readline-sync/lib/read.sh',
'--display',
'Enter#32;5#45;digit#32;zip#32;code#32;#40;optional#44;#32;for#32;USA#32;blackout#32;labels#41;#58;#32;',
'--mask',
'#42;'
],
extMessage: '/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
'/mlbserver/node_modules/readline-sync/lib/read.sh: line 11: perl: not found\n' +
"stty: invalid argument '-f'\n" +
"stty: invalid argument '-f'",
exitCode: 1,
code: undefined,
signal: null
}
We'll see if Tony sees this here. If not, I'll post it as an issue on his GitHub tomorrow.
Thanks, that's what I thought. For anyone interested, installing Frndly using Project One-Click was exceptionally easy.
FWIW, when billed annually, Frndly Premium only costs $3/mo more than basic. If you like their programming, I'd argue that it could be the best non-FAST streaming deal out there.
@tonywagner I believe I figured out what's going on. There still needs to be a value of 0
specified for zip_code
in the environment, despite the fact that blackout games are now being determined automatically. That's easy enough for me to handle in Project One-Click, so for now I'm hard coding zip_code=0
, which seems to be a functioning workaround.
@jtrippe77 OK, so I figured out where the issue lies with the mlbserver container. There used to be an option to set your zip code so games that are subject to blackout are marked. This process has been automated, but it seems a zip_code env var is still needed. I've added that back, hard coded to 0
, and the Project One-Click Action is now working properly once again.
Before trying this latest update, be sure that:
-
There's no
mlbserver
source listed in CDVR Custom Channels sources. -
There's no
mlbserver
stack in Portainer. -
OliveTin is updated using Watchtower, or the method I outlined earlier today.
That did it! Thank you so much.
Thanks for the tip! I will try to look at the code tomorrow.
? I see the env var zip_code=0
in both the example docker-compose and docker-cli here
https://github.com/tonywagner/mlbserver#docker-compose
I removed it based on this post:
Hi guys,
I was hoping to leave my Plex 3.9 container alone until you all managed to get the bugs worked out of version 4.xx
Today, all of my Plex channels dropped out of my source. I checked the web interface for the Plex container, and it looked to me like the 4.xx interface. I didn't do anything intentionally(knowingly) to make the change.
In a panic, I removed my Plex source from Channels, and also removed the Plex stack/container from Portainer.
Now, I'm attempting to re-install Plex using the Project One-Click action.
I can't seem to get it right. Using the default environment variables, I am getting the following error:
JSON response from http://192.168.1.100:9000/api/stacks?type=2&method=string&endpointId=2:
{"message":"failed to deploy a stack: time=\"2025-02-17T20:40:19Z\" level=warning msg=\"/data/compose/124/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion\"\n Network plex-for-channels_default Creating\n Network plex-for-channels_default Created\n Container plex-for-channels Creating\n Container plex-for-channels Created\n Container plex-for-channels Starting\nError response from daemon: Bind mount failed: '/data/plex' does not exists\n","details":"Failed to deploy a stack: time=\"2025-02-17T20:40:19Z\" level=warning msg=\"/data/compose/124/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion\"\n Network plex-for-channels_default Creating\n Network plex-for-channels_default Created\n Container plex-for-channels Creating\n Container plex-for-channels Created\n Container plex-for-channels Starting\nError response from daemon: Bind mount failed: '/data/plex' does not exists\n"}
false
I'm sure that I'm missing something obvious.
/data
as a HOST_DIR value is a no-go with Synology right?
I managed to manually restore the Plex stack/container. The interface shows version 4.01:
I also manually added the source to channels following the format in an example posted earlier by @chDVRuser . It seems to be taking it. There's a lot of channels, so it's taking a while.
Yeah. I remember having some similar trouble with the directory path on my Synology. I think we had to manually create a directory through Synology DSM.
Using /volume1/docker
for HOST_DIR, and then create plex
under that should do it.
I had tried the action using /volume1/docker with no success. I just had to manually add the plex subdirectory as you suggested. Then, the action was able to create the stack/container.
I'm dumping the sources and stack/container to run the action again from scratch, now that I have the correct directory structure.
By the way, I have been wondering, when you stop a container and delete a stack from Portainer, is there a way to recover it? Perhaps there may be a wastebasket or trashcan feature to Portainer?
Using the one-click action, the stack was created and the plex-for-channels container launched. The Plex TV-NoEPG source was created in Channels DVR. However, I'm not seeing the creation of the regular (gracenote=include) Plex TV source.
Olivetin standard output:
JSON response from http://192.168.1.100:9000/api/stacks?type=2&method=string&endpointId=2:
{"Id":128,"Name":"plex-for-channels","Type":2,"EndpointId":2,"SwarmId":"","EntryPoint":"docker-compose.yml","Env":[{"name":"TAG","value":"latest"},{"name":"HOST_PORT","value":"7779"},{"name":"PORT","value":"7777"},{"name":"HOST_DIR","value":"/volume1/docker"}],"ResourceControl":{"Id":54,"ResourceId":"2_plex-for-channels","SubResourceIds":[],"Type":6,"UserAccesses":[],"TeamAccesses":[],"Public":false,"AdministratorsOnly":true,"System":false},"Status":1,"ProjectPath":"/data/compose/128","CreationDate":1739829386,"CreatedBy":"john","UpdateDate":0,"UpdatedBy":"","AdditionalFiles":null,"AutoUpdate":null,"Option":null,"GitConfig":null,"FromAppTemplate":false,"Namespace":"","IsComposeFormat":false}
true
{"error":"invalid source url: Get \"http://192.168.1.100:7779/plex/playlist.m3u?regions=local\u0026gracenote=include\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
true
I had, then removed, a "sleep" between creating the stack and creating the CDVR Custom Channels Sources.
Looks like I need to add a small delay back in, since the first source creation failed and the second succeeded.