Cloudlog is a free, open source monitoring & observability project written in PHP and released under MIT. It has 577 GitHub stars, 212 forks and 3 open issues, and was last pushed 4 hours ago. On this registry it ranks #261 of 270 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available. It gained 2 stars over the last 30 tracked days.

What is Cloudlog?

Cloudlog is a self-hosted, web-based amateur radio logging application written in PHP and backed by MySQL, aimed at licensed amateur radio operators who want to record their contacts (QSOs) from any browser with an active internet connection instead of being tied to one machine.

What it is

Cloudlog is a PHP and MySQL web application for logging amateur radio contacts. It runs on a Linux-based operating system behind Apache (the README notes Nginx should also work), requires PHP 7.4 (PHP 8.2 is confirmed working) and MySQL 5.7 or higher, and is released under the MIT licence. The project was started by Peter Goodhall, MM9SQL, and has since grown through a large body of community code contributions; it is catalogued in this registry under Infrastructure & Operations / Monitoring & Observability, but its actual subject matter is station logging across the amateur radio bands, from HF through to microwave.

The concrete problem it solves is where the station log lives. A conventional logbook — paper or desktop software — keeps the record on one machine or in one place, so the operator can only log from that spot. Cloudlog moves the log to a self-hosted web application: the operator reaches it from any browser with an internet connection and an account on their own server. The data sits in the operator's own MySQL database on the operator's own host, rather than in a third-party service. The topics attached to the project — amateur-radio, ham-radio, logging, qso, qsl, web-based-logger — describe the scope precisely: contact logging plus QSL tracking, in a browser.

Key capabilities

  • Logs amateur radio contacts (QSOs) through a web interface, with no client installation for operators beyond a browser and internet access.
  • Covers HF through microwave; logging microwave QSOs requires a 64-bit operating system, as the README states explicitly.
  • Supports QSL handling as part of the logging workflow, reflected in the qsl topic.
  • Integrates with companion tools for CAT control and automation, per the project description.
  • Ships a Docker Compose development environment: copy .env.sample to .env, then run docker-compose up. Values in .env populate the database connection details on the install page, and DB_HOST must match the database service name in docker-compose.yml (for example db) because Compose resolves services by name on the internal network.
  • Includes a Cypress end-to-end test suite, run in CI by the cypress-tests.yml GitHub Actions workflow and locally via npm install cypress followed by npx cypress run.
  • Offers no official production containers — the README states Docker is not supported for production, though self-hosters are free to use it without maintainer support.

Who uses it and how

  • Individual licensed operators self-hosting Cloudlog on their own Linux server, running the LAMP-style stack the README specifies: Apache (or Nginx), PHP 7.4 or 8.2, MySQL 5.7 or higher.
  • Operators chasing microwave contacts, who must run a 64-bit operating system to log those QSOs.
  • Developers and contributors, who must target the dev branch — the README states only PRs against dev are accepted.
  • Operators who would rather not run the stack themselves, who can buy a hosted instance from magicbug for £4 per month, with updates handled by the vendor.
  • Support is split by audience: code issues go to GitHub issues, while general server setup questions go to the GitHub discussions forum.

Getting started

Installation is documented on the project wiki, and the process amounts to deploying the PHP application on a Linux host with Apache or Nginx, PHP 7.4 or 8.2, and MySQL 5.7 or higher, then completing the browser-based install page. A docker-compose up environment exists for local development and testing only; production Docker support is not provided.

How it compares

This registry's facts name no paid products that Cloudlog replaces, and the README names no comparable logging applications either, so it stands alone here as the registry's amateur radio logging entry rather than sitting in a documented line-up of alternatives. The one adjacent option the facts do give is the vendor's own hosted service from magicbug at £4 per month, which contrasts with self-hosting on a simple axis: paying monthly for managed updates and no server administration, versus running the MIT-licensed application yourself and holding the MySQL database directly. Self-hosting keeps the log data entirely under the operator's control and carries no recurring licence fee, but it transfers all operational responsibility to the operator.

When to use it — and when not to

Choosing self-hosted Cloudlog means operating the full stack yourself: a Linux host, a web server such as Apache or Nginx, PHP, and a MySQL 5.7-or-newer database, along with the routine work of keeping them patched. It is a poor fit for anyone who does not want to administer a web server and database, and the README offers no official production Docker image or container support, so a container-first deployment leaves the operator without maintainer backing. The installation path also lives on the project wiki rather than in the repository, which means setup details are maintained separately from the code and can drift from the README's stated requirements.

project readme (upstream, from github) — read inline

Cypress Tests

Cloudlog

Important: Only accepting PRs on the "dev" branch.

Cloudlog is a self-hosted PHP application that allows you to log your amateur radio contacts anywhere. All you need is a web browser and active internet connection.

While Cloudlog as started by Peter Goodhall, MM9SQL, although since has received a lot of community code contributions. If you would like to contribute to Cloudlog please see the Contributing section below.

Website: http://www.cloudlog.co.uk

Requirements

  • Linux based Operating System
  • Apache (Nginx should work)
  • PHP Version 7.4 (PHP 8.2 works)
  • MySQL (MySQL 5.7 or higher)

Notes

  • If you want to log microwave QSOs you will need to use a 64bit operating system.
  • We do not provide Docker support, however you are free to use it if you wish but we will not handle support.

