Chrony-Time-Service(at)Work

Chrony-Time-Service(at)WorkAn NTP server where you decide what time it is.

Set the time server to any date and time, or shift it forwards and backwards, and every client in the test network follows. Made for testing certificates, licences, daylight saving time and the year 2038 in closed networks. Runs on Rocky Linux 9, in VMware and in Proxmox VE, and installs from one package without internet access.

NTP serverntp01 · 2026-10-03--:--:--
Clientstest network 192.168.50.0/24
Try it:
ClientSystemClockOffset vs server
app01Rocky Linux 9 · chrony +0.4 ms
dc01Windows Server · w32time −1.1 ms
sw-core01Network switch · NTP +2.3 ms
When the server clock changes, the clients take over the new time with the next NTP answer.

Chrony-Time-Service(at)Work

9.0.0

An NTP server with a web GUI, built on chrony from the operating system. From the browser you set the clock, shift it, change mode and see which clients are asking. The interface is available in English and Norwegian.

Sets
Set any date and time as server time or UTC, or shift with quick buttons (±1 min, 10 min, 1 h, 1 d) or any amount. "Sync to this computer's time" takes you back in one click.
Serves
chronyd answers the clients on UDP 123. In internal mode the server's own clock is the reference, with a chosen stratum. In external mode it follows your own upstream servers.
Shows
Live server clock in local time and UTC, offset vs your own PC, sources, clients and tracking. An audit log of who set the clock when, even after big jumps.
Secures
Login and CSRF protection. The GUI runs without root, and one strictly validating helper is the only thing allowed to set the clock. VMware Tools time sync is turned off automatically.
UDP 123NTP to the clients
TCP 5032web GUI
EN | NOEnglish and Norwegian
Read the technical description
The main page right after "+1 h". The badges show chronyd running in internal mode at stratum 10.

Test scenarios

The server makes it easy to test time-dependent behaviour without touching the clock on every machine. Getting started:

  1. Install on a VM

    install.sh sets up chronyd in internal mode, starts the GUI and turns off VMware Tools time sync.

  2. Point the clients at the server

    Change the NTP server on the clients and let them step on big offsets (makestep 1 -1 in chrony).

  3. Set the clock

    Set a date or shift the time. The clients follow at their next synchronisation, and the action goes into the audit log.

  4. Back to real time

    "Sync to this computer's time", or external mode and "Resync from upstream".

The Set clock panel: date and time, quick buttons and the way back.
TestHow
Certificate or licence expiryPress +1 d repeatedly, or set the date just after the expiry date.
Daylight saving time (Europe/Oslo)Set 2026-10-25 00:59:30 UTC: clocks go back at 01:00 UTC. Spring: 2027-03-28 00:59:30 UTC.
Leap daySet 2028-02-28 23:59:30.
Year 2038Set 2038-01-19 03:13:50 UTC and see what 32-bit time_t does.
Time drift alarmsShift +10 min or −90 s and watch the monitoring.
Time server lostPress Stop. The clients should report that no source is reachable.

Installation

Everything is in one offline package, the Python packages included. The installer verifies the checksums, recognises VMware and Proxmox, opens the firewall and finishes with a self test that asks the server for the time over NTP.

Rocky Linux 9, VMware or Proxmox VM

$ sha256sum -c Chrony-Time-Service-9.0.0-offline.tar.gz.sha256
$ tar xzf Chrony-Time-Service-9.0.0-offline.tar.gz
$ cd Chrony-Time-Service-9.0.0
$ sudo ./install.sh --lang en
# open http://<server>:5032/

Needs only chrony, Python 3.9 and sudo, all part of Rocky Linux 9 Minimal. No pip, no venv and no internet. Limit the GUI to the management network with --admin-net 10.10.0.0/24.

From the ISO in VMware or Proxmox

# attach Chrony-Time-Service-9.0.0-offline.iso to the VM's CD/DVD
$ sudo mount -o ro /dev/sr0 /mnt
$ cp -r /mnt ~/cts && cd ~/cts
$ sudo ./install.sh --lang en
$ sudo python3 tools/selftest.py --readonly

Easiest in a closed network: upload the ISO to a vSphere datastore or to ISO Images in Proxmox VE. The package works on both x86_64 and aarch64.

Turn off hypervisor time sync for the VM, or the test time may be reset. In VMware the installer does this inside the VM, but the .vmx parameters must be set as well. In Proxmox VE 9.2.5 and newer the agent option sync-time-on-resume must stay off. LXC containers cannot set the clock; use a VM.

Screenshots

The interface is available in English and Norwegian, in light and dark mode, and works on mobile too. The pictures here are from the English version; the Norwegian page shows Norwegian screenshots. Click to see the full-size picture.