Anleitung: Wavelog mit Docker auf dem Mac installieren

Wavelog ist ein fantastisches, webbasiertes Logbuch für Funkamateure, das man selbst hosten kann. Die Installation kann aufwendig sein, aber mit Docker wird der Prozess planbar und sauber. Docker packt die Anwendung und ihre Datenbank in isolierte Container, ohne dein Mac-System zu «verschmutzen».

Alle die mich kennen wissen, ich liebe es neben dem Funkbetrieb Software zu testen. Ich habe mir Wavelog in Docker installiert um es testen zu können.

Diese Anleitung führt dich Schritt für Schritt durch die Installation von Wavelog (der App) und MariaDB (der Datenbank) auf einem Mac mithilfe von docker-compose.

Contents

1. Voraussetzungen

Bevor du beginnst, stelle sicher, dass die folgende Software auf deinem Mac installiert ist und läuft:

  • Docker Desktop für Mac: Dies ist die Hauptanwendung, die Docker und das docker-compose-Tool bereitstellt. Du kannst es kostenlos von der offiziellen Docker-Website herunterladen.
  • Git: Wird benötigt, um den Wavelog-Quellcode zu klonen. Git ist oft schon auf macOS vorinstalliert, wenn du die «Xcode Command Line Tools» hast. Du kannst es im Terminal mit git --version prüfen.
  • Terminal: Du benötigst das macOS-Terminal (oder ein alternatives Terminal wie iTerm2), um die Befehle einzugeben.

2. Installationsschritte

Schritt 1: Projektordner erstellen

Wir erstellen einen zentralen Ordner, der alle unsere Konfigurationsdateien und den Wavelog-Code enthalten wird.

  1. Öffne das Terminal.
  2. Erstelle einen Ordner namens wavelog-docker (oder einen Namen deiner Wahl) und wechsle in dieses Verzeichnis:Bashmkdir wavelog-docker cd wavelog-docker

Schritt 2: Wavelog-Quellcode klonen

Diese Anleitung baut das Wavelog-Docker-Image direkt aus dem offiziellen Quellcode. Das gibt uns die Flexibilität, die benötigten PHP-Erweiterungen hinzuzufügen.

  • Klone das Wavelog-Repository in deinen Projektordner:Bashgit clone https://github.com/wavelog/wavelog.git Dies erstellt einen neuen Unterordner wavelog/ in deinem wavelog-docker-Verzeichnis.
Screenshot

Schritt 3: Dockerfile für Wavelog erstellen

Die Dockerfile ist das «Rezept», nach dem Docker das Wavelog-Image baut. Hier stellen wir sicher, dass alle Abhängigkeiten (wie php-gd für Grafiken) installiert werden.

  1. Erstelle die Dockerfile im wavelog-Unterordner:Bashnano wavelog/Dockerfile
  2. Kopiere den folgenden Inhalt vollständig in die Datei:Dockerfile# Startet mit dem offiziellen PHP 8.3 Image mit Apache-Server FROM php:8.3-apache # Installiere System-Abhängigkeiten und PHP-Erweiterungen RUN apt-get update \ && apt-get install -y git curl libxml2-dev libonig-dev libzip-dev \ libpng-dev libjpeg62-turbo-dev libfreetype6-dev libgd-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Konfiguriere und installiere die PHP-Erweiterungen RUN docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install mysqli mbstring xml zip gd # PHP-Upload-Einstellungen für QSL-Karten etc. anpassen RUN touch /usr/local/etc/php/conf.d/uploads.ini \ && echo "file_uploads = On" >> /usr/local/etc/php/conf.d/uploads.ini \ && echo "memory_limit = 256M" >> /usr/local/etc/php/conf.d/uploads.ini \ && echo "upload_max_filesize = 64M" >> /usr/local/etc/php/conf.d/uploads.ini \ && echo "post_max_size = 64M" >> /usr/local/etc/php/conf.d/uploads.ini \ && echo "max_execution_time = 600" >> /usr/local/etc/php/conf.d/uploads.ini
  3. Speichere und schließe die Datei (bei nano: Ctrl+O, Enter, dann Ctrl+X).

Schritt 4: docker-compose.yml erstellen

