File size: 2,448 Bytes
79becd2 6ff9480 94f1533 79becd2 6ff9480 79becd2 94f1533 de5b0e9 94f1533 77a2880 94f1533 5266caf 79becd2 a603a7e fd3f2e6 94f1533 79becd2 0a550c0 5266caf 0a550c0 79becd2 94f1533 5266caf 79becd2 5266caf 79becd2 f7ed979 f002194 f7ed979 f002194 f7ed979 79becd2 f7ed979 |
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 57 58 59 60 61 62 63 64 65 66 67 68 69 |
#!/bin/sh
# Create necessary directories in the persistent /data volume
echo "Creating necessary directories in the persistent /data volume..."
mkdir -p /data/postgresql/data /data/postgresql/run
chmod 0700 /data/postgresql/data
chmod 0755 /data/postgresql/run
# Initialize PostgreSQL if not already initialized
echo "Initializing PostgreSQL if not already initialized..."
if [ ! -f "/data/postgresql/data/PG_VERSION" ]; then
# Initialize database
echo "Initializing database..."
initdb -D /data/postgresql/data
# Modify pg_hba.conf to allow local connections
echo "local all all trust" > /data/postgresql/data/pg_hba.conf
echo "host all all 127.0.0.1/32 trust" >> /data/postgresql/data/pg_hba.conf
echo "host all all 0.0.0.0/0 trust" >> /data/postgresql/data/pg_hba.conf
fi
# Start PostgreSQL with the persistent directories
echo "Starting PostgreSQL..."
# First, check if there's a postmaster.pid file and remove it if the process isn't running
if [ -f "/data/postgresql/data/postmaster.pid" ]; then
pid=$(cat /data/postgresql/data/postmaster.pid | head -1)
if ! kill -0 "$pid" 2>/dev/null; then
echo "Removing stale PID file..."
rm /data/postgresql/data/postmaster.pid
fi
fi
pg_ctl -D /data/postgresql/data -o "-c listen_addresses='*' -c unix_socket_directories='/data/postgresql/run'" start
# Create the 'node' database if it doesn't exist
echo "Creating 'node' database if it doesn't exist..."
createdb -h localhost node || true
# Wait for PostgreSQL to be ready
echo "Waiting for PostgreSQL to be ready..."
until pg_isready -h localhost; do
echo "Waiting for PostgreSQL to be ready..."
sleep 1
done
# Update DATABASE_URL to use TCP connection instead of Unix socket
export DATABASE_URL="postgresql://postgres:postgres@localhost:5432/node"
# Debug network information
echo "Network Debug Information:"
echo "-------------------------"
ip addr show
echo "-------------------------"
netstat -tulpn
echo "-------------------------"
# Set NEXTAUTH_URL based on SPACE_ID if available
if [ -n "$SPACE_ID" ]; then
echo "Setting NEXTAUTH_URL to https://${SPACE_ID}.hf.space"
export NEXTAUTH_URL="https://${SPACE_ID}.hf.space"
else
echo "WARNING: SPACE_ID not found"
fi
# Maybe we need to bind to 0.0.0.0 explicitly
export HOSTNAME="0.0.0.0"
# Run the original entrypoint script
./web/entrypoint.sh node ./web/server.js --keepAliveTimeout 110000 --hostname 0.0.0.0 |