|
|
|
@ -1,12 +1,17 @@
|
|
|
|
|
---
|
|
|
|
|
title: Moving from Cloudlog to Wavelog
|
|
|
|
|
summary:
|
|
|
|
|
date: 2024-06-23T11:44:28+02:00
|
|
|
|
|
# lastmod: 2024-01-10T16:44:35+0000
|
|
|
|
|
summary: >
|
|
|
|
|
I finally made the hop from Cloudlog to Wavelog and I don't regret it so far.
|
|
|
|
|
date: 2024-06-30T22:56:16+0200
|
|
|
|
|
# lastmod:
|
|
|
|
|
categories:
|
|
|
|
|
- amateur-radio
|
|
|
|
|
- amateur-radio
|
|
|
|
|
- computerstuff
|
|
|
|
|
tags:
|
|
|
|
|
- draft_post
|
|
|
|
|
- cloudlog
|
|
|
|
|
- wavelog
|
|
|
|
|
- selfhost
|
|
|
|
|
- draft_post
|
|
|
|
|
|
|
|
|
|
# showBreadcrumbs: true
|
|
|
|
|
# showDate: false
|
|
|
|
@ -26,15 +31,109 @@ tags:
|
|
|
|
|
#
|
|
|
|
|
# ~~~html {linenos=table,hl_lines="3-6"}
|
|
|
|
|
# ~~~html {linenos=inline,hl_lines="1,3-6"}
|
|
|
|
|
#
|
|
|
|
|
# TODO more technical explanations maybe on how to finally get it to work and some
|
|
|
|
|
# screenshot might be worth adding... maybe...
|
|
|
|
|
|
|
|
|
|
draft: true
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Set up the database
|
|
|
|
|
|
|
|
|
|
I'm going to use MySQL as the database type and I create a new user and database for it:
|
|
|
|
|
|
|
|
|
|
~~~mysql
|
|
|
|
|
CREATE USER 'wlog'@'localhost' IDENTIFIED BY '${PASSWORD}';
|
|
|
|
|
CREATE DATABASE wavelog;
|
|
|
|
|
GRANT ALL PRIVILEGES ON wavelog.* TO 'wlog'@'localhost';
|
|
|
|
|
FLUSH PRIVILEGES;
|
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
## Get the ADIF files from Cloudlog
|
|
|
|
|
|
|
|
|
|
Choose <kbd>ADIF Import / Export</kbd> from the user menu and also select the
|
|
|
|
|
<kbd>ADIF Export</kbd> tab.
|
|
|
|
|
|
|
|
|
|
Choose the callsign and download the ADIF file. We will import these later in our
|
|
|
|
|
Wavelog installation.
|
|
|
|
|
|
|
|
|
|
## Install Wavelog
|
|
|
|
|
|
|
|
|
|
Clone the git repository to your webroot and [adjust file permissions as stated
|
|
|
|
|
in the wiki](https://github.com/wavelog/Wavelog/wiki/Installation#2-download-wavelog-using-git).
|
|
|
|
|
|
|
|
|
|
For future upgrades I modify the update script and save it as another file just to
|
|
|
|
|
not interrupt the update procedure.
|
|
|
|
|
|
|
|
|
|
~~~patch
|
|
|
|
|
--- update_wavelog.sh 2024-06-23 15:08:15.138250067 +0200
|
|
|
|
|
+++ update2.sh 2024-06-23 15:13:02.786807949 +0200
|
|
|
|
|
@@ -8,7 +8,7 @@
|
|
|
|
|
# appropriately set for your system!
|
|
|
|
|
|
|
|
|
|
# The user and group that own the WAVELOG_SUBDIR directories. Passed to 'chown' as-is.
|
|
|
|
|
-DIR_OWNERSHIP="root:www-data"
|
|
|
|
|
+DIR_OWNERSHIP="http:http"
|
|
|
|
|
# The list of directories that need to have ownership restored after a git pull
|
|
|
|
|
declare -a WAVELOG_SUBDIRS=("application/config" "assets" "backup" "updates" "uploads" "images/eqsl_card_images" "userdata")
|
|
|
|
|
# The name of the Git remote to fetch/pull from
|
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
So my file permissions look like this:
|
|
|
|
|
|
|
|
|
|
~~~console
|
|
|
|
|
$ ls -la . master d846bc
|
|
|
|
|
insgesamt 88
|
|
|
|
|
drwxr-xr-x 1 root http 490 30. Jun 20:00 ./
|
|
|
|
|
drwxr-xr-x 1 root root 92 25. Jun 05:49 ../
|
|
|
|
|
drwxr-xr-x 1 root http 220 19. Mai 16:17 application/
|
|
|
|
|
drwxr-xr-x 1 http http 156 23. Jun 15:08 assets/
|
|
|
|
|
drwxr-xr-x 1 http http 162 23. Jun 20:20 backup/
|
|
|
|
|
drwxr-xr-x 1 root http 176 23. Jun 15:13 .git/
|
|
|
|
|
drwxr-xr-x 1 root http 46 19. Mai 16:17 .github/
|
|
|
|
|
drwxr-xr-x 1 root http 268 19. Mai 16:17 images/
|
|
|
|
|
drwxr-xr-x 1 root http 58 19. Mai 16:17 install/
|
|
|
|
|
drwxr-xr-x 1 root http 58 19. Mai 16:17 src/
|
|
|
|
|
drwxr-xr-x 1 root http 120 19. Mai 16:17 system/
|
|
|
|
|
drwxr-xr-x 1 http http 140 23. Jun 20:19 updates/
|
|
|
|
|
drwxr-xr-x 1 http http 20 23. Jun 20:57 uploads/
|
|
|
|
|
drwxr-xr-x 1 http http 12 23. Jun 15:13 userdata/
|
|
|
|
|
-rw-r--r-- 1 root http 1851 23. Jun 15:08 Dockerfile
|
|
|
|
|
-rw-r--r-- 1 root http 24 19. Mai 16:17 .dockerignore
|
|
|
|
|
-rw-r--r-- 1 root http 670 19. Mai 16:17 .editorconfig
|
|
|
|
|
-rw-r--r-- 1 root http 15406 19. Mai 16:17 favicon.ico
|
|
|
|
|
-rw-r--r-- 1 root http 404 19. Mai 16:17 .gitignore
|
|
|
|
|
-rw-r--r-- 1 root root 499 23. Jun 15:14 .htaccess
|
|
|
|
|
-rw-r--r-- 1 root http 499 23. Jun 15:08 htaccess.sample
|
|
|
|
|
-rw-r--r-- 1 root http 11041 19. Mai 16:17 index.php
|
|
|
|
|
-rw-r--r-- 1 root http 1122 19. Mai 16:17 LICENSE
|
|
|
|
|
-rw-r--r-- 1 root http 12009 19. Mai 16:17 manifest.json
|
|
|
|
|
-rw-r--r-- 1 root http 2507 19. Mai 16:17 README.md
|
|
|
|
|
-rw-r--r-- 1 root http 86 19. Mai 16:17 robots.txt
|
|
|
|
|
-rw-r--r-- 1 root http 247 19. Mai 16:17 SECURITY.md
|
|
|
|
|
-rwxr-xr-x 1 root http 2413 23. Jun 15:13 update2.sh*
|
|
|
|
|
-rw-r--r-- 1 root http 2417 23. Jun 15:08 update_wavelog.sh
|
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
Visit the configured website and go through the installation process by
|
|
|
|
|
following the instructions. You may have to edit `/etc/php/php.ini` (or similar)
|
|
|
|
|
to allow more memory to be used by the PHP processes and so on...
|
|
|
|
|
|
|
|
|
|
## Station setup
|
|
|
|
|
|
|
|
|
|
Now create the stations and locations that you want to use (usually the same as
|
|
|
|
|
in the Cloudlog instance) and start importing the previously downloaded ADIF files.
|
|
|
|
|
|
|
|
|
|
As I have already uploaded my older logs to LOTW I checked
|
|
|
|
|
<kbd>Mark imported QSOs as uploaded to LoTW</kbd> when I imported my logs.
|
|
|
|
|
|
|
|
|
|
CREATE USER 'wlog'@'localhost' IDENTIFIED BY '8d7ft42B3NidBX9u';
|
|
|
|
|
## Third party tools
|
|
|
|
|
|
|
|
|
|
I do like [WavelogGate](https://github.com/wavelog/WaveLogGate) already but haven't had the
|
|
|
|
|
chance to test it out in the field yet.
|
|
|
|
|
|
|
|
|
|
https://github.com/emics/FlrigToCloudlog
|
|
|
|
|
https://github.com/wavelog/WaveLogGate/releases
|
|
|
|
|
Also [CloudlogOffline](https://apps.apple.com/gb/app/cloudlogoffline/id1528219213) should be
|
|
|
|
|
compatible with Wavelog as well
|
|
|
|
|
([also for Android phones](https://play.google.com/store/apps/details?id=de.webappjung.CloudLogOffline&hl=en_US&pli=1)).
|
|
|
|
|
|
|
|
|
|