The SV1BTL-version can be found here: https://github.com/sv1btl/PhantomSDR-Plus ..it is compatible with the normal version, but enhanced.

UberSDR as NTP-server.

Started by Bas ON5HB, Sep 25, 2026, 02:29 PM

Previous topic - Next topic

Bas ON5HB

Hi all,

If you plan on taking ouside NTP-requests (not docker only), then remove the timeserver you use.
Typical ntpsec. And install the ntpdate util.
In Ubuntu:

apt remove ntpsec (or chrony)
apt install ntpdate

Above not needed when planning inside docker only.

You can use UberSDR as NTP stratum 1 sever.
All you need to do is adding the NTP addon and configure it.

See here: https://websdr.heppen.be/addon/ntp/

You cannot view this attachment.

Then you need to configure it, goto the ubersdr directory, then ntp dir.

You see there docker-compose.yml, in the top section you need to modify:

services:
  ubersdr-ntp:
    image: madpsy/ubersdr-ntp:latest
    container_name: ntp
    restart: unless-stopped
    cpu_shares: 512
    ports:
      - "123:123/udp"

    # Every setting is in ./config/config.json — the receivers, frequencies,
    # upstream NTP servers and ports. Edit it there, then ./restart.sh.

Then goto the config directory and modify config.jason, for Europe:

  // The receiver this runs beside, on WWV's three strongest carriers. 5 MHz
  // carries the night, 15 MHz the day, 10 MHz most of both. Addon containers
  // are on the receiver's own Docker network, which its default
  // timeout_bypass_ips exempts from session limits, so no password is needed.
  // A receiver that does not exempt it wants its bypass password in each one.
  "sources": [
    { "name": "DCF77",  "url": "http://ubersdr:8080", "carrier_hz": 77500, "extra_delay_ms": 0.00 },
    { "name": "MSF",    "url": "http://ubersdr:8080", "carrier_hz": 60000, "extra_delay_ms": 0.00 },
    { "name": "ALLOUIS","url": "http://ubersdr:8080", "carrier_hz": 162000, "extra_delay_ms": 0.00}

  //  { "name": "local-5",  "url": "http://ubersdr:8080", "carrier_hz": 5000000 },
  //  { "name": "local-10", "url": "http://ubersdr:8080", "carrier_hz": 10000000 },
  //  { "name": "local-15", "url": "http://ubersdr:8080", "carrier_hz": 15000000 }
  ],

Outside Europe you can use other time-signals.

More info here: https://github.com/madpsy/ubersdr-ntp

To run the NTP-server system-wide and also taking requests you need to instal the systemd-service.

https://github.com/madpsy/ubersdr-ntp/tree/main/systemd

Just copy the file and install it, all info is written in the file itself.

Then reboot, most easy way, and after some 60 minutes it should start taking time-servers and feed your NTP-server.
Do insert a few ntp-servers or pool entries to have fallback time-servers.

To update the systemclock every minute, crontab -e and add:

* * * * * /usr/sbin/ntpdate 127.0.0.1
That's it.

Nathan didn't make it easier just yet....he probably will in the future. ;D



 [/code]
Best regards,

Bas ON5HB

Ps. Running UberSDR.

Powered by EzPortal