You are here

Webgrab cron docker error

26 posts / 0 new
Last post
illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months
Webgrab cron docker error

When running manually it runs ok. When running with wg-cron it throws this error. In cron i have 0 1 * * * s6-setuidgid abc /bin/bash /app/update.sh I have set the permissions to run 777. The error says that it can not connect i assume. But the internet is working.

 

[        ] 
[        ]            WebGrab+Plus/w MDB & REX Postprocess -- version  V5.5.0.0            
[        ] 
[        ]                                 Jan van Straaten                                
[        ]                              Francis De Paemeleere                              
[        ] 
[        ]  thanks to Paul Weterings, Mat8861, Blackbear199 and all the contributing users 
[        ] --------------------------------------------------------------------------------
[        ] 
[        ] Job started at 23/09/2025 03:02:00
[  Debug ] 
[  Debug ] Running  on: Unix 6.8.12.13
[  Debug ] Environment: 9.0.9
[        ] 
[  Info  ] Checking Internet ..
[  Info  ] Using timezone file: /config/timezonesdata.txt
[        ] Job finished at 23/09/2025 03:03:41 done in 1m 40s
[Critical] 
One or more errors occurred. (A task was canceled.)
[Critical] 
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at  .‒. (String[])
[Critical] Unhandled Exception
[Critical] Execution stopped

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

i think u need to run it as root.

not a docker user but think i remember it from other posts.

0 1 * * * root s6-setuidgid abc /bin/bash /app/update.sh

 

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

