All
Issue: After installation and configuration in Docker I do not get the guide.xml, I also have no log file created - why?
Details:
I've downloaded the latest version and now also an older version v3.2.3 as I was following this installation guide:
WebGrabPlus - self-hosted EPG via Docker
My WebGrab++.config.XML looks like this (license email and password removed)
<?xml version="1.0"?>
<settings>
<!-- for detailed info about the settings see http://webgrabplus.com/documentation/configuration/webgrabconfigxml
and http://webgrabplus.com/sites/default/files/downloads/Misc/Documented_Con... -->
<filename>/data/guide.xml</filename>
<mode></mode>
<postprocess grab="y" run="n">rex</postprocess>
<user-agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71</user-agent>
<!--<decryptkey site="site-name">decrypt_userkey</decryptkey>-->
<license wg-username="gIr0d" registered-email="xxxxx" password="xxxxxx">f</license>
<logging>on</logging>
<retry time-out="5">4</retry>
<timespan>7</timespan>
<update>f</update>
<!--
Replace the next dummy channel entry with the channels you want.
You can look into the installed siteini.pack folder on your computer
For the latest version,
see http://webgrabplus.com/epg-channels for the available sites/channels
-->
<channel update="i" site="teleboy.ch" site_id="303" xmltv_id="SRF1HD">SRF1HD</channel>
</settings>
The log of the Container is telling me anything helpful:
-------------------------------------
_ ()
| | ___ _ __
| | / __| | | / \
| | \__ \ | | | () |
|_| |___/ |_| \__/
Brought to you by linuxserver.io
-------------------------------------
To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------
User uid: 1000
User gid: 10
-------------------------------------
[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing...
******** Please use the file wg3-cron to adjust the scheduled time for running WebGrab++. wg-cron can now be deleted. ********
[cont-init.d] 30-config: exited 0.
[cont-init.d] 90-custom-folders: executing...
[cont-init.d] 90-custom-folders: exited 0.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
environment variable TZ is added Europe/Berlin.
NAS directories are configured for container directory /config and /data with read/write permissions.
What do I miss please?

Ok found in a post this command, where its creating the XML however all in index mode even I've registred an account here.
Command:
sudo docker exec -it webgrabplus /app/dotnet/dotnet /app/wg++/bin.net/WebGrab+Plus.dll /config/
I guess even having an account here I'm a not registered user:
[ ] WebGrab++ license request and update log
[ ] 2026/06/23 13:13
[ Info ] Username : gIr0d
[ Info ] Registered EMail : myemail
[ Info ] License Password : xxxx
[ ]
[ Info ] No License update required
[ Info ] Next update, first run after : 2026/06/30 13:09
[Warning ] License has expired !
[ Info ] The program will run with performance settings : 'un_registered_user'
[ Info ] License check .. done
you need to be a donator, in particular if you run encrypted siteini. For a year i think is 5 euro (250 channels)
Thanks but I think I can also run it to 20 channels to see what I gain using this service now? Unfortunately its still telling me, that I'm an un-registered user which in fact is not correct:
Job started at 30/06/2026 05:42:40
Checking Internet ..
Using timezone file: /config/timezonesdata.txt
siteini.pack update :
- Updated aragonplay.es.channels.xml to /config/siteini.pack/Spain
- Updated aragonplay.es.ini to /config/siteini.pack/Spain
- Updated tcm.com.channels.xml to /config/siteini.pack/USA
- Updated tcm.com.ini to /config/siteini.pack/USA
- Updated mts.rs.channels.xml to /config/siteini.pack/Serbia
- Updated mts.rs.ini to /config/siteini.pack/Serbia
Reading config file: /config/WebGrab++.config.xml
For License request/update data, see WGLicense.log.txt
Checking License ..
- Program benefits setting "un_registered_user"
found: /config/siteini.pack/Germany/zdf.de.ini -- Revision 01
processing /data/guide.xml ...
Found existing channel (xmltv_id=ZDF) in the config file
...
showdetails limitations in effect for license 'un_registered_user' !!
see WGLicense.log.txt
i=index .=same c=change g=gab r=replace n=new
Group (0) :
update requested for - 1 - out of - 1 - channels for 8 day(s)
( 1/1 ) ZDF.DE -- chan. (xmltv_id=ZDF) -- mode Force
iiiiiii
no shows in indexpage!
Summary for update of ZDF
no changes, no update necessary !
unchanged shows inspected 0
total after update 0
Did you add license data ? follow the saample here :
https://github.com/SilentButeo2/webgrabplus-siteinipack/blob/master/site...
Thanks
adjusted see below (exl email/password):
<?xml version="1.0" encoding="utf-8"?>
<settings>
<!-- for detailed info about the settings see http://webgrabplus.com/documentation/configuration/webgrabconfigxml
and http://webgrabplus.com/sites/default/files/downloads/Misc/Documented_Con... -->
<filename>guide.xml</filename>
<mode>m n !</mode>
<postprocess grab="y" run="n">rex</postprocess>
<user-agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36 Edge/18.18362 Firefox/75.0</user-agent>
<!--<decryptkey site="site-name">decrypt_userkey</decryptkey>-->
<license wg-username="gIr0d" registered-email="xxxxx" password="xxxxx">To force a license update; replace this text with the letter f</license>
<logging>on</logging>
<retry time-out="80">4</retry>
<timespan>0</timespan>
<update>f</update>
<!--
Replace the next dummy channel entry with the channels you want.
You can look into the installed siteini.pack folder on your computer
For the latest version,
see http://webgrabplus.com/epg-channels for the available sites/channels
-->
<channel update="i" site="zdf.de" site_id="ZDF" xmltv_id="ZDF">ZDF</channel>
</settings>
Output when running it via the command "sudo docker exec -it webgrabplus /app/dotnet/dotnet /app/wg++/bin.net/WebGrab+Plus.dll /config/" - or is the command wrong? How to I execute it in Docker otherwise?
Job started at 30/06/2026 13:28:02
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 ..
- Program benefits setting "registered_user"
found: /config/siteini.pack/Germany/zdf.de.ini -- Revision 01
processing /data/guide.xml ...
Found existing channel (xmltv_id=ZDF) in the config file
...
showdetails limitations in effect for license 'registered_user' !!
see WGLicense.log.txt
i=index .=same c=change g=gab r=replace n=new
Group (0) :
update requested for - 1 - out of - 1 - channels for 1 day(s)
( 1/1 ) ZDF.DE -- chan. (xmltv_id=ZDF) -- mode Force
i
no shows in indexpage!
Summary for update of ZDF
no changes, no update necessary !
unchanged shows inspected 0
total after update 0
Job finished at 30/06/2026 13:28:07 done in 4s
that is siteini that needs fix
open each file [filename].ini the siteini.pack/Germany folder in your editor(notepad or whatever)
if its not a bunch base64 strings that are giberish then its isnt encrypted and will works without a license.
note: as you found out just because it runs dosnt mean it works so u have to test them.
I swapped and also using the Switzerland one which is encrypted for sure. Plus downloaded the latest pack from here:
https://webgrabplus.com/sites/default/files/download/ini/SiteIniPack_cur...
So I have to use the lisence details.
Still no luck :(
Job started at 30/06/2026 18:59:44
Checking Internet ..
Using timezone file: /config/timezonesdata.txt
Downloading the latest WG++ siteini.pack
.......
- siteini.pack downloaded successfully
Reading config file: /config/WebGrab++.config.xml
For License request/update data, see WGLicense.log.txt
Checking License ..
- Program benefits setting "registered_user"
found: /config/siteini.pack/Switzerland/srf.ch.ini -- Revision 04
encrypted in 'new (V3)' mode
processing /config/guide.xml ...
Found existing channel (xmltv_id=ZDF) in the config file
...
showdetails limitations in effect for license 'registered_user' !!
see WGLicense.log.txt
i=index .=same c=change g=gab r=replace n=new
Group (0) :
update requested for - 1 - out of - 1 - channels for 1 day(s)
( 1/1 ) SRF.CH -- chan. (xmltv_id=ZDF) -- skipped --> encrypted SiteIni
Job finished at 30/06/2026 19:00:21 done in 36s
Ok Log is clear, it cannot decrypt:
[Warning ] License 'registered_user' can not decrypt this siteini !!
[Warning ] Consult WGLicense.log.txt for detail of the various license options
[Warning ] srf.ch skipped
just so you have an idea, with a donation of 5 euro you get 250 channels for year. There are not that many siteini " free" to use as behind there is a lot of work and we do appreciate a small conrtibution.
jeezus there has to be atleast one working germay site that inst encrypyed?
maybe the rules shoud change to have least one for every country.
that way non donators can test.
my opinion...
btw clean th dam stale files is a great step.its add,add,add
never cleanup...
i did this by country
only took me 8 mths
good luck
but my file sytsem is clean
ur full garbage as no one does a cleanup!
self induced mess, product or your own demise.
Fully understand and no issue with that, but I would like to test/see what is grabbed and somehow map it to e.g. Jellyfin to see how it works. Also not sure how I can schedule the whole update process as I need to run the mentioned command always manually unfortunately.
You can try zeeone.de https://github.com/SilentButeo2/webgrabplus-siteinipack/blob/master/site...
Thanks done, see result:
Job started at 01/07/2026 09:17:09
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 ..
- Program benefits setting "default"
found: /config/siteini.pack/Germany/zeeone.de.ini -- Revision 00
processing /config/guide.xml ...
Found existing channel (xmltv_id=Zee One Germany) in the config file
...
showdetails limitations in effect for license 'default' !!
see WGLicense.log.txt
i=index .=same c=change g=gab r=replace n=new
Group (0) :
update requested for - 1 - out of - 1 - channels for 1 day(s)
( 1/1 ) ZEEONE.DE -- chan. (xmltv_id=Zee One Germany) -- mode Force
i
error downloading page: Resource temporarily unavailable (www.zeeone.de:80)
Unable to update channel Zee One Germany
Generic syntax exception:
message:
no index page data received from Zee One Germany
unable to update channel, try again later
No guide data to restore
Job finished at 01/07/2026 09:17:23 done in 14s
In the log:
[Warning ] error downloading page: Resource temporarily unavailable (www.zeeone.de:80)
[Error ] Unable to update channel Zee One Germany
create a folder named siteini.user in you webgrab config directory(same place siteini.pack is located)
in side that create Germany folder
extract these files and put them in there.
web grab looks for files in a specific order..
1. webgrab config directory
2. siteini.user
3. siteini.pack
it use the first one it finds,this will override the encrypted siteini.pack file for tv.de and work.
WORKED :-)
So can I create the same for other countries and copy the XML and INI over or only those which are not encrypted for further testing? Swiss SRF 1 is not working so encrypted = NOK --> ( 2/2 ) TELEBOY.CH.E -- chan. (xmltv_id=SRF 1) -- skipped --> encrypted SiteIni
Job started at 01/07/2026 10:24:39
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 ..
- Program benefits setting "default"
found: /config/siteini.user/Germany/tv.de.ini -- Revision 02
processing /config/guide.xml ...
Found existing channel (xmltv_id=Kabel eins) in the config file
...
showdetails limitations in effect for license 'default' !!
see WGLicense.log.txt
i=index .=same c=change g=gab r=replace n=new
Group (0) :
update requested for - 1 - out of - 1 - channels for 1 day(s)
( 1/1 ) TV.DE -- chan. (xmltv_id=Kabel eins) -- mode Force
innnnnnnnnn
Summary for update of Kabel eins
missing shows added 0
changed shows updated 0
new shows added 10
unchanged shows inspected 0
total after update 10
elapstime / updated show 0.00 seconds
Job finished at 01/07/2026 10:24:41 done in 2s
you do not need to do that.
a unencrypted file is a unencrypted file.
where its located doesnt matter.
this works because the tv.de in siteini.pack/Germany is encrypted
by creating siteini.user/Germany and adding the unencrypted file i supplied made webgrab use that file as it found it first before the one in siteini.pack/Germany
thats why it worked.
a encrypted file wont magically work because you change its location or any unencrypted file in siteini.pack
Thanks makes sense, so I can play with the one unencrypted ini file to see how it works out with my set-up, when fine, I donate to get the decryption functionality availbe for the other siteini :) THANKS!
My assumption is correct, that I need to somehow download a task scheduler docker image and run the below command like this or how is the XMLs classicall being updated?
"sudo docker exec -it webgrabplus /app/dotnet/dotnet /app/wg++/bin.net/WebGrab+Plus.dll /config/"