<div align="center">
  <a href="https://www.wavelog.org/">
    <picture>
      <source height="400" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wavelog/wavelog/refs/heads/master/assets/logo/wavelog_logo_darkly.png">
      <source height="400" media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/wavelog/wavelog/refs/heads/master/assets/logo/wavelog_logo_cosmo.png">
      <img height="400" alt="Wavelog" src="https://raw.githubusercontent.com/wavelog/wavelog/refs/heads/master/assets/logo/wavelog_logo_darkly.png">
    </picture>
  </a>

  <h3>The self-hosted logbook for radio amateurs — log your QSOs from anywhere.</h3>

  <p>
    <a href="https://github.com/wavelog/wavelog/blob/master/LICENSE"><img alt="License" src="https://img.shields.io/github/license/wavelog/wavelog?style=flat-square"></a>
    <a href="https://translate.wavelog.org/engage/wavelog/"><img alt="Translation Status" src="https://translate.wavelog.org/widget/wavelog/main-translation/svg-badge.svg"></a>
    <a href="https://github.com/wavelog/wavelog/graphs/commit-activity"><img alt="Commit Activity" src="https://img.shields.io/github/commit-activity/m/wavelog/wavelog/dev?style=flat-square"></a>
    <a href="https://github.com/wavelog/wavelog/releases"><img alt="Latest Release" src="https://img.shields.io/github/v/release/wavelog/wavelog?style=flat-square"></a>
    <a href="https://github.com/wavelog/wavelog/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/wavelog/wavelog?style=flat-square"></a>
  </p>

  <p>
    <a href="https://demo.wavelog.org">Live Demo</a> ·
    <a href="#setup">Setup</a> ·
    <a href="https://docs.wavelog.org/">Documentation</a> ·
    <a href="#contributing">Contribute</a>
  </p>
</div>

Wavelog 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.

