FastChannels - FAST Channels aggregator/manager

Yeah, appears to stop scraping from initial scrape, and the following been written and stale since.

Must be something I did on this particular setup, because I have a primary Mac mini m2 with same (assume) configuration and works fine, maybe how I got desktop docker path config I think, no worries weekend nuke and reset maybe.

Since he enabled scheduled scraping, I implemented it for my sources to spread the scrapes out

Source            Interval Last Scraped         Next Scrape
Distro TV              60m 2026-06-25 14:11 PDT 2026-06-25 15:10 PDT
Frndly TV            1440m 2026-06-25 05:02 PDT 2026-06-25 17:01 PDT
LG Channels           720m 2026-06-25 14:07 PDT 2026-06-25 15:06 PDT
Local Now              60m 2026-06-25 14:19 PDT 2026-06-25 15:18 PDT
Plex                   60m 2026-06-25 14:24 PDT 2026-06-25 15:22 PDT
Pluto TV               60m 2026-06-25 14:27 PDT 2026-06-25 15:26 PDT
Samsung TV Plus        60m 2026-06-25 14:35 PDT 2026-06-25 15:34 PDT
STIRR                  60m 2026-06-25 14:32 PDT 2026-06-25 15:30 PDT
TCL TV+                60m 2026-06-25 14:42 PDT 2026-06-25 15:38 PDT
The Roku Channel       60m 2026-06-25 14:43 PDT 2026-06-25 15:42 PDT
Tubi TV	               60m 2026-06-25 13:47 PDT 2026-06-25 14:46 PDT
Vidaa Free TV          60m 2026-06-25 13:52 PDT 2026-06-25 14:50 PDT
Vizio WatchFree+       60m 2026-06-25 13:55 PDT 2026-06-25 14:54 PDT
Whale TV+             720m 2026-06-25 03:07 PDT 2026-06-25 15:07 PDT
Xumo Play              60m 2026-06-25 13:59 PDT 2026-06-25 14:58 PDT


Yeah good plan, unfortunately I even nuked the FC container and database from Portainer and Docker Desktop, re-created my FC through Olivetin and once setup again I only selected few sources (Plex,Pluto,Hallmark) and did my initial scrape and feeds, came back a few hours later and those sources didn’t re-scrape, and logs didn’t show any scraping since initial manual run. I still see the channels and appears to be working on my channels DVR, just will get out of whack in a day or two without the scraping on those few channels.

Check the log to see if it's at least queueing up the scrapes
__main__: [scheduler] Enqueued

2026-06-25 14:06:58,323 INFO     __main__: [scheduler] Enqueued lg-channels (cron=6 * * * *)
2026-06-25 14:10:58,306 INFO     __main__: [scheduler] Enqueued distro (cron=10 * * * *)
2026-06-25 14:18:58,323 INFO     __main__: [scheduler] Enqueued localnow (cron=18 * * * *)
2026-06-25 14:22:58,306 INFO     __main__: [scheduler] Enqueued plex (cron=22 * * * *)
2026-06-25 14:26:58,311 INFO     __main__: [scheduler] Enqueued pluto (cron=26 * * * *)
2026-06-25 14:30:58,318 INFO     __main__: [scheduler] Enqueued stirr (cron=30 * * * *)
2026-06-25 14:34:58,315 INFO     __main__: [scheduler] Enqueued samsung (cron=34 * * * *)
2026-06-25 14:38:58,328 INFO     __main__: [scheduler] Enqueued tcl (cron=38 * * * *)
2026-06-25 14:42:58,313 INFO     __main__: [scheduler] Enqueued roku (cron=42 * * * *)
2026-06-25 14:46:58,315 INFO     __main__: [scheduler] Enqueued tubi (cron=46 * * * *)
2026-06-25 14:50:58,330 INFO     __main__: [scheduler] Enqueued vidaa (cron=50 * * * *)
2026-06-25 14:54:58,327 INFO     __main__: [scheduler] Enqueued vizio (cron=54 * * * *)
2026-06-25 14:58:58,317 INFO     __main__: [scheduler] Enqueued xumo (cron=58 * * * *)
2026-06-25 15:06:58,328 INFO     __main__: [scheduler] Enqueued lg-channels (cron=6 * * * *)
2026-06-25 15:07:58,335 INFO     __main__: [scheduler] Enqueued whale (interval=720m, age=721m)
2026-06-25 15:10:58,306 INFO     __main__: [scheduler] Enqueued distro (cron=10 * * * *)

Nope no sign of that,just a long run of the “ app.routes.tasks: XML artifact refresh already queued/running”

What does your Portainer stack compose look like?

services:
  fastchannels:
    # GitHub home for this project: https://github.com/kineticman/FastChannels
    # Docker container home for this project: https://github.com/kineticman/FastChannels/pkgs/container/fastchannels
    image: ghcr.io/kineticman/fastchannels:latest
    container_name: fastchannels
    environment:
      # Set the timezone to your local timezone
      - TZ=America/Los_Angeles
    network_mode: "bridge"
    ports:
      - "5523:5523"
    restart: unless-stopped
    volumes:
      - db_data:/data
volumes:
  db_data:
services:
  fastchannels:
    # 2026.03.15
    # GitHub home for this project with setup instructions: https://github.com/kineticman/FastChannels
    # Docker container home for this project: https://github.com/kineticman/FastChannels/pkgs/container/fastchannels
    image: ghcr.io/kineticman/fastchannels:${TAG:-latest}
    container_name: fastchannels
    dns_search: ${DOMAIN:-localdomain}
    ports:
      - ${HOST_PORT:-5523}:5523
    environment:
      - TZ=${TZ:-America/New_York}
      - FASTCHANNELS_SERVER_URL=${FASTCHANNELS_SERVER_URL:-http://192.168.1.50:5523}
      - CHANNELS_DVR_SERVER_URL=${CHANNELS_DVR_SERVER_URL:-http://192.168.1.60:8089}
    volumes:
      - db_data:/data
    restart: unless-stopped
volumes:
  db_data:
TAG=latest
DOMAIN=localdomain
HOST_PORT=5523
TZ=US/Eastern
FASTCHANNELS_SERVER_URL=http://192.168.68.210:5523
CHANNELS_DVR_SERVER_URL=http://192.168.68.210:8089

Change this to Continent/City form. Unfortunately, Country/Timezone has been deprecated.

3 Likes

Was just about to mention the same.
Also make sure you have it correct in FC Settings

1 Like

Thank you Sir, appears to have started scraping, logs are updating… WOW

Thanks… may be all it needed.

Good detective work!

Adding defensive step to that field…

1 Like

Maybe add a refence URL to look them up, like

which lists them in order by UTC offset, and mention to pick the Canonical – The primary, preferred zone name

Question:
When I add/delete channels, do I need to manually reload the M3U for each feed in Channels to pick up the changes? It doesn't look like Channels has an "update all" command (for the M3Us; there is an update-all for the EPG).

The brute-force way on Channels admin portal is Settings/Live TV & DVR/Guide Data then Delete & Recreate DB. You can also just go to Admin/Sources/then select your Source and hit Reload M3U. But, to ensure everything syncs, use the hammer.

image

Just installed this, looks great. Thank you for your efforts.

Looks just like a list of VOD ... It's an interesting idea to create "Virtual Custom Channels" .. I'll think about that one how/if it'd fit in.

I'm getting the following error message:

Channels DVR rejected the request when trying to update a feed:

DVR 403: {"error":"failed to load m3u: Get "http://192.168.68.120:5523/feeds/food/m3u/gracenote": dial tcp 192.168.68.120:5523: connect: connection refused"}

Any ideas on how to fix?