[RELEASE] Stream Link Manager for Channels

Thanks! I tried this, but got this error. Any additional assistance appreciated.

Don't worry about the warning regarding version: being deprecated, that's only showing because of the other more important issue regarding the container's manifest. That's something @babsonnexus will need to look at...

Thanks for the indepth answer. I would love a tool that could do the same thing but use cc4c interface and play justwatch.com or something on pc and play hulu/youtube (random movies)/ tubi/freevee/disneyplus and make use of the fact that chrome has adblockers - I know kind of gray area, but so is channels, you aren't "supposed" to be able to record tv anymore.

Right now I use mouse and keyboard and use sunshine to stream my pc to my living room tv.

1 Like

@babsonnexus We can take this to a PM, but it looks like something might not be quite right with your multi-arch build:

Oh, I didn't know Version had been deprecated in compose. I suppose I can just remove that line if it is unnecessary.

No big deal, the warning only comes up if there's another error. Your container's manifest is the actual problem.

Thanks. It's exactly as @bnhf said, I removed the Version line, tried again to update / deploy, and then got this. I'll put a pause on updating and am happy to report back later.

SCR-20240912-mbxm

Just wanted to pop in to say congratulations @babsonnexus on getting this release out! I think you made a very fine addition to Channels here and I know you put a lot of work into this!

Would you consider doing something more like cc4c for streaming shows on hulu with no ads on a chrome capture or do I have to code that one myself?

Okay, try the latest version. It should now have full multi-arch (platform) support:

Thanks to @bnhf for helping me figure out what was missing. Secret thanks to @joagomez for probably going through this all before and giving me something to look at in all their repositories to make sense of what I needed to do! (Edited because I tagged the wrong person with my dying eyes)

1 Like

That's all you, buddy... I'd like to bask in this victory for a while!

3 Likes

Success! I've updated just fine now. Thanks to you both, and congrats on today's milestone!

2 Likes

@babsonnexus

I just installed it in Docker on Windows using the stack in Portainer.

Looking at the logs, it failed to see my Channels DVR folder even though it is specified in the environment variables.

It is running on the same host computer as Channels DVR server.

*** First Time Setup ***

2024-09-12 20:15:46.531922:  Searching for Channels DVR folder...
2024-09-12 20:15:46.531947:  Please wait or press 'Ctrl+C' to stop and continue the initialization process.

2024-09-12 20:16:46.533362:  INFO: Search timed out. Continuing to next step...

2024-09-12 20:16:46.533495:  INFO: Channels DVR folder not found, defaulting to current directory. Please set your Channels DVR folder in 'Settings'.

image

Stack
version: '3.9'
services:
  # 2024.09.12
  # GitHub home for this project with setup instructions: https://github.com/babsonnexus/stream-link-manager-for-channels
  # Docker container home for this project: https://ghcr.io/babsonnexus/stream-link-manager-for-channels
  slm:
    image: ghcr.io/babsonnexus/stream-link-manager-for-channels:${TAG:-latest}
    container_name: slm
    ports:
      - ${SLM_PORT:-5000}:5000
    environment:
      - TZ=${TIMEZONE:-UTC}
    volumes:
      - slm_files:/app/program_files
      - ${CHANNELS_FOLDER}:/app/channels_folder
    restart: unless-stopped
volumes:
  slm_files:
TAG=latest
SLM_PORT=5000
TIMEZONE=America/New_York
CHANNELS_FOLDER=D:/DVR

Do you see anything that I did wrong?

I don't understand the settings.

I tried to set the path manually: I typed "D:/DVR" and clicked on the "Navigate" button.
After I clicked the button, it took me back to the top of the page.

When I scrolled down, this is what I saw:

Why doesn't it say that the Channels directory is currently set to "D:/DVR"?

It seems though that it lists the content of the D:/DVR folder correctly.
However, when I click on MOVIES, it's empty:

There are movies in the Movies directory:

It seems to work for the TV directory:

image


It also got the DVR URL wrong. The only way I got the URL to work was with the actual IP.

I see that failure in the logs too. @babsonnexus, would it be possible to search the /app/channels_folder first, so that Docker users would get a correct log entry? Also, when I spun it up the default directory was set to /app, rather than /app/channels_folder.

Once you're in the WebUI, the path would be relative to the mapping done in the Docker Compose. So:

    volumes:
      - slm_files:/app/program_files
      - ${CHANNELS_FOLDER}:/app/channels_folder

D:/ is equivalent to /app/channels_folder in the container. Since this is just setting the parent folder, one wouldn't expect to see files -- just folders. Which, I believe would explain why Movies looks to be empty, since it contains only files.

I saw this as well. It might be nice to be able to set the Channels URL as an env var, and have it reflected in the WebUI on startup.

I forgot to say congratulations to @babsonnexus ! :partying_face:

This is a beautiful app. I know it took you a lot of time to make it and it paid off. Really nice. :smiley:

So what would be the way for me to make it work? It's not quite clear in my head.

I've never been able to wrap my head around all the directory/volume settings in Docker/Portainer.

Maybe someday when I'm grey and old, I will understand it.
Actually, I'm already starting to get grey. :grimacing: :laughing:

Given that you're seeing the expected folders in /app/channels_folder, I believe you are there:

When binding directories or volumes to a container all you're doing is creating a link from outside the container to inside the container. That way the container can be updated without you losing any of your data -- it's stored on the Docker host, not in the container.

1 Like

Thank you for the explanation.

Does your MOVIES folder also appear empty?

Yes, because all you're doing is setting the parent directory for CDVR folders like: Imports, Movies, TV, etc. This type of view only shows folders, no files.

Just like another point that newbie users to docker have trouble with, ports.
8289:8089 means the docker container communicates on port 8089 (docker_container_port on the right of the colon :8089), but map that to port 8289 (host_device_port on the left of the colon 8289:) on the host device docker is running on. Since docker is based on linux and non-linux users don't understand mount points for directories, that adds confusion for volume mapping. (host_device_directory:docker_container_directory)

Add in Windows, Windows drive letters, mapping drive letters to UNC paths and no wonder Windows users get confused. You have to think in docker terms, I'm in a container on the right of the colon, what should I map to on the left of the colon (my host device). Opposite/Reverse of most peoples thinking. At least for those whose languages reads left to right, top to bottom.

So, you have to think in terms of the device you're running the docker container on.
I'm (host device) going to map this port/volume to this docker container.
host:container

1 Like

OK, thanks. Just making sure it was not just me. :slight_smile: