diff --git a/CHANGELOG.md b/CHANGELOG.md
index e9b0e85..a3397f9 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,33 @@ Version numbers follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html
---
+## [0.9.3] — 2026-10-28
+
+### Changed
+
+- **Every time follows the `TZ` of the Inspector stack.** Before, the dashboard,
+ Events page and alerts were always in US Pacific time while the maintenance window
+ and logs used `TZ`, so anyone outside Pacific saw times hours off (e.g. a 02:00
+ Berlin window shown as 5:00 PM). Now the dashboard, the Events page (including
+ where each day starts), alert times, cooldown times and logs all use `TZ`.
+- Alert times include the zone abbreviation (`10-28 09:27 AM CET`), and "Cooldown
+ until" in alerts, event messages and logs is a local time instead of a UTC
+ timestamp.
+- The active time zone is shown at the bottom of every Settings page, on the Events
+ page and on the Maintenance page.
+- **If you never set `TZ`**, times are now shown in UTC instead of Pacific. Set `TZ`
+ in the stack (e.g. `America/New_York`). An unrecognized name logs a warning and
+ falls back to UTC.
+
+### Docs
+
+- INSTALL: `TZ` is now marked as needed, with a "Why the time zone matters" section
+ (maintenance window, alerts, dashboard, logs), how to find your zone name, and a
+ troubleshooting row. Guide: a Time zone section and a first-login check. Compose
+ and README updated.
+
+---
+
## [0.9.2] — 2026-10-28
Fixes from a code and security review. None of them change how containers are
diff --git a/INSTALL.md b/INSTALL.md
index 97ec467..b103eba 100755
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -52,12 +52,39 @@ TZ=America/Los_Angeles
|---|---|---|
| `INSPECTOR_DATA` | Folder on your server where Inspector keeps its settings, logs, and history. **Unraid:** `/mnt/user/appdata/inspector`. **Other Linux:** `/opt/inspector`. Created automatically. | Yes |
| `INSPECTOR_PASSWORD` | Password for the dashboard (username `admin`). Used only on first start; change it later in the dashboard. Leave it out and Inspector generates one and prints it in the container logs. | Recommended |
-| `TZ` | Your [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), so times on the dashboard are local. | Recommended |
+| `TZ` | **Your time zone**, e.g. `America/New_York` or `Europe/Berlin`. Without it Inspector uses UTC, so the maintenance window, alerts and dashboard times are off by your UTC offset. See [Why the time zone matters](#why-the-time-zone-matters). | **Yes** (default `UTC`) |
| `INSPECTOR_PORT` | Port on your server for the dashboard. Change it if `8080` is taken. | No (default `8080`) |
| `INSPECTOR_TAG` | Version to run, e.g. `0.8.0`. See [Updating](#4-updating). | No (default `latest`) |
| `PUID` / `PGID` | User and group that own Inspector's files. Unraid users often use `99` / `100` so the files match other appdata. | No (default `1000` / `1000`) |
| `PORTAINER_API_TOKEN` | A Portainer access token. Only needed if you use **Portainer stack redeploy** for VPN-routed apps; see the in-app guide (Help → Portainer). | No |
+### Why the time zone matters
+
+Inspector uses `TZ` for every time it shows or acts on. If it's wrong, things
+still work, but at the wrong hour or with confusing times:
+
+- **The maintenance window runs in this time zone.** A window of `02:00–05:00`
+ with `TZ` left at UTC runs at 02:00 UTC, which is the middle of the evening in
+ the Americas or mid-morning in Asia. Inspector would then restart containers
+ during your nightly backups, and ignore real problems during the day.
+- **Alerts** (Gotify / Pushover) show the time of the problem in this zone, with
+ its abbreviation, e.g. `10-28 03:15 AM CET`.
+- **The dashboard and Events page** show times in this zone, and the Events
+ page's days run midnight to midnight in this zone.
+- **Logs** are stamped in this zone.
+
+**How to set it:** use your zone's name from the
+[list of time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
+("TZ identifier" column), e.g. `America/New_York`, `America/Chicago`,
+`Europe/London`, `Europe/Berlin`, `Australia/Sydney`. Abbreviations like `EST` or
+`CET` don't work. On Unraid, **Settings → Date and Time** shows the zone your
+server uses.
+
+**How to check it:** the bottom of every Settings page shows
+`time zone:
http://<your-server>:8080 and sign in.time zone: …. If that's not your zone, see Time zone.At the bottom of every settings page is a strip showing where the config file lives and -whether Inspector can write to it.
+At the bottom of every settings page is a strip showing where the config file lives, +whether Inspector can write to it, and which time zone it is using.
+ +Inspector uses the TZ setting of its Portainer stack for every time it shows or acts on:
03:15 AM CET), dashboard times, the Events
+ page's days (midnight to midnight), and logs.To change it: in Portainer open Stacks → inspector → Editor, set the TZ
+environment variable to your zone's name, e.g. America/New_York,
+Europe/London or Australia/Sydney (names from the
+list of time zones;
+abbreviations like EST don't work), then click Update the stack. Without
+TZ, Inspector uses UTC.
{_escape(str(path))}'
+ f'time zone: {_escape(formatting.LOCAL_TZ_NAME)}'
f"{badge}{hint}"
f'Inspector v{__version__}'
"Daily quiet hours. Containers that opt in (maintenance_window: true in their config) are not acted on during the window.
Times are in {_escape(formatting.LOCAL_TZ_NAME)}, '
+ "from the TZ setting of the Inspector stack. If that's not your time zone, the window runs at the wrong hours.