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

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
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 ..
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.
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?
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.
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?
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.
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)
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?
you have hardware mismatch, i cleared that.
Please follow this instruction so hardware will appear as clear https://hub.docker.com/r/linuxserver/webgrabplus
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.
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.
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.
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.
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.
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
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.
Hi. Will try that. I was also pointing out to recent change with timezone and siti ini dynamic update.
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.
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.
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.
Assigining permission to site.ini folder and timezone file did the trick.
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.
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.
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...
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.