Setup

Installation information can be found on the wiki.

Docker Development Environment

This guide provides instructions for setting up a local development environment using Docker and Docker Compose. Please note that this setup is not recommended for production use.

Prerequisites

Before you begin, you need to install Docker and Docker Compose. You can download them using the following links:

Configuration

  1. Copy the .env.sample file to .env:

    cp .env.sample .env
    
  2. Open the .env file and update the values to match your setup. The values from the .env file will be used to populate the database connection details on the install page. You should not need to change these unless your setup requires different values.

    Note: Docker Compose creates a network for your application, and each service (container) in the Docker Compose file can reach each other via the service name. This is why the DB_HOST value in the .env file and on the install page should match the service name of the database in the docker-compose.yml file. For example, if the database service in docker-compose.yml is defined as db, then DB_HOST should be set as 'db'. This allows the application to communicate with the database service on its internal docker network.

Starting the Development Environment

To start the development environment, run the following command in your terminal:

docker-compose up

Running Cypress Tests Locally

Follow these steps to run the Cypress tests locally on your machine:

  1. Clone the repository

    If you haven't already, clone the repository to your local machine

  2. Setup .env file

    Copy the sample .env file and adjust it to your local environment:

    cd your-repo
    cp .env.sample .env
    
  3. Build Docker services

    Build and start the Docker services:

    docker-compose up -d
    
  4. Install Cypress

    Navigate into the project directory and install Cypress:

    npm install cypress
    
  5. Run the Cypress tests

    After the installation is complete, you can run the Cypress tests:

    npx cypress run
    

Support

Cloudlog has two support systems for code issues use Github issues, however if you have general issues with setting up your server please use our general discussion forum https://github.com/magicbug/Cloudlog/discussions.

Security Vulnerabilities

If you discover a security vulnerability within Cloudlog, please send an e-mail to Peter Goodhall, MM9SQL via peter@magicbug.co.uk. All security vulnerabilities will be promptly addressed.

Want Cloudlog Hosting?

If you would prefer not to setup Cloudlog yourself magicbug offer hosted solutions, this is priced at £4 a month at the moment and they take care of keeping it updated.

Contributing

If you would like to contribute in any way to Cloudlog, it is most appreciated. This has been developed in free time, help coding new features or writing documentation is always useful.

Please note that Cloudlog was built using Codeigniter version 3 and uses Bootstrap 5 as the frontend toolkit.

We also HTMX for AJAX requests and jQuery for some of the frontend functionality. We use Font Awesome for icons.

At the moment we use Cypress for end-to-end testing.

When submitting PRs please make sure code is commented and includes one feature only, multiple features or bug fixes will not be accepted. Please include a description of what your PR does and why it is needed.

Credits

Thanks to Andy (VE7CXZ), Gavin (M1BXF), Graham (W5ISP), Robert (M0VFC), Corby (K0SKW), Andy (GI0VGV), Sarah (DM4NA), Tony (G0WFV), Kim (DG9VH), Michael (G7VJR), Andreas (LA8AJA), Matthias (DL9MJ), Thomas (DO2TWE), Pat (KT3PJ), Flo (DF2ET), Joerg (DJ7NT) and Fabian (HB9HIL) for contributing code or help to Cloudlog.

Patreons & Donors

Cloudlog is supported by Patreon and donations via PayPal, thanks to the following people:

Paul (M0TZO), Tim (G4VXE), Paul (N8HM), Michelle (W5NYV), Mitchell (AD0HJ), Dan (M0TCB), Martin (DK3ML), Juan Carlos (EA5WA), Iain (M0PCB), Charlie (GM1TGY), Ondrej (OK1CDJ), Trystan (G0KAY), Oliver (DL6KBG), Volkmar Schirmer, Jordan (M0PIR), Thomas Ziegler, Mathis (DB9MAT), Ken (VE3HLS), Tyler (WL7T), Jeremy Taylor, Ben Kuhn, Eric Thresher, Michael Cullen, Juuso (OH1JW), Anthony Castiglia, Fernando Ramirez-Ferrer, Robert Dixon, Mark Percival, Julia (KV1V), Timo Tomasini, Ant (NU1U), Christopher Williams, Danny Barnes, Vic, Tom (M0LTE), smurphboy, Lars (SM0TGU), Theo (PD9DP), Stefan (SM0RGM). Peter (G0ABI), Lou (KI5FTY), Michael (DG3NAB), Dragan (4O4A), minorsecond, Emily (W7AYQ), Steve (M0SKM), Rob (M0VFC), Doug (WA6L), Petr (OK1PKR), Fabian (HB9HIL), Daniel (OK2VLK), John (M5JFS), Johnathan (2E0DEF), Peter (M0LNB), Bernard (EI8FDB).

If you'd like to donate to Cloudlog to help allow @magicbug spend less time doing commercial work and more time coding Cloudlog then you can donate via PayPal, Github Sponsor or become a Patreon

Frequently asked questions

Is Cloudlog free to use?

Cloudlog is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Cloudlog do?

Cloudlog is a web-based amateur radio logging application built with PHP and MySQL. It supports a wide range of station logging activities, from HF to microwave

What is Cloudlog written in?

Cloudlog is primarily written in PHP. Its source is publicly available at https://github.com/magicbug/Cloudlog, and it has 577 GitHub stars.