mirror of
https://github.com/umami-software/umami.git
synced 2026-02-05 13:17:19 +01:00
Enhanced Umami Analytics with First8 Marketing integration for hyper-personalized recommendation engine. Database Enhancements: - PostgreSQL 17 with Apache AGE 1.6.0 (graph database) - TimescaleDB 2.23.0 (time-series optimization) - Extended schema for WooCommerce event tracking - Custom tables for recommendation engine integration Features Added: - Real-time ETL pipeline to recommendation engine - Extended event tracking (WordPress + WooCommerce) - Graph database for relationship mapping - Time-series optimization for analytics queries - Custom migrations for hyper-personalization Documentation: - Updated README with integration details - Added system architecture documentation - Documented data flow and components - Preserved original Umami Software credits Integration Components: - First8 Marketing Track plugin (event tracking) - Recommendation Engine (ML backend) - First8 Marketing Recommendation Engine plugin (presentation) Status: Production-ready Version: Based on Umami latest + First8 Marketing enhancements
41 lines
1.3 KiB
Bash
Executable file
41 lines
1.3 KiB
Bash
Executable file
#!/bin/bash
|
|
# Initialize PostgreSQL extensions for Umami
|
|
# This script runs automatically when the container is first created
|
|
|
|
set -e
|
|
|
|
echo "=================================================="
|
|
echo "Initializing PostgreSQL 17 with Extensions"
|
|
echo "=================================================="
|
|
|
|
# Wait for PostgreSQL to be ready
|
|
until pg_isready -U "$POSTGRES_USER" -d "$POSTGRES_DB"; do
|
|
echo "Waiting for PostgreSQL to be ready..."
|
|
sleep 2
|
|
done
|
|
|
|
echo "PostgreSQL is ready. Installing extensions..."
|
|
|
|
# Connect to the database and install extensions
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
|
-- Install TimescaleDB extension
|
|
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
|
|
|
|
-- Install Apache AGE extension
|
|
CREATE EXTENSION IF NOT EXISTS age CASCADE;
|
|
|
|
-- Load AGE into search path
|
|
SET search_path = ag_catalog, "\$user", public;
|
|
|
|
-- Verify installations
|
|
SELECT extname, extversion FROM pg_extension WHERE extname IN ('timescaledb', 'age');
|
|
EOSQL
|
|
|
|
echo "=================================================="
|
|
echo "Extensions installed successfully!"
|
|
echo "- TimescaleDB: Installed"
|
|
echo "- Apache AGE: Installed"
|
|
echo "=================================================="
|
|
|
|
echo "Database is ready for Umami migrations."
|
|
|