Die docker-compose.yml ist die «Dirigenten-Datei». Sie definiert, welche Container (App und DB) gestartet, wie sie vernetzt und welche Daten gespeichert werden sollen.

  1. Stelle sicher, dass du wieder im Hauptordner wavelog-docker bist (nicht im wavelog-Unterordner).
  2. Erstelle die docker-compose.yml-Datei:Bashnano docker-compose.yml
  3. Kopiere den folgenden Inhalt hinein:YAMLversion: '3' services: # Der Datenbank-Container (MariaDB) wavelog-db: image: mariadb:latest container_name: wavelog-mysql restart: unless-stopped environment: MARIADB_RANDOM_ROOT_PASSWORD: 'yes' MARIADB_DATABASE: wavelog MARIADB_USER: wavelog # ÄNDERE DIESES PASSWORT! MARIADB_PASSWORD: DEIN-SICHERES-PASSWORT volumes: - wavelog-dbdata:/var/lib/mysql # Der Wavelog-App-Container wavelog-main: container_name: wavelog-main restart: unless-stopped # Sagt Docker, das Image aus dem 'wavelog'-Ordner # mit unserer 'Dockerfile' zu bauen build: context: ./wavelog/ ports: # Mappt Port 8086 deines Macs auf Port 80 im Container - "8086:80" depends_on: - wavelog-db volumes: # Hängt den Quellcode direkt ein (erleichtert Updates) - ./wavelog:/var/www/html # Persistente Volumes für wichtige Daten - wavelog-backup:/var/www/html/application/backup - wavelog-uploads:/var/www/html/application/uploads # Definition der persistenten Volumes volumes: wavelog-dbdata: wavelog-backup: wavelog-uploads:

WICHTIG: Ersetze DEIN-SICHERES-PASSWORT in der docker-compose.yml (Zeile 14) durch ein starkes, eigenes Passwort.

Schritt 5: Container starten und Wavelog bauen

Jetzt sind alle Konfigurationen abgeschlossen.

  1. Stelle sicher, dass Docker Desktop läuft.
  2. Führe im Terminal (im Hauptordner wavelog-docker) folgenden Befehl aus:Bashdocker compose up -d --build
    • up: Startet die Container.
    • -d: Startet im «Detached-Modus» (im Hintergrund).
    • --build: Erzwingt den Bau des Wavelog-Images basierend auf unserer Dockerfile.

Der erste Start wird einige Minuten dauern, da das MariaDB-Image heruntergeladen und dein Wavelog-Image (inkl. aller PHP-Erweiterungen) gebaut werden muss.

3. Wavelog im Browser einrichten

Screenshot

Sobald das Terminal meldet, dass die Container «done» oder «healthy» sind, kannst du die Installation im Webbrowser abschließen.

  1. Öffne deinen Browser (z.B. Safari oder Chrome) und gehe zu: http://localhost:8086
  2. Du solltest den Wavelog-Installations-Assistenten sehen.
  3. Gib im Datenbank-Setup-Schritt die folgenden Details ein:
    • Hostname: wavelog-db (Dies ist der Name des Datenbank-Dienstes aus der docker-compose.yml)
    • Database Name: wavelog
    • Username: wavelog
    • Password: Das sichere Passwort, das du in der docker-compose.yml festgelegt hast.
  4. Klicke auf «Test Connection» und fahre mit der Installation fort, um deinen Admin-Account zu erstellen.

Fertig! Deine Wavelog-Instanz läuft nun vollständig in Docker auf deinem Mac.

Screenshot

4. Nützliche Docker-Befehle (Verwaltung)

Du verwaltest deine Wavelog-Instanz über das Terminal, indem du die Befehle im wavelog-docker-Ordner ausführst.

  • So stoppst du Wavelog (App und DB):Bashdocker compose down (Deine Daten bleiben in den Volumes erhalten.)
  • So startest du Wavelog (App und DB) erneut:Bashdocker compose up -d
  • So aktualisierst du Wavelog auf die neueste Version: Da wir den Quellcode direkt eingebunden haben, ist das Update einfach:Bash# 1. Gehe in den Wavelog-Code-Ordner cd wavelog # 2. Hole den neuesten Code von GitHub git pull # 3. Gehe zurück in den Hauptordner cd .. # 4. Baue das Image neu (falls sich PHP-Abhängigkeiten geändert haben) # und starte die Container neu. docker compose up -d --build

Import ADIF mit fast 9000 Einträgen

Screenshot

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert