@Jon I think I got it sorted now !
There seems to be some issue around the use of the GENERIC_TIMEZONE when having O/S TZ environment set to be the same. I reproduced the issue on my own Debian environment.
If I keep the container running TZ=UTC and only set N8N’s GENERIC_TIMEZONE=Europe/London then everything appears to be good, schedules execute at the right local time, and execution details are displayed correction, webhook timeouts play nice… etc… even the DB can be in UTC as well which keeps a few people happy.
Only point to keep in mind that any file operations will be in UTC.
So for me this is work best when TZ=UTC like the following: