Skip to content

Timezone mismatch: scheduler/UI uses UTC despite TZ=Europe/Madrid #80

Description

@domome

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I'm running the latest LinuxServer Speedtest Tracker container.
The container is configured with:
environment:

  • TZ=Europe/Madrid
  • SPEEDTEST_SCHEDULE=33 10 * * *

The container itself uses the correct timezone:
$ docker exec speedtest date
Tue Jul 21 10:47:48 CEST 2026
$ docker exec speedtest printenv TZ
Europe/Madrid

However, Laravel reports:
$ docker exec speedtest php /app/www/artisan about
Timezone ................................ UTC

Also noticed that:

  • A manual speedtest executed at 09:00 is shown in the dashboard as having run at 07:00.
  • Scheduled tests appear to follow UTC rather than the configured local timezone.

It looks like the application is using UTC internally despite the container being configured with TZ=Europe/Madrid

artisan about reports: Timezone UTC
while: TZ=Europe/Madrid

and the container system time is correct (date shows CEST).
Is this expected behaviour, or is there a missing configuration to make Laravel use the container timezone?

Expected Behavior

The application should use the configured container timezone (Europe/Madrid) consistently for:

  • scheduled tests
  • displayed execution times
  • next scheduled run

Steps To Reproduce

  1. Deploy the latest lscr.io/linuxserver/speedtest-tracker:latest image.

  2. Configure the container with:

    • TZ=Europe/Madrid
    • SPEEDTEST_SCHEDULE=33 10 * * *
  3. Start the container.

  4. Run:

bash
docker exec speedtest php /app/www/artisan about
The output reports:
Timezone: UTC

  1. Execute a manual speedtest from the web UI.

  2. The dashboard shows the manual test two hours earlier than the actual execution time (e.g. a test started at 09:00 is displayed as 07:00).

  3. The next scheduled run is also inconsistent with the configured timezone.

Environment

* Image: lscr.io/linuxserver/speedtest-tracker:latest
* LinuxServer version: v1.14.5-ls162
* Speedtest Tracker: v1.14.5
* Laravel: 13.16.1
* PHP: 8.5.8

CPU architecture

x86-64

Docker creation

version: '3.4'
services:
    speedtest-tracker:
        container_name: speedtest
        ports:
            - 8081:80
            - 8448:443
        environment:
            - PUID=1000
            - PGID=1000
            - DB_CONNECTION=sqlite
            - TZ=Europe/Madrid
            - APP_KEY=base64:dsSFgrWEG$
            - APP_NAME=Speedtest Tracker
            - PUBLIC_DASHBOARD=false
            - AUTH=True
            - SPEEDTEST_SCHEDULE=33 10 * * */1
        volumes:
            - /home/docker/speedtest:/config
        image: lscr.io/linuxserver/speedtest-tracker:latest
        restart: unless-stopped

Container logs

Container logs do not show any useful information related to the issue.

The only output is the LinuxServer startup log plus occasional debug entries such as:
[2026-07-21 00:09:03] production.DEBUG: Pinged hostname {“host”:“icanhazip.com”, …}

There are no warnings or errors related to timezone handling or scheduling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions