Wavelog - Self-Hosted Amateur Radio Logging

Self-hosted online amateur radio logging software to record and track your contacts from anywhere!

Wavelog - Self-Hosted Amateur Radio Logging

Amateur radio is a hobby where people around the world communicate with each other using special radios and frequencies. Ham radio operators, as they're called, love the thrill of making new contacts and sharing stories from all over the globe. But keeping track of those contacts can be a challenge. That's where Wavelog comes in! By self-hosting your contact logs on Wavelog, you avoid relying on third-party services and enjoy a more personalized experience.

What is Wavelog?

Wavelog is a self-hosted PHP application that lets you log your amateur radio contacts from anywhere, as long as you have a web browser and an internet connection.

Wavelog's development began as a spin-off of Cloudlog in late 2023, driven by four core developers (DF2ET, DJ7NT, HB9HIL, and LA8AJA). Since its initial release on February 1, 2024, Wavelog has made significant progress in stability and functionality. As an open-source project developed by radio amateurs for fellow enthusiasts, Wavelog's code is the result of dedicated effort to continuously improve this great software. With a focus on simplicity, powerful tools, and transparency, Wavelog offers web-based logging accessible from anywhere worldwide. Whether hosted on a professional server, rented space, or a RaspberryPi at home, Wavelog enables you to manage your logbook whenever and wherever you want.

Wavelog Core Features

Wavelog offers a simple web interface for logging contacts. Additionally, the WLGate tool allows you to log contacts from WSJT-X or send CAT data from your radio directly to your Wavelog account. Supports: Windows, Mac, and Linux.

Wavelog includes advanced mapping features that enable you to easily create custom maps of your contacts. You can also export and share your QSOs as maps, or automatically include them in your QRZ.com bio.

Wavelog also provides in-depth analytics to help you understand your ham radio activities. Some examples of what you can track and analyze include:

  • Number of grids worked
  • Average days per year spent hamming it up
  • Farthest distance worked on specific bands, like 70cm

And many more insights to help you refine your amateur radio experience.

Wavelog also assists in analyzing your data, providing insights on how close you are to achieving your next award certificate. Currently, over 20 international award programs have been integrated into Wavelog, with more to come.

Wavelog supports seamless integration with popular third-party services, including:

  • eQSL
  • LoTW
  • HRDlog
  • QRZ.com
  • QO-100 Dx Club

Your logged contacts are automatically confirmed with eQSL and LoTW, and you can also view and upload scanned eQSL cards directly within the Wavelog web interface.

Wavelog is available in partial translation across 16 languages, thanks to the collaborative efforts of developers and the community. Some languages still require further refinement, but the software's global reach is a testament to the power of teamwork. Anyone interested in contributing to Wavelog's translations can join the platform and get involved.

Install Wavelog via Docker Compose

This Docker Compose stack can be used to install Wavelog on your server. If you need help, see our guides about getting started with self-hosting.

---
services:
  wavelog-db:
    image: mariadb:11.3
    container_name: wavelog-db
    environment:
      MARIADB_RANDOM_ROOT_PASSWORD: yes
      MARIADB_DATABASE: wavelog
      MARIADB_USER: wavelog
      MARIADB_PASSWORD: wavelog # <- Insert a strong password here
    volumes:
      - wavelog-dbdata:/var/lib/mysql
    restart: unless-stopped

  wavelog-main:
    container_name: wavelog-main
    image: ghcr.io/wavelog/wavelog:latest
    depends_on:
      - wavelog-db
    environment:
      CI_ENV: docker
    volumes:
      - wavelog-config:/var/www/html/application/config/docker
      - wavelog-uploads:/var/www/html/uploads
      - wavelog-userdata:/var/www/html/userdata
    ports:
      - "8086:80"
    restart: unless-stopped

volumes:
  wavelog-dbdata:
  wavelog-uploads:
  wavelog-userdata:
  wavelog-config:

Access Wavelog by visiting the server's IP address on port 8086, where you'll initiate the pre check process.

To ensure Wavelog functions properly, you might need to adjust the permissions for three volumes within the wavelog-main container by running a CHMOD command. This allows the application to create and write files in these directories as needed.

If you leave everything in the Docker Compose as default, (as I did for testing purposes) this is what you will enter for the database section.

If you plan to deploy Wavelog through Cloudflare or a reverse proxy, it's strongly recommended that you update the Docker Compose configuration file to customize these settings.

If everything went well, you should see green checkmarks across the board.

Once you've completed the pre check process, simply click 'Install Now' to finalize the setup and start using Wavelog for logging your amateur radio contacts.

Final Notes and Thoughts

Wavelog is more than just a tool for logging amateur radio contacts, it's a way to store and manage your QSOs exactly as you like, without relying on external services. By using Wavelog, you're getting a self-hosted solution that lets you keep your data private and customized to your needs. And with its open-source foundation, you have the power to shape the software's future and make it an even better fit for your ham radio journey.

Swing by the Wavelog Github repo and give it a star. Be sure to direct any support questions or feature requests on the issue tracker there.