WeatherStar 4000

For anyone who's not aware, ghcr.io/netbymatt/ws4kp works fine with cc4c as well. I tested it today with both the 2.01 version running in a Proxmox LXC, and the previous version using the bnhf/cc4c:latest Docker container.

Here's the ws4kp Docker Compose I'm using in Portainer:

services:
  weatherstar4k:
    # 2025.09.06
    # GitHub home for this project with setup instructions: https://github.com/netbymatt/ws4kp
    # Docker container home for this project: https://ghcr.io/netbymatt/ws4kp
    image: ghcr.io/netbymatt/ws4kp:${TAG}
    container_name: weatherstar4k
    hostname: weatherstar4k
    ports:
      - ${HOST_PORT}:8080
    environment:
      - WSQS_settings-wide-checkbox=${WIDE:-true}
      - WSQS_settings-kiosk-checkbox=${KIOSK:-true}
      - TZ=${TZ}
    restart: unless-stopped

With these env vars in the Environment variables section of the Portainer-Stacks Editor:

TAG=latest
HOST_PORT=8090
TZ=US/Mountain

Setup your Custom Channels Source in CDVR, with a text based M3U along these lines:

#EXTM3U

#EXTINF:-1 channel-id="WS4KP" tvg-logo="https://raw.githubusercontent.com/netbymatt/ws4kp/main/server/images/logos/logo192.png",WeatherStar 4000+
chrome://cc4c2:5589/stream?url=http://htpc6:8090

For the initial tune only, with the container versions, you need to connect up with a VNC client (the same as you'd do to enter credentials for streaming). In the Chrome running in the container, get out of kiosk mode by temporarily removing this part of the URL: &settings-kiosk-checkbox=true and then hit enter.

Now you can specify your City, State, Country, and unmute the speaker icon if you want music. Add the &settings-kiosk-checkbox=true back and then hit enter. You can now close your VNC client.

That's about it!

2 Likes

I've added the above to OliveTin-for-Channels' Project One-Click. Fill-in a few fields and click -- the container is downloaded, the Portainer Stack configured and the CDVR Custom Channels Source created!

screenshot-htpc6-2025-09-06-16-04-54

screenshot-media-server8-8089-2025-09-06-16-21-47

1 Like

@KineticMan @Accustiver

There has been an attempt to correct the white lines by another user. I haven’t tested it yet so If you try it out let me know how it goes. Use the latest tag to get the updated version.

From the PR:

  • Since the release of v6.0.0, the viewport has shifted to show some white borders and cut off some temperature numbers on one of the graphs.
  • This adjustment re-centers it to a somewhat appropriate degree (but shouldn't be considered exact)

He seems to think it is an issue with the newer versions of ws4kp which explains why I never saw the white boarders. I never updated my ws4kp container.

1 Like

This fixed it! Finally! Thank you!

2 Likes

worked on first try!

So every now and then my ws4channels container will get hung up and will display the following error messages in the log:

(node:1) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(Use node --trace-warnings ... to show where the warning was created)
(node:1) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:1) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:1) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added to [process]. Use emitter.setMaxListeners() to increase limit

A simple restart of the container fixes this and everything is back to normal. I have my ubuntu server set to automatically reboot at 2am every night, so sometimes when everything boots back up, the ws4channels container will start with the above errors. I have another container that automatically restarts ws4channels at a certain time, but I've since come to notice that even after a restart from that sometimes, these errors still occur. Any idea what might be causing this and what to do to fix it?

Since I know you're already running the docker version of cc4c, I'm curious why you're running this project as well? Given you can setup ws4kp as a virtual channel using cc4c (which only runs when tuned to), it seems like a waste of system resources to run both (I believe @rice would agree with this).

Good point…didn’t even think I could just use cc4c with ws4kp. Although, won’t the dimensions of the display that loads be way off then? I thought that was the purpose of ws4channels to properly create a window that will load with a good look in channels?

More details a few posts up:

1 Like

Ok…I’ll have to give these instructions a try then. Thanks!

Since I’m running Ubuntu Server, everything is headless for me. I will never see an actual chrome window open on a desktop GUI. Am I still able to do this through CC4C then because you mention removing those kiosk parts and hitting enter and then putting them back in and hitting enter…but of course I’m never seeing an actual chrome window open. I do have a ton of environment variables already specified in the stack compose so maybe that bypasses the whole need to remove part of the link and hit enter? But then is there an env variable you can put in to have it always start with the music playing?

As described in the linked post, you need to temporarily connect to the container using a VNC client to allow you to interact with Chrome running in the container.

This is true for any needed interaction with the container's Chrome instance. For example, if you need to enter credentials to login to a streaming website. This is an important concept to have a grasp on when you're using the Docker version of cc4c.

I do agree, the only reason to run ws4channels is if you desire to have an instantly loading channel and are willing to take the small resource hit since it runs all the time.

@Accustiver I pushed a new latest to try a fix for the issue you’re having. Give it a try if you like. I haven’t tested it as I don’t run the latest ws4kp 6.0+ that uses the different crop.

1 Like

Pulled your latest version of ws4channels and it seems to be doing fine even after a few restarts of the Ubuntu Server. And looking at stats of my system, this certainly doesn't seem to be taxing things too much. So for now I think I'll continue to use the ws4channels container over the cc4c method as that option seems to be a little more involved with my particular setup. Thanks again!

I’m sure it is user error, but I’m getting a ā€œ192.168.7.180:8080 already in useā€ error, with 192.168.7.180:8080 being what I input for my Channels DVR. If it matters, I did try installing this once previously, and got the package not found error that another user reported, so maybe some remnants are around on my server? But nothing shows up in Portainer.

Standard output:


192.168.7.180:8080 already in use

Standard error:


+ dvr=192.168.7.180:8089  
    ++ basename /config/weatherstar4k.sh  
    + extension=weatherstar4k.sh  
    + extension=weatherstar4k  
    + cp /config/weatherstar4k.env /tmp  
    + envFile=/tmp/weatherstar4k.env  
    + [[ -n 192.168.7.180 ]]  
    + extensionURL=192.168.7.180:8080  
    + [[ # == \# ]]  
    + cdvrStartingChannel=  
    + [[ -n '' ]]  
    + cdvrIgnoreM3UNumbers=  
    + curl -s -o /dev/null http://192.168.7.180:8080  
    + echo '192.168.7.180:8080 already in use'  
    + exit 0

OK, so your CDVR server is running at 192.168.7.180:8089 correct?

And, you want the ws4kp container (which is what's spun-up by this weatherstar4kp stack), to run on port 8080? Project One-Click confirms that port is available, and apparently on your system it is not. It's the same for me, so I entered 8090 as the port I want to use for this stack.

The other thing you need to provide correctly is the IP or hostname of the system running cc4c, along with the port. For me, that value is cc4c:5589, for you it's maybe 192.168.7.180:5589?

Ah, thanks. Changing the port from 8080 to 8090 did it. I didn’t realize I had something else running there, but with all the projects going that I’ve been enjoying, it is probably one of them.

Could be halverneus static-file-server that's part of OliveTin for Channels.
Unless you changed it, the default port is 8080.
Compose

services:
  static-file-server:
    ports:
      - ${HOST_SFS_PORT:-0}:8080

Environment variables

HOST_SFS_PORT=8080

Now all I get is the WeatherStar placeholder, with no actual data. I scanned this thread, but I'm not sure where to go from here.

Described here:

Even though you're not running the container version of cc4c, you still need to follow the couple of steps described in Chrome.