Spaces:
Running
Running
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
|