It's been a while since I've messed with this but in a past life
I created a dedicated time server using a BeagleBone/BeagleBoard
SBC with a Adafruit GPS Breakout board. Runs Ubuntu and and
other Linux flavors. The BeagleBone is about the size of a
credit card. Put a small enclosure around it and voila! a
compact time server running chrony. You can ssh into it like any
other network connected Linux host to configure or maintain it.
We were able to get very good time sync from this.
In one instance, my prototype was modified by someone else to
use a different GPS board that had a very narrow pulse, too
narrow for the BeagleBone to detect. Pulse width on the board
was adjustable via cmd-line over serial cable so we just
adjusted it to the same width as the Adafriut (1ms I think?).
Perhaps something along these lines might work for you.
BeagleBone is about $50 and a bit more for breakout board,
cables, etc. Probably around $150 or so total parts investment.
I've seen people do it with Raspberry PI as well so that may be
an option for you. Takes a bit of time and patience to put
together but a very affordable solution. I don't have notes on
the setup anymore but there was an abundance of info online and
the chrony-users group is extremely helpful getting past some of
the rough spots.
Hope this helps