remove cloudlog, install wavelog

This commit is contained in:
David Young
2026-04-13 15:06:22 -06:00
parent e7d1d138e9
commit 8019e939d4
3 changed files with 58 additions and 50 deletions

View File

@@ -153,56 +153,6 @@ elif ! grep -q '^LoadModule mpm_prefork_module' /etc/httpd/conf/httpd.conf; then
printf 'LoadModule mpm_prefork_module modules/mod_mpm_prefork.so\n' | sudo tee -a /etc/httpd/conf/httpd.conf > /dev/null printf 'LoadModule mpm_prefork_module modules/mod_mpm_prefork.so\n' | sudo tee -a /etc/httpd/conf/httpd.conf > /dev/null
fi fi
# Install Cloudlog
CLOUDLOG_DIR="/srv/http/cloudlog"
CLOUDLOG_DB="cloudlog"
CLOUDLOG_DB_USER="cloudlog"
CLOUDLOG_DB_PASS="cloudlog"
install_cloudlog() {
local reinstall="${1:-false}"
echo "Installing Cloudlog..."
sudo rm -rf "$CLOUDLOG_DIR"
sudo git clone https://github.com/magicbug/Cloudlog.git "$CLOUDLOG_DIR"
# Set ownership and permissions (Arch Apache runs as 'http')
sudo chown -R http:http "$CLOUDLOG_DIR"
sudo chmod -R g+rw "$CLOUDLOG_DIR"
# Create MariaDB database and user
echo "Creating Cloudlog database..."
if [ "$reinstall" = "true" ]; then
sudo mariadb -u root <<EOF
DROP DATABASE IF EXISTS ${CLOUDLOG_DB};
DROP USER IF EXISTS '${CLOUDLOG_DB_USER}'@'localhost';
CREATE DATABASE ${CLOUDLOG_DB};
CREATE USER '${CLOUDLOG_DB_USER}'@'localhost' IDENTIFIED BY '${CLOUDLOG_DB_PASS}';
GRANT ALL PRIVILEGES ON ${CLOUDLOG_DB}.* TO '${CLOUDLOG_DB_USER}'@'localhost';
FLUSH PRIVILEGES;
EOF
else
sudo mariadb -u root <<EOF
CREATE DATABASE IF NOT EXISTS ${CLOUDLOG_DB};
CREATE USER IF NOT EXISTS '${CLOUDLOG_DB_USER}'@'localhost' IDENTIFIED BY '${CLOUDLOG_DB_PASS}';
GRANT ALL PRIVILEGES ON ${CLOUDLOG_DB}.* TO '${CLOUDLOG_DB_USER}'@'localhost';
FLUSH PRIVILEGES;
EOF
fi
sudo systemctl restart httpd
echo "Cloudlog installed. Complete setup by visiting http://localhost/cloudlog/install"
}
if [ ! -d "$CLOUDLOG_DIR" ]; then
install_cloudlog
else
read -rp "Cloudlog is already installed. Re-install? [y/N] " response </dev/tty
case "$response" in
[yY][eE][sS]|[yY]) install_cloudlog true ;;
*) echo "Cloudlog installation skipped." ;;
esac
fi
# Install Cockpit # Install Cockpit
if ! pacman -Qi cockpit &> /dev/null; then if ! pacman -Qi cockpit &> /dev/null; then
echo "Installing Cockpit..." echo "Installing Cockpit..."
@@ -213,6 +163,24 @@ else
echo "Cockpit is already installed, skipping." echo "Cockpit is already installed, skipping."
fi fi
# Install Wavelog
WAVELOG_DIR="$HOME/.local/bin/wavelog"
if [ ! -d "$WAVELOG_DIR" ]; then
echo "Installing Wavelog..."
mkdir -p "$WAVELOG_DIR"
cp "$HOME/.local/share/HamPackServer/wavelog/docker-compose.yaml" "$WAVELOG_DIR/docker-compose.yaml"
WAVELOG_DB_PASS=$(openssl rand -base64 32 | tr -d '=/+' | cut -c1-24)
sed -i "s|MARIADB_PASSWORD: wavelog # <- Insert a strong password here|MARIADB_PASSWORD: ${WAVELOG_DB_PASS}|" "$WAVELOG_DIR/docker-compose.yaml"
docker compose -f "$WAVELOG_DIR/docker-compose.yaml" up -d
echo "Wavelog installed. Access it at http://localhost:8086"
else
echo "Wavelog is already installed, skipping."
fi
# Install openhamclock # Install openhamclock
echo "Installing openhamclock..." echo "Installing openhamclock..."
@@ -238,6 +206,11 @@ if [ "$INSTALL_SUCCESS" = true ]; then
else else
echo "HamPackServer installation completed with errors. Please review the output above." echo "HamPackServer installation completed with errors. Please review the output above."
fi fi
if [ -n "$WAVELOG_DB_PASS" ]; then
echo ""
echo "Wavelog database password: $WAVELOG_DB_PASS. Please save this."
echo "(also stored in $WAVELOG_DIR/docker-compose.yaml)"
fi
echo "" echo ""
read -rp "A reboot is required to complete setup. Reboot now? [y/N] " response </dev/tty read -rp "A reboot is required to complete setup. Reboot now? [y/N] " response </dev/tty
case "$response" in case "$response" in

View File

@@ -9,6 +9,8 @@ UTILITIES=(
alsa-lib alsa-lib
cmake cmake
curl curl
docker
docker-compose
gpsd gpsd
hamlib hamlib
libx11 libx11

View File

@@ -0,0 +1,33 @@
services:
wavelog-db:
image: mariadb:11.8
container_name: wavelog-db
environment:
MARIADB_RANDOM_ROOT_PASSWORD: yes
MARIADB_DATABASE: wavelog
MARIADB_USER: wavelog
MARIADB_PASSWORD: wavelog # <- Insert a strong password here
volumes:
- wavelog-dbdata:/var/lib/mysql
restart: unless-stopped
wavelog-main:
container_name: wavelog-main
image: ghcr.io/wavelog/wavelog:latest
depends_on:
- wavelog-db
environment:
CI_ENV: docker
volumes:
- wavelog-config:/var/www/html/application/config/docker
- wavelog-uploads:/var/www/html/uploads
- wavelog-userdata:/var/www/html/userdata
ports:
- "8086:80"
restart: unless-stopped
volumes:
wavelog-dbdata:
wavelog-uploads:
wavelog-userdata:
wavelog-config: