Introduction:

In my ongoing journey with amateur radio and SDR, I recently deployed WaveLog — a beautiful web-based logging software tailored for hams. Whether you’re a licensed operator or an SWL, WaveLog offers a clean, responsive, and feature-rich environment for managing your QSOs (contacts).

This blog captures how I set it up using Docker with a MariaDB backend, integrated into my existing pub_net macvlan network for seamless access within my home infrastructure.

Why WaveLog?

🔹 Modern Interface – Built with a responsive design, WaveLog looks great on both desktops and mobile devices.
🔹 Docker-Friendly – Easy to spin up in containers, making it perfect for homelabs and Proxmox setups.
🔹 Great for SWLs too – Even though the “Callsign” field is required, you can still use it by entering something like SWL-<yourname> or a placeholder callsign.
🔹 Logs with Purpose – WaveLog helps you keep track of your QSO history in a clear, structured format

Setup Overview:

I used Docker Compose to create two services:

  1. wavelog-db – A MariaDB 11.3 container acting as the database backend.
  2. wavelog-main – The WaveLog web application container.

Network: pub_net (macvlan)
Static IP: 192.168.0.53
DNS: 192.168.0.3
Accessible from: http://192.168.0.53:80 or mapped port (8086 in my case)

full Docker Compose configuration,

version: '3.8'

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@#password
    volumes:
      - wavelog-dbdata:/var/lib/mysql
    networks:
      pub_net:
        ipv4_address: 192.168.0.52
    dns:
      - 192.168.0.3
    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"
    networks:
      pub_net:
        ipv4_address: 192.168.0.53
    dns:
      - 192.168.0.3
    restart: unless-stopped

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

networks:
  pub_net:
    external: true

A Note of Thanks

🙏 A big thank you to the developers of WaveLog for open sourcing this amazing ham radio logbook platform. The project is active and welcoming contributions. Check it out here:
➡️ https://github.com/wavelog/wavelog

By Abhi

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.