Skip to content

About

Docker image to easily set-up OpenHamClock

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

OpenHamClock — Hardened Docker Image

A hardened, multi-platform Docker image for OpenHamClock — a ham radio dashboard featuring DX clusters, band conditions, solar data, WSJT-X integration, and more.

Built on Alpine Linux with a non-root user, minimal attack surface, and automatic daily updates tracking upstream releases.

Platforms: linux/amd64 · linux/arm64


Live demo

clock.ham-radio.nl — running the linux/arm64 build (latest).


Quick start

docker pull byluke/openhamclock:latest

Docker Compose

services:
  openhamclock:
    image: byluke/openhamclock:latest
    container_name: openhamclock
    restart: unless-stopped
    ports:
      - "3000:3000"         # Web UI
      - "2237:2237/udp"     # WSJT-X UDP relay
      - "12060:12060/tcp"   # N1MM / DXLog integration
    volumes:
      - openhamclock-data:/app/data
    environment:
      - NODE_ENV=production
      - PORT=3000
      - TZ=Europe/Amsterdam
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 15s

volumes:
  openhamclock-data:

Save as docker-compose.yml and run:

docker compose up -d

Then open http://localhost:3000 in your browser.


Ports

Port Protocol Purpose
3000 TCP Web UI
2237 UDP WSJT-X relay
12060 TCP N1MM / DXLog integration

Image details

  • Base image: node:20-alpine
  • Runs as non-root user hamclock
  • PID 1 managed by tini
  • Alpine packages upgraded at build time for latest security patches
  • Images are rebuilt automatically when upstream releases a new version

Configuration

On first run the application writes a .env file from its built-in defaults. Edit that file and restart the container to apply changes. The full variable reference is in the upstream README.

The most important variables to set:

Variable Default Description
CALLSIGN N0CALL Your amateur radio callsign
LOCATOR FN31 Maidenhead grid locator (4–6 chars)
TZ (browser) IANA timezone (e.g. Europe/Amsterdam)
UNITS imperial metric or imperial
TIME_FORMAT 12 12 or 24 hour clock
THEME dark dark, light, legacy, or retro
WSJTX_ENABLED true Enable WSJT-X UDP listener
WSJTX_UDP_PORT 2237 UDP port for WSJT-X decoded messages
SPOT_RETENTION_MINUTES 30 DX spot retention window (5–30 min)
DX_CLUSTER_CALLSIGN (CALLSIGN-56) Login callsign for DX Spider cluster
LOG_LEVEL warn debug, info, warn, or error

Pass them via the environment block in your compose file or as -e flags with docker run.


Upstream project

All application code belongs to accius/openhamclock. This repository only provides the hardened Docker packaging.

About

Docker image to easily set-up OpenHamClock

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages