File size: 1,767 Bytes
b331303
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
# =============================================================================
# n8n Startup Script for Hugging Face Spaces
# =============================================================================

set -e

echo "=========================================="
echo "n8n Startup Script"
echo "=========================================="

# Create data directory for persistent storage
mkdir -p /data/.n8n
echo "Data directory: /data/.n8n"

# Wait for database to be ready (Supabase)
echo "Checking database connectivity..."
MAX_DB_RETRIES=30
DB_RETRY_INTERVAL=5

for i in $(seq 1 $MAX_DB_RETRIES); do
    if pg_isready -h "$DB_POSTGRESDB_HOST" -p "$DB_POSTGRESDB_PORT" -U "$DB_POSTGRESDB_USER" -d "$DB_POSTGRESDB_DATABASE" 2>/dev/null; then
        echo "Database is ready!"
        break
    fi

    if [ $i -eq $MAX_DB_RETRIES ]; then
        echo "Warning: Could not verify database connection after $MAX_DB_RETRIES attempts"
        echo "Proceeding anyway - n8n will retry connection on startup"
    else
        echo "Waiting for database... attempt $i/$MAX_DB_RETRIES"
        sleep $DB_RETRY_INTERVAL
    fi
done

# Start the database keep-alive process in background
echo "Starting database keep-alive process..."
/home/node/app/db-keepalive.sh &

# Log configuration (without exposing secrets)
echo ""
echo "Configuration:"
echo "  - Port: $N8N_PORT"
echo "  - Protocol: $N8N_PROTOCOL"
echo "  - Timezone: $GENERIC_TIMEZONE"
echo "  - Database Type: ${DB_TYPE:-not set}"
echo "  - Database Host: ${DB_POSTGRESDB_HOST:-not set}"
echo "  - Metrics Enabled: $N8N_METRICS"
echo "  - Health Check Active: $QUEUE_HEALTH_CHECK_ACTIVE"
echo "  - Basic Auth: ${N8N_BASIC_AUTH_ACTIVE:-false}"
echo ""

# Start n8n
echo "Starting n8n..."
exec n8n start