KC7MM Wiki

Amateur Radio with KC7MM

User Tools

Site Tools


linux:openhamclock

How to run an OpenHamClock server on Linux

Revised Feb. 13, 2026

With the HamClock server shutting down in June 2026, you can switch to OpenHamClock to replace it. Here I'll show you how to host an OpenHamClock server on a Linux box.

There's more than one way to do this. I did my installation on an old Intel NUC running headless (no monitor or keyboard), with Debian 13 installed.

Preparation

The first thing is to get the OpenHamClock code in place.

  1. Log into the server host with SSH.
  2. Create a new directory for OpenHamClock and navigate to it.
  3. Initiate an empty git repository in the current directory, and then clone the OpenHamClock repository:
    git init
    git clone https://github.com/accius/openhamclock.git
  4. A subdirectory named openhamclock was created by git. Navigate to it to be in position for the running the server.

Method 1: Run with npm

For this, I used the method described in the documentation for Local/Desktop. It's an easy way to get an OpenHamClock server running.

  1. A prerequisite is to have nodejs installed. On my Debian-based system, this is done with:
    sudo apt install nodejs npm
  2. Run the installation:
    npm install
  3. In order to make it available on the LAN, edit the file .env and set HOST=0.0.0.0
  4. Start the server:
    npm start
  5. Navigate to the site at http://server-ip-address:3000.

After filling out the configuration popup, everything worked as it should.

Because the application is running in a shell created by SSH, it will terminate when you log out of the SSH session. A simple way of overcoming that is to install tmux, a multiplexing shell, on the server's host. Then, after logging into an SSH session on the host and navigating to the OpenHamClock directory, run this sequence of commands:

tmux
npm start
Ctrl+b d 

The first command starts tmux, the second starts OpenHamClock, and the third (Ctrl+b followed by d) detaches the app from the shell, so it will continue to run after the SSH connection is terminated.

When you want to control the app at some later time, log in with SSH and run tmux attach. That will attach the app to the tmux shell, so you can work with it.

Method 2: Run with Docker

The GitHub project includes both a Dockerfile to create a Docker image, and a docker-compose.yaml file to run it. Docker instructions are here.

My experience with Docker on Debian is that it works best to install it from the official Docker Apt repository rather than the Debian repo. Doing so insures that all files are kept current and coordinated.

  1. Install Docker following these Apt repository instructions.
  2. Set up Docker to be managed by the local user (not root) following these instructions. This makes the local user a member of the docker group.
  3. Navigate to the OpenHamClock directory. Verify that the files Dockerfile and docker-compose.yaml are present.
  4. Run Docker Compose to build the image and run it. NOTE that the documentation has an error in the command; run this instead:
    docker compose up -d
  5. I verified that the installation worked by navigating in a browser to http://server-ip-address:3000.
linux/openhamclock.txt · Last modified: 2026/02/14 04:37 by KC7MM