--- title: Moving from Cloudlog to Wavelog 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 - computerstuff tags: - cloudlog - wavelog - selfhost - draft_post # showBreadcrumbs: true # showDate: false # showReadingTime: false # showWordCount: false # showPagination: false # feed_exclude: true # site_exclude: true # some help # # highlighting with highlights # # use table, as inline creates a padding around # and it pushes the text more to the right side (end of screen) # # ~~~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 DATABASE wavelog; CREATE USER 'wavelog'@'localhost' IDENTIFIED BY '${PASSWORD}'; GRANT ALL PRIVILEGES ON wavelog.* TO 'wavelog'@'localhost'; FLUSH PRIVILEGES; ~~~ ## Get the ADIF files from Cloudlog Choose ADIF Import / Export from the user menu and also select the ADIF Export 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 Mark imported QSOs as uploaded to LoTW when I imported my logs. ## 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. I can successfully see [CloudlogOffline](https://apps.apple.com/gb/app/cloudlogoffline/id1528219213) connecting to my webserver, but the test button never turns green -- I also can't upload logs from within the app so I guess the compatibility is broken there. That will make me move back to my favourite iOS app for logging: [RUMlog2Go for iPhone][1]. [1]: https://itunes.apple.com/us/app/rumlog/id639388223?l=de&ls=1&mt=8https://itunes.apple.com/de/app/rumlogng2go/id1005575164?mt=8 To upload the logs just export as adif, self-email and import. It's not the "syncing" way but it is still acceptable in my opinion.