Complete .env Variable Reference

Every variable OpenHamClock reads from .env, with its default value and valid options.

Station

VariableDefaultDescription
CALLSIGNrequiredYour amateur radio callsign (e.g. K0CJH)
LOCATORrequiredMaidenhead grid locator, 4 or 6 characters (e.g. IO91wm)
LATITUDEfrom LOCATOROverride latitude in decimal degrees
LONGITUDEfrom LOCATOROverride longitude in decimal degrees

Server

VariableDefaultDescription
PORT3000Web server port
HOSTlocalhostBind address. Use 0.0.0.0 for network access
TRUST_PROXYfalseSet true behind nginx / Caddy / Railway

Security

VariableDefaultDescription
API_WRITE_KEYnoneSecret key for POST endpoints. Required for internet-facing installs.
CORS_ORIGINSnoneComma-separated extra CORS origins (e.g. https://yourdomain.com)

Display Defaults

VariableDefaultValid values
THEMEdarkdark ยท light ยท legacy ยท retro ยท custom
LAYOUTmodernmodern ยท classic ยท dockable ยท tablet ยท compact ยท emcomm
DISTUNITSimperialimperial ยท metric
TEMPUNITSimperialimperial ยท metric
TIME_FORMAT2412 ยท 24

Settings Sync

VariableDefaultDescription
SETTINGS_SYNCfalseSave display settings server-side. Enable for single-operator Pi/self-hosted installs.
SETTINGS_FILE./data/settings.jsonPath to the settings file when SETTINGS_SYNC is enabled

DX Cluster

VariableDefaultDescription
DX_CLUSTER_SOURCEautoauto ยท proxy ยท hamqth ยท dxspider
SPOT_RETENTION_MINUTES30How long to keep spots in the panel (minutes)
DXSPIDER_PROXY_URLnoneURL of a self-hosted DX Spider telnet-to-HTTP proxy

WSJT-X

VariableDefaultDescription
WSJTX_ENABLEDfalseEnable WSJT-X UDP listener
WSJTX_UDP_PORT2237UDP port for WSJT-X packets
WSJTX_MULTICAST_ADDRESSnoneMulticast group address for multi-instance WSJT-X setups
WSJTX_RELAY_KEYnoneAuthentication key for the wsjtx-relay agent (cloud installs)

Rig Control

VariableDefaultDescription
RIG_ENABLEDfalseEnable direct server-side rig control
RIG_TYPEnoneyaesu-cat ยท icom-ci-v ยท kenwood ยท elecraft ยท tci ยท hamlib
RIG_SERIAL_PORTnoneSerial port (e.g. /dev/ttyUSB0, COM4)
RIG_BAUD_RATE9600Serial baud rate
RIG_CI_V_ADDRESS0x94Icom CI-V address (hex). IC-7300=0x94, IC-705=0xA4, IC-9700=0xA2

External API Keys

VariableDefaultDescription
QRZ_USERNAMEnoneQRZ.com username for callsign lookups
QRZ_PASSWORDnoneQRZ.com password
VITE_AMBIENT_APP_KEYnoneAmbient Weather application key
VITE_AMBIENT_API_KEYnoneAmbient Weather API key

Auto-Update

VariableDefaultDescription
AUTO_UPDATE_ENABLEDfalseEnable automatic git-based updates
AUTO_UPDATE_INTERVAL_MINUTES60How often to check for updates (minutes)
AUTO_UPDATE_ON_STARTfalseCheck for updates at startup
AUTO_UPDATE_EXIT_AFTERtrueExit after updating so systemd/pm2 can restart

Keyboard Shortcuts

KeyAction
?Show keyboard shortcut help overlay
SOpen Settings panel
MFocus / centre the world map
FToggle map fullscreen
LOpen Layers panel (map overlays)
EscClose any open panel or popup
1 โ€“ 9Switch to layout preset 1โ€“9 (if configured)
โ† โ†’Step through Solar panel views

Data Sources & APIs

DataSourceLicence / Terms
DX Cluster spotsDX Spider network, HamQTHAmateur radio public network
Space weather (SFI, Kp, SSN)NOAA / N0NBH Solar IndicesUS Government open data
Band conditionsN0NBH / NOAAUS Government open data
Solar imageNASA SDO / HelioviewerNASA open data
X-ray fluxNOAA GOES satellitesUS Government open data
POTA activationsPOTA API (pota.app)POTA public API
SOTA activationsSOTAwatch APISOTA public API
WWFF activationsWWFF APIWWFF public API
Satellite TLEsCelesTrakPublic domain
PSKReporterPSKReporter MQTT / HTTP APIPhilip Gladstone, free use
RBN spotsReverse Beacon NetworkAmateur radio public network
WSPR reportsWSPRnetWSPRnet public API
WeatherOpen-MeteoCC BY 4.0 โ€” free, no key
AuroraNOAA OVATION modelUS Government open data
EarthquakesUSGS Earthquake Hazards ProgramUS Government open data
WildfiresNASA FIRMSNASA open data
Propagation modelITU-R P.533-14 / iturhfpropITU model, open-source implementation
Callsign lookupQRZ.com XML APIQRZ account required (free)
Map tilesOpenStreetMap / CARTOODbL / Carto ToS

Ham Radio Glossary

Quick definitions for terms used throughout this manual.

TermDefinition
APRSAutomatic Packet Reporting System. A digital protocol used to transmit position, weather, and text data over radio.
AOSAcquisition of Signal โ€” the moment a satellite rises above your horizon and becomes workable.
AzimuthCompass bearing in degrees (0ยฐ = North, 90ยฐ = East, 180ยฐ = South, 270ยฐ = West). Used for antenna pointing.
BandA range of radio frequencies allocated by the ITU for amateur use. e.g. "20 m band" = 14.0โ€“14.35 MHz.
CallsignA unique identifier assigned to a licensed amateur radio station by its national authority (e.g. W1AW, G4ABC, JA1ZZZ).
CQA general call inviting any station to respond. "CQ DX" specifically invites distant stations.
CWContinuous Wave โ€” Morse code. Still widely used for DX and contesting due to its efficiency.
Doppler shiftThe change in received frequency caused by relative motion between transmitter and receiver. Significant for satellite contacts.
DXDistant station. In HF operating, typically means a station in another country or rare entity.
DXCCDX Century Club โ€” the ARRL award for working 100+ countries. Also used as shorthand for "country" in the context of rare DX entities.
EMEEarth-Moon-Earth (moonbounce). Contacts made by bouncing signals off the moon's surface.
FT8A weak-signal digital mode (Franke-Taylor design, 8-FSK) with 15-second periods. The most widely used HF mode worldwide as of 2024.
Great-circle pathThe shortest distance between two points on a sphere โ€” the actual path radio waves travel around the Earth.
Grid squareA Maidenhead Locator System cell used to describe geographic position. 4-character (e.g. IO91) or 6-character (IO91wm) resolution.
Grey lineThe twilight boundary between day and night. A zone of enhanced HF propagation, especially on 80 m and 40 m.
HFHigh Frequency โ€” 3โ€“30 MHz. The primary amateur radio spectrum for worldwide contacts via ionospheric propagation.
IonosphereLayers of the upper atmosphere (60โ€“600 km) ionised by solar radiation, enabling HF radio signals to travel around the Earth.
K-index / KpA measure of geomagnetic disturbance (0โ€“9). High values indicate solar storm activity that degrades HF propagation.
LEOLow Earth Orbit โ€” typically 200โ€“2000 km altitude. Most amateur satellites are in LEO, with pass windows of 5โ€“15 minutes.
LOSLoss of Signal โ€” the moment a satellite sets below your horizon.
Maidenhead locatorSee Grid square.
POTAParks on the Air โ€” an amateur radio programme where operators activate national parks and similar areas.
PropagationHow radio waves travel from transmitter to receiver. HF propagation relies on reflection from the ionosphere.
QSOA two-way radio contact between two stations.
RBNReverse Beacon Network โ€” a global network of automated CW/RTTY receivers that spot CQ calls automatically.
SFISolar Flux Index (F10.7) โ€” a measure of solar radio emission and proxy for ionospheric conditions. Higher = better HF propagation.
SGP4Simplified General Perturbations 4 โ€” the standard orbital propagation model used to predict satellite positions from TLE data.
SOTASummits on the Air โ€” an amateur radio programme where operators activate qualifying mountain summits.
SSNSunspot Number (Wolf Number) โ€” a daily count of visible sunspot groups. Correlates with SFI and HF propagation quality.
TLETwo-Line Elements โ€” a standardised format for describing a satellite's orbital parameters, used by SGP4 to predict positions.
VHF/UHFVery High Frequency (30โ€“300 MHz) and Ultra High Frequency (300 MHzโ€“3 GHz). Most amateur satellites use these bands.
WSPRWeak Signal Propagation Reporter โ€” a beacon mode used to map HF propagation by reporting who hears whom.
WWFFWorld Wide Flora & Fauna โ€” an amateur radio programme activating nature reserves and protected areas.

Contributing

OpenHamClock is open-source (MIT licence) and welcomes contributions. Whether you want to fix a bug, add a feature, improve a translation, or just report a problem:

Credits & Licence

OpenHamClock Created and maintained by Chris Hetherington, K0CJH. MIT Licence โ€” free to use, modify, and self-host.
Original HamClock Elwood Downey, WB0OEW created the original HamClock โ€” a standalone C application for Raspberry Pi that inspired this project. A different program with a different codebase, but the same spirit. clearSkyInstitute.com/ham/HamClock
Libraries used React, Vite, Express, Leaflet.js, i18next, FlexLayout-React, Helmet, MQTT.js, Axios, and many others. Full list in package.json.
This manual MIT Licence. Source at github.com/accius/openhamclock-manual. Screenshots and diagrams are welcome contributions โ€” see the README.