#!/usr/bin/env bash set -euox pipefail UPSTREAM_VER="1.2.43" a2enmod rewrite cd /tmp wget "https://github.com/kanboard/kanboard/archive/refs/tags/v${UPSTREAM_VER}.zip" unzip "v${UPSTREAM_VER}.zip" -d /var/www mv /var/www/kanboard-* /var/www/kanboard chown -R www-data: /var/www/kanboard chmod -R 775 /var/www/kanboard chmod -R 770 /var/www/kanboard/data cat << EOT > /etc/apache2/sites-available/kanboard.conf DocumentRoot /var/www/kanboard AllowOverride FileInfo Options=All,MultiViews AuthConfig Options FollowSymLinks Require all granted Require all denied EOT # Enable the site a2ensite kanboard.conf a2dissite 000-default.conf apache2ctl configtest || echo "Apache2 config failed!" systemctl restart apache2 CRON_FILE="/etc/cron.d/kanboard" KANBOARD_PATH="/var/www/kanboard" USER="www-data" # Cron job line (must include the user!) CRON_JOB="0 8 * * * $USER cd $KANBOARD_PATH && ./cli cronjob >/dev/null 2>&1" # Write the cron job to the file echo "# Kanboard daily cronjob" > "$CRON_FILE" echo "$CRON_JOB" >> "$CRON_FILE" # Set proper permissions chmod 644 "$CRON_FILE" chown root:root "$CRON_FILE" # Verify echo "✅ Cron job installed in $CRON_FILE:" cat "$CRON_FILE"