Wavelog itself is an enhanced fork of Cloudlog by MM9SQL (ex 2M0SQL).
If you would like to contribute to Wavelog please see the [Contributing](#contributing) section below.

The Core-Dev-Team for Wavelog are (in Alphabetic order of the Call):
* DF2ET ([@phl0](https://github.com/phl0))
* DJ7NT ([@int2001](https://github.com/int2001))
* HB9HIL ([@HB9HIL](https://github.com/HB9HIL))
* LA8AJA ([@AndreasK79](https://github.com/AndreasK79))

## Demo
Test Wavelog and its features!  
https://demo.wavelog.org  

  Username: demo  
  Password: demo

## Setup

### Docker (easiest)

Get started with the prebuilt image and Docker Compose — see the [Docker guide](https://docs.wavelog.org/getting-started/installation/docker/).

### Classic LAMP stack (recommended)

| Component | Requirement |
| --------- | ----------- |
| **OS** | 64-bit Linux (highly recommended)<br>Windows may work<br>**32-bit no longer supported** |
| **Web server** | Apache2 (recommended) or nginx |
| **PHP** | 8.2 – 8.5 |
| **Database** | MySQL 8+ or MariaDB 10.11+ |

For instructions see the [Linux Guide](https://docs.wavelog.org/getting-started/installation/linux/)

## WavelogGate 

Easy CAT data transfer from your rig to Wavelog.  
Check out our WavelogGate Repo [here](https://github.com/wavelog/WaveLogGate).

## Documentation
The documentation for Wavelog can be found at https://docs.wavelog.org/.

## Support

Wavelog-support can be reached by creating an issue here at github. If you've any issues don't hesitate to create one here. Please provide as much information as possible to reproduce the Problem

## Contributing

Special thanks to our contributors, who are part of Wavelog by improving code!

[F4ANS](https://github.com/abarrau), [DG0TM](https://github.com/dg0tm), [DG9VH](https://github.com/dg9vh), [DJ3CE](https://github.com/dj3ce), [R1BLH](https://github.com/r1blh), [BG2ELG](https://github.com/violarulan), [DF1ASH](https://github.com/derFogel), [DB4SCW](https://github.com/DB4SCW), [VE2HEW](https://github.com/anthonydiiorio), [OK1GOD](https://github.com/filipmelik), [DJ1PW](https://github.com/winnieXY), [toseppo](https://github.com/toseppo), [N7DSB](https://github.com/desertblade), [BA7LAC](https://github.com/imlonghao), [AE4CE](https://github.com/ethancedwards8), [K1AF](https://github.com/patrickrb), [OE4BAM](https://github.com/MatykoBr), [HB9HJQ](https://github.com/zone11), [R3DHX](https://github.com/AleksdemSA), [uiolee](https://github.com/uiolee), [VK3ARR](https://github.com/VK3ARR), [BI7BST](https://github.com/Cryolitia), [ludoux](https://github.com/ludoux), [BG5ATV](https://github.com/tallcode), [BH6SKD](https://github.com/xiaosuan2b), [VK7TO](https://github.com/RhinoLance), [IU2FRL](https://github.com/iu2frl), [szporwolik](https://github.com/szporwolik), [agrif](https://github.com/agrif), [goodspeed34](https://github.com/goodspeed34), [kmanwar89](https://github.com/kmanwar89), [imorourke](https://github.com/imorourke), [NU1T/SM6SRW](https://github.com/sm6srw), [tallcode](https://github.com/tallcode), [kc9uhi](https://github.com/kc9uhi), [TnxQSO-Admin](https://github.com/TnxQSO-Admin), [HadleySo](https://github.com/HadleySo), [ceykiii](https://github.com/ceykiii), [cebarobot](https://github.com/cebarobot), [Ron6519](https://github.com/Ron6519), [twicklund76](https://github.com/twicklund76), [BH6AOV](https://github.com/BH6AOV), [slepp](https://github.com/slepp), [bseidenberg](https://github.com/bseidenberg), [nosbig](https://github.com/nosbig)

Translators:

[Ondřej Koloničný (OK1CDJ)](https://translate.wavelog.org/user/ok1cdj/), [Michael Skolsky (R1BLH)](https://translate.wavelog.org/user/R1BLH/), [Karuru (BG2ELG)](https://translate.wavelog.org/user/viola/), [Byt3](https://translate.wavelog.org/user/205er/), [BG6HJE](https://translate.wavelog.org/user/BG6HJE/), [Francisco (F4VSE)](https://translate.wavelog.org/user/kikosgc/), [Kim (DG9VH)](https://translate.wavelog.org/user/dg9vh/), [Casper van Lieburg (PA7DX)](https://translate.wavelog.org/user/pa7dx/), [Halil AYYILDIZ (TA2LG)](https://translate.wavelog.org/user/TA2LG/), [Michal Šiman](https://translate.wavelog.org/user/michalsiman/), [DN4BS](https://github.com/dn4bs), [Luca (IU2FRL)](https://translate.wavelog.org/user/iu2frl/), [Dragan Đorđević (4O4A)](https://translate.wavelog.org/user/4o4a/), [Dren Imeraj (Z63DRI)](https://translate.wavelog.org/user/Dren/), [Filip Melik (OK1GOD)](https://translate.wavelog.org/user/filipmelik/), [Petr (OK1PTR)](https://translate.wavelog.org/user/OK1PTR/), [Stefan (DB4SCW)](https://translate.wavelog.org/user/DB4SCW/), [F4JSU](https://translate.wavelog.org/user/F4JSU/), [Maciej](https://translate.wavelog.org/user/maciejla/), [imlonghao](https://translate.wavelog.org/user/imlonghao/), [Reiner Herrmann](https://translate.wavelog.org/user/reinerh/), [Jian ke (BG8IXZ)](https://translate.wavelog.org/user/bg8ixz/), [Fabian Franz](https://translate.wavelog.org/user/fabianfrz/), [Fatih Önder](https://translate.wavelog.org/user/cektor/), [Qing He(BD8DHF)](https://translate.wavelog.org/user/BD8DHF), [hellofinch](https://translate.wavelog.org/user/hellofinch/), [tviitkar (ES5TVI )](https://translate.wavelog.org/user/tviitkar/), [utkuyalcin](https://translate.wavelog.org/user/utkuyalcin/), [Plamen Panteleev (LZ1PPL)](https://translate.wavelog.org/user/lz1ppl/), [Bartek](https://translate.wavelog.org/user/atimias/), [Samir (DL4DCO)](https://translate.wavelog.org/user/DL4DCO/), [Stanisław Korzeń (SP5CRO)](https://translate.wavelog.org/user/sp5cro/), [wxy (BA7NID)](https://translate.wavelog.org/user/ba7nid/), [David Quental (CT1DRB)](https://translate.wavelog.org/user/ct1drb/), [Sebastian K.](https://translate.wavelog.org/user/sebket/), [Limes](https://translate.wavelog.org/user/limes-github/), [Ethan C. Edwards (AE4CE)](https://translate.wavelog.org/user/ethancedwards8/), [Simon Pribec](https://translate.wavelog.org/user/spribec/), [Christian Egger (HB9HJQ)](https://translate.wavelog.org/user/HB9HJQ/), [André Berends (PE1PQX)](https://translate.wavelog.org/user/PE1PQX/), [Alexander (PA8S)](https://translate.wavelog.org/user/pa8s/), [Jorgen Dahl (NU1T)](https://translate.wavelog.org/user/Jorgen/), [bel-pol](https://translate.wavelog.org/user/bel-pol/), [Mathias Regner (OE4BAM)](https://translate.wavelog.org/user/MatykoBr/), [remy56k](https://translate.wavelog.org/user/remy56k/), [YuanRetro (VA3LPZ/BI4LPZ)](https://translate.wavelog.org/user/yuanretro/), [李宇翔](https://translate.wavelog.org/user/vastsea-wuji/), [Pascal HB9HCG](https://translate.wavelog.org/user/hb9hcg/), [André Aubin](https://github.com/lambda2), [Tao Xu](https://translate.wavelog.org/user/tallcode/), [flothom](https://translate.wavelog.org/user/flothom/), [BH3HNI](https://translate.wavelog.org/user/BH3HNI/), [Lu Chang](https://translate.wavelog.org/user/ludoux/), [Alexey Khromov](https://translate.wavelog.org/user/zxalexis/), [BG8LNG](https://translate.wavelog.org/user/BG8LNG/), [Karim Malfi (F4CTJ)](https://translate.wavelog.org/user/F4CTJ/), [FengziLeo (BH7GZB)](https://translate.wavelog.org/user/BH7GZB/), [MiaoTony](https://translate.wavelog.org/user/miaotony/), [Aleksey Ubozhenko (R3DHX)](https://translate.wavelog.org/user/AleksdemSA/), [Stephane Tauziede (F4IZC)](https://translate.wavelog.org/user/F4IZC/), [S. NAKAO](https://translate.wavelog.org/user/NAKAO/), [Artur Greficz (SQ7ACP)](https://translate.wavelog.org/user/SQ7ACP/), [Matthias Jung](https://translate.wavelog.org/user/myzinsky/), [Erkin Mercan (TA4AQG/SP9AQG)](https://translate.wavelog.org/user/TA4AQG-SP9AQG/), [Fabian (EB1TR)](https://translate.wavelog.org/user/EB1TR/), [Szymon (SP9SPM)](https://translate.wavelog.org/user/sp9spm/), [Yoshida Kanae](translate.wavelog.org/user/xiaoxis654/), [notzaleewa](translate.wavelog.org/user/notzaleewa/), [F5MQU](translate.wavelog.org/user/F5MQU/), [ShenRQ(BH4FJN)](translate.wavelog.org/user/Jerryshen/), [JONCOUX Philippe](translate.wavelog.org/user/Garci80/), [Jerry](https://translate.wavelog.org/user/wohenbuguai/), [Viliam Petrik (OM0AAO)](https://translate.wavelog.org/user/om0aao/), [MCyiqiehuanying](https://translate.wavelog.org/user/MCyiqiehuanying/), [Dariusz Koryto (SQ7DK)](https://translate.wavelog.org/user/sq7dk/), [FATDEER](https://translate.wavelog.org/user/fatdeer/), [Jan Zeman (OK1IBW)](https://www.qrz.com/db/OK1IBW), [CS7AFM](https://translate.wavelog.org/user/sergio.t.mata@gmail.com/), [marin](https://translate.wavelog.org/user/marin/), [Juuso W. (OH1JW)](https://translate.wavelog.org/user/oh1jw/), [Juan Pablo Tamayo (HJ3KOS)](https://translate.wavelog.org/user/hj3kos/), [Miguel](https://translate.wavelog.org/user/micc/), [IV3CVN](https://translate.wavelog.org/user/iv3cvn/), [Telectroboy](https://translate.wavelog.org/user/Telectroboy/), [Xu, Zefan (BI1GHZ)](https://translate.wavelog.org/user/cebarobot/), [JF9SOM](https://translate.wavelog.org/user/JF9SOM/), [shigeki nakai](https://translate.wavelog.org/user/shigeki.nakai/), [TEODORESCU NICOLAE SORIN (YO9TSN)](https://translate.wavelog.org/user/YO9TSN/), [Anton Tomanič (S57XZ)](https://translate.wavelog.org/user/S57XZ/), [snuggle](https://translate.wavelog.org/user/snuggle/), [Bendik S](https://translate.wavelog.org/user/bendiksv/), [rmdlv](https://translate.wavelog.org/user/rmdlv/), [Luoyu (BG7QBL)](https://translate.wavelog.org/user/Luoyumoe/), [橙子木 (BH6AOV)](https://translate.wavelog.org/user/BH6AOV/)

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

> [!IMPORTANT]  
> Only accepting PRs on the "dev" branch. About our contributing guidelines and some more information you can find [here](https://docs.wavelog.org/project/contributing/).

**For translations and language stuff you can refer to our [Wiki about Translations](https://docs.wavelog.org/developer/translations/).**

Please note that Wavelog was built using [Codeigniter](https://www.codeigniter.com/userguide3/) version 3 and uses Bootstrap 5 for the user CSS framework documentation is available for this when building components.

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.

## Star History

Support Wavelog by starring the repository on GitHub!

<a href="https://www.star-history.com/?repos=wavelog%2Fwavelog&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=wavelog/wavelog&type=date&theme=dark&legend=top-left&sealed_token=iL83440cfP1r51cWS7LaQp9k39fQvc8LQSp-CNzW_xZ_tPn7OWTCtPdVm19udzG44Hwzb1wdaLgUVi3T2dxq9tereqmhIUdKi4IEEPHSbTMWxHYIqOEcz6ToZIZaU1R8o-psEVQEaT1V2zcQkgul4Khc9SVIoifhfvxCWKhhMj0oGkOfhc2yimF5RV7a" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=wavelog/wavelog&type=date&legend=top-left&sealed_token=iL83440cfP1r51cWS7LaQp9k39fQvc8LQSp-CNzW_xZ_tPn7OWTCtPdVm19udzG44Hwzb1wdaLgUVi3T2dxq9tereqmhIUdKi4IEEPHSbTMWxHYIqOEcz6ToZIZaU1R8o-psEVQEaT1V2zcQkgul4Khc9SVIoifhfvxCWKhhMj0oGkOfhc2yimF5RV7a" />
   <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=wavelog/wavelog&type=date&legend=top-left&sealed_token=iL83440cfP1r51cWS7LaQp9k39fQvc8LQSp-CNzW_xZ_tPn7OWTCtPdVm19udzG44Hwzb1wdaLgUVi3T2dxq9tereqmhIUdKi4IEEPHSbTMWxHYIqOEcz6ToZIZaU1R8o-psEVQEaT1V2zcQkgul4Khc9SVIoifhfvxCWKhhMj0oGkOfhc2yimF5RV7a" />
 </picture>
</a>

---

<div align="center">
  <sub>Built with ❤️ by radio amateurs, for radio amateurs · <a href="https://github.com/wavelog/wavelog/blob/master/LICENSE">MIT Licensed</a></sub>
  <br>
  <sub>This project is free and will always be free. If you like it, tell it to your friends and spread the word!</sub>
  <br>
  <sub>73! 📻</sub>
</div>