I did that and it is the same :( I have tried everything possible and it is still not working. If I ran the command in the shell inside the docker it works like:
s6-setuidgid abc /usr/bin/env bash /app/update.sh or s6-setuidgid abc /usr/bin/env bash /app/update.sh or s6-setuidgid abc /bin/bash /app/update.sh with abs or root and it works. Running with wg-cron it fails. Have now messed so much that my license was considered that i have changed the hardware.

 

So i am sure that the docker cron job implementation is broken. 

Checking Internet ..
Using timezone file: /config/timezonesdata.txt
siteini.pack is uptodate !
Reading config file: /config/WebGrab++.config.xml
For License request/update data, see WGLicense.log.txt
Checking License ..

Hardware mismatch detected .. see WGLicense.log.txt for details
Program will close .. 

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

run a force hardware update with h just like you use f for a force license update.

set a static mac address for the container to avoid this happening again.

when you restart the container it generates a new random mac and new hardware id for webgrab which cause this.

 

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

I think this is not working with this new way of timezone data and online checking for site.ini pack. Is there a way in config to 'skip' this online check?

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

there are many docker users.

have you asked on docker forums.

there's many posts here but they are scattered all over the place.

u can try using the search.

there no way to skip the checks.

i dont thing thats the issue anyway.

 

laibalion
Offline
Has donated long time ago
Joined: 5 years
Last seen: 8 months

I'm seeing the same error and as far as I can tell the cron job is already running as root. I have no clue why it fails via cron but works via remote bash.
Have you solved this in the meantime?

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

is there no resolution to this on the docker forums?

i did do some reading but not being a docker user i cannot test anything.

i did find one post here on the forums.

Error with cronjob and Docker | WebGrab+Plus

the last post.

he referring to adding the crond as root i assume he means the host crond not crond inside the docker container.

 

laibalion
Offline
Has donated long time ago
Joined: 5 years
Last seen: 8 months

Like I said, as far as I can tell the container is already running as root (PUID 0 and PGID 100). Was just wondering if OP was able to solve it already before I post an issue on image's github page (I'm using this image https://github.com/linuxserver/docker-webgrabplus)

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

Hi. No I was not able to solve this problem and believe me i have tried everything. Runing it from inside host cronjob instead docker. Modifying docker compose to add external google dnses, before running cron setting permissions each time, running full paths, settings variables,...... and always the same error. If running manually it works normally. I am 100% sure it is a problem in the docker -bug and I assume it has something to do with new timezone and ini online update to do.

 

 

Interesting is that if the hardware license check fails it comes further like can be seen in this log. And yes this happens sometimes eve if I have mac entered in the docker compose.:

[        ] 
[        ]            WebGrab+Plus/w MDB & REX Postprocess -- version  V5.5.0.0            
[        ] 
[        ]                                 Jan van Straaten                                
[        ]                              Francis De Paemeleere                              
[        ] 
[        ]  thanks to Paul Weterings, Mat8861, Blackbear199 and all the contributing users 
[        ] --------------------------------------------------------------------------------
[        ] 
[        ] Job started at 03/10/2025 06:29:58
[  Debug ] 
[  Debug ] Running  on: Unix 6.8.12.13
[  Debug ] Environment: 9.0.9
[        ] 
[  Info  ] Checking Internet ..
[  Info  ] Using timezone file: /config/timezonesdata.txt
[  Info  ] siteini.pack update :
[  Info  ] -  Updated dstv.com.ini to /config/siteini.pack/South Africa
[  Info  ] Reading config file: /config/WebGrab++.config.xml
[  Info  ] For License request/update data, see WGLicense.log.txt
[  Info  ] Checking License ..
[Warning ] 
[  Info  ] Hardware mismatch detected .. see WGLicense.log.txt for details
[Warning ] Program will close .. 

 

@Blackbear199 would it be possible to give me unencrypted siol.ini so I could use it with older version until this get fixed?

mat8861
Offline
WG++ Team memberDonator
Joined: 10 years
Last seen: 19 hours

you have hardware mismatch, i cleared that. 

Please follow this instruction so hardware will appear as clear https://hub.docker.com/r/linuxserver/webgrabplus

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

I know that i have fixed this with f in the xml. The point here was the log file not failing the same way so clearly cron failes when doing something further down the line.

mat8861
Offline
WG++ Team memberDonator
Joined: 10 years
Last seen: 19 hours

It fails because your docker kick in different mac address and this cause WG++ to stop, because see more computer then allowed. Pretty sure that if you set mac address to 00:00:00.....and for your user puid /pgid to 1000, it will run smooth.

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

your allowed 2 pc for your license.

if your only using one,windows for example and docker then set a random mac for the docker container.

or

set the same mac as your windows pc uses for your docker container.

if you dont set a static mac address then everytime the container restarts it will generate a new random mac and you will keep getting hw blocked.

but i told you this 10 post ago also...

fix it or dont, your choice.

 

 

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

having never used docker i just set it up and it works fine.

1. install docker

2. installed webrab from linuxserver.(i set mac to my pc mac)
   2a. set PUID and PGID(for linux use the id command).
   2b. set mac,use host mac or set a random static mac
   2c. mount directories have to be created before webgrabplus installation
       /home/mike/docker/wgplus/config
       /home/mike/docker/wgplus/data
       change to users needs.
   2d. install webgrabplus

docker run -d \

  --name=webgrabplus \

  --hostname=webgrabplus \

  --mac-address=12:34:56:78:9A:BC \

  -e PUID=1000 \

  -e PGID=1000 \

  -e TZ=America/Halifax \

  -v /home/mike/docker/wgplus/config:/config \

  -v /home/mike/docker/wgplus/data:/data \

  --restart unless-stopped \

  lscr.io/linuxserver/webgrabplus:latest

3. docker exec -it webgrabplus /bin/bash

4. add crond(set time to user preference)

   vi crontab -e
   no console log.
   00 08 * * * /bin/bash /app/update.sh
   with console log.
   00 08 * * * /bin/bash /app/update.sh > /config/log.txt 2>&1

5. save and exit vi

6. done.

Updated: added comments.

This is the easiest solution(use the container crond)

to use the host crond its far more complex,google it.

 

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

i did more reading and from what i can see to add the crond in the host is a far more complex job.

u have to create a image to run the crond which contains the jobs to run.

google it,i found many different tutorials.

 its easiest to add the crond to the container as i explained above.

docker works pretty much the same as chroot which i do use.

i may have to start switching stuff.

i the docker option to select a image that suites the needs for what u are going to run.

 

 

 

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

But cron does run it just ends with the error. I could not find the way to manuall run it and simulate the same error.  Just create wg3-cron file assign right permission and it will run.
0 3 * * * s6-setuidgid abc /bin/bash /app/update.sh

laibalion
Offline
Has donated long time ago
Joined: 5 years
Last seen: 8 months

I managed to get out of the crashing state. After more investigation I noticed that most (all?) files in the mounted config directory had r-xr-xr-x permissions on the docker host, meaning webgrab isn't able to write to siteini.pack. Once I've changed al those files and directories to have rwxr-xr-x permissions, it was able to proceed. I also made sure PGID and PUID match my user on the host side, to be able to better manage access permissions for files the container wants to read and/or write. Now I'm running into an issue that the mounted data directory and/or guide.xml wasn't writeable due to r--r--r-- permissions. No clue how that happened (I've been fiddling with permissions for this, so I may have caused this myself), but I can solve that as well in a similar way.

To be fair, I'm not sure why all this suddenly started failing, but I assume it is related to the dynamic downloads of siteini.pack files and/or timezonesdata.txt file and permissions to those mapped directories and files in the docker host, in my case Synology DSM. LinuxServer does usermapping of the given PGID and PUID to its internal abc user and that cron is running as the abc user, not as root. When using a remote bash into the container, it was using root and then the permission issues don't appear because it is running as root.

In short, make sure PGID and PUID match to some user in the docker host, and that that user or group has write permissions in the mounted directories. That seems to have solved this for me.

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

Hi. Will try that. I was also pointing out to recent change with timezone and siti ini dynamic update.

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

as i pointed out it my last post its not that simple to use the the host crond.

u can read just as well as i can so do the the homework.

use the crond in the container.

 

 

 

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months
illiac4 wrote:

But cron does run it just ends with the error. I could not find the way to manuall run it and simulate the same error.  Just create wg3-cron file assign right permission and it will run.

0 3 * * * s6-setuidgid abc /bin/bash /app/update.sh

yes sure it runs.i also seen this.

i also seen no update happened.

the crond running and the actual container running are 2 different things.

i pointed out docker works almost identical to chroot which i have been using for years.

it i have to run 2 scripts,one from the host which calls another inside the chroot environment.

the first runs on the host chroot crond.

the problem is (as with docker)  is once u call the chroot/docker environment everything out side it is unavailable including the crond.

argue ypur point on the docker forums.

i didnt create this system,its just how it works.

i did try just you did and checking logs i did see where the crond was trriggered but the webgrabplus update didnt run.

and yes this works on the command line but not in crond on the host..

docker exec -it webgraplus /bin/bash /app/update.sh

u can argue all you want that your theory should work,complain to the docker people.

 

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

well this is where it gets confusing and being new to docker what should one set for the PGUID,ect.

to me use the host as thats where the container is started from.

and for me these setting are 1000 for the host and 0(root) for the container.

 

 

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

Assigining permission to site.ini folder and timezone file did the trick.

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

weird,i think your going to have issues.

the timezone file needs to be updated.

webgrab does it automatically,i think its twice/yr when DST changes.

may be a permission problem when the image was created.

 

 

 

illiac4
Offline
Donator
Joined: 11 years
Last seen: 8 months

Well if this will be the case and it will fail I can set the cron s6-setuidgid abc chmod permission to needed files and folders and run it before the webgrab. This way it will fail the day the update would be pushed but would run the next day. 

Blackbear199
Offline
Has donated long time ago
Joined: 10 years
Last seen: 4 months

i was reading the webgrabplus documentation on linuxserver.io and found a easy way to add crond.

if you read the application setup here..

docker-webgrabplus/ at master · linuxserver/docker-webgrabplus

you will see it says to use universal crond mod

which is here..

linuxserver/docker-mods at universal-cron

per its setup instructions you add it to your environment.

i use docker cli so its..

-e DOCKER_MODS=linuxserver/mods:universal-cron

my whole startup..

docker run -d \

  --name=webgrabplus \

  --hostname=webgrabplus \

  --mac-address=12:34:56:78:9A:BC \

  -e PUID=1000 \

  -e PGID=1000 \

  -e TZ=America/Halifax \

  -e DOCKER_MODS=linuxserver/mods:universal-cron \

  -v /home/mike/docker/wgplus/config:/config \

  -v /home/mike/docker/wgplus/data:/data \

  --restart unless-stopped \

  lscr.io/linuxserver/webgrabplus:latest

in your /config folder you will now have a crontab folder,inside that there is a abc file

this is the crond file

that contains..

# min   hour    day     month   weekday command
2       3       *       *       *       /app/update.sh 2>&1

so its set to run as 3:02 am everyday,change it to your needs.

per the universal cron page u can also test it by adding...

*/5 * * * *    /bin/echo test >> /config/tmp.txt

restart container,wait 5 minutes and you should see a tmp.txt file in your config folder.

dont forget to remove it and restart container when done testing.

works fine for me.

 

Log in or register to post comments

Brought to you by Jan van Straaten

Program Development - Jan van Straaten ------- Web design - Francis De Paemeleere
Supported by: servercare.nl