DirecTV Stream Tuner - Docker Image with 23,000+ Movies & Live TV

The Docker image is correct, but it looks like you have a volume mount that's overwriting the
app files with an old version.

Check your container configuration for any volume mounts pointing to /app or any subdirectory
of /app.

In TrueNAS, look at your app's storage configuration. You should only have volumes for:

  • /data (for persistent data like Chrome profile, settings, EPG cache)

You should NOT have a volume mount for /app - that would overwrite the application code with
old files from your host.

To fix:

  1. Stop the app
  2. Edit the app configuration
  3. Remove any volume/host path mapping to /app
  4. Keep only the /data volume mapping
  5. Recreate/start the app

Can you share a screenshot or list of your volume mounts for this container?

1 Like

Just updated and it hangs at browser starting

Errors gone??

Check noVNC (port 6080) to see what Chrome is doing.

If you see a black screen or Ubuntu logo, the Chrome lock files are stuck. Run this command in
the container:

docker exec <container_name> rm -f /data/chrome-profile/SingletonLock
/data/chrome-profile/SingletonCookie /data/chrome-profile/SingletonSocket

Then restart the container.

Or if you have access to the GUI and it loads, go to Status tab → Browser card → Reset Chrome
button.

What do you see in noVNC?

Run these commands in TrueNAS Shell:

1. Check what's actually in your container

docker exec <container_name> head -105 /app/stream-proxy.js | tail -10

2. Clean Chrome lock files

docker exec <container_name> rm -f /data/chrome-profile/SingletonLock
/data/chrome-profile/SingletonCookie /data/chrome-profile/SingletonSocket

3. Force pull fresh image

docker pull sunnyside1/directvtuner:latest

4. Check the image ID you're running vs what was pulled

docker images | grep directvtuner

Replace <container_name> with your actual container name.

Share the output - I need to see if the container is actually using the correct image or if
there's something caching the old code.

2. Clean Chrome lock files

  docker exec <container_name> rm -f /data/chrome-profile/SingletonLock /data/chrome-profile/SingletonCookie /data/chrome-profile/SingletonSocket

Best to insert code, commands and logs in between lines of three backticks, so they display properly in the forum
```
Insert code,
commands or
logs here
```

Insert code,
 commands or
 logs here

$ sudo docker exec sunnyside1/directvtuner:latest head -105 /app/stream-proxy.js | tail -10
Error response from daemon: No such container: sunnyside1/directvtuner:latest
$ sudo docker exec a6445c4e7e25 head -105 /app/stream-proxy.js | tail -10
// System Status API
// ============================================

app.get("/api/status", async (req, res) => {
try {
// Check login status by examining the browser page
let loginStatus = {
isLoggedIn: false,
currentUrl: "",
needsLogin: false,
$

$ sudo docker exec a6445c4e7e25 rm -f /data/chrome-profile/SingletonLock
/data/chrome-profile/SingletonCookie /data/chrome-profile/SingletonSocket-sh: 9: /data/chrome-profile/SingletonCookie: not found

$ sudo docker pull sunnyside1/directvtuner:latest
[sudo] password for user:
latest: Pulling from sunnyside1/directvtuner
Digest: sha256:20d224af2267e03af366234a60f723033a6b5e734ff634eb0da85240adf0533a
Status: Image is up to date for sunnyside1/directvtuner:latest
docker.io/sunnyside1/directvtuner:latest

$ sudo docker images | grep directvtuner
sunnyside1/directvtuner latest babbb6526995 42 minutes ago 2.64GB
sunnyside1/directvtuner 940d11d0f44f 2 hours ago 2.64GB
sunnyside1/directvtuner e5112fc5f03e 2 hours ago 2.62GB
sunnyside1/directvtuner 45a889bdd5cd 3 hours ago 2.6GB
sunnyside1/directvtuner 43e2b7ea085e 23 hours ago 2.68GB

your container actually has the correct code! The loginStatus is properly defined.

Let's clean up and restart fresh:

1. Stop the container

sudo docker stop a6445c4e7e25

2. Remove old images to free space

sudo docker image prune -a

3. Pull fresh

sudo docker pull sunnyside1/directvtuner:latest

4. Start/recreate the container through TrueNAS Apps UI

The errors in the logs might be old/cached. After restart, check:

  1. Does noVNC (port 6080) show Chrome loading?
  2. Does the GUI show "Ready" after a minute or two?

Also - the rm command had a typo. Run this to clean Chrome locks properly:

sudo docker exec a6445c4e7e25 rm -f /data/chrome-profile/SingletonLock
/data/chrome-profile/SingletonCookie /data/chrome-profile/SingletonSocket

(All on one line, with spaces between each file path)Preformatted text

```
sudo docker exec a6445c4e7e25 rm -f /data/chrome-profile/SingletonLock /data/chrome-profile/SingletonCookie /data/chrome-profile/SingletonSocket
```

sudo docker exec a6445c4e7e25 rm -f /data/chrome-profile/SingletonLock /data/chrome-profile/SingletonCookie /data/chrome-profile/SingletonSocket

:smile:

chrome is open though

despite the errors it appears to work though no hbo

I'll check my logs see if I have the same errors sorry about that and Yay works

@gszulc,

Unlocking worked for me to get the noVNC page working, but trying to check the playlist with http://xxx.xxx.xxx.xxx:7070/playlist.m3u replies with this error;

TypeError: generateM3U is not a function
at /app/stream-proxy.js:531:15
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
at next (/app/node_modules/express/lib/router/route.js:149:13)
at Route.dispatch (/app/node_modules/express/lib/router/route.js:119:3)
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
at /app/node_modules/express/lib/router/index.js:284:15
at Function.process_params (/app/node_modules/express/lib/router/index.js:346:12)
at next (/app/node_modules/express/lib/router/index.js:280:10)
at /app/stream-proxy.js:57:3
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)

Use this instead http://:7070/tve/directv/playlist.m3u

Also you can go to the gui and see the m3u and the status

next step is to get multiple tuners working :slight_smile:

Sorry, I must have missed this. Where is the gui located?

ip:7070

Yeah, working on that now, thinking of doing master/slave, meaning you determine which tunner will be the master tunner and that tunner will manage all the other tunners and route users to tunners that are not in use, etc. Also testing if I can stream more than one browser on the same container, but I have seen that Directv does not like that :slight_smile: Also working on hardware acceleration as an option on the GUI or as a new tag in the image, Nvidia or Intel images. The Hardware acceleration part will be 1st, then I'll make a dev image and all new features before going to the latest image will be tested 1st :slight_smile:

One man coder here :slight_smile:

So far on my Synology it looks good at startup but i lack the resources for this one.
I'm going to be getting a nice new windows machine an ultra 5 with 16GB of ram and windows 11.
We will use this new machine to run the big containers. I have the instance on my Synology setup to where i can test the interface and looks for errors.
Looks